Probleme avec le MBR

Bonjour,
à partir d’un livecd, j’ai lancé sur un ordinateur la commande suivante

dd if=/dev/sda bs=512 count=1 of=/dev/sda skip=1024

pensant faire une copie du MBR dans une zone non utilisée du disque dur.
Plus tard, ayant un doute j’ai voulu restaurer ce MBR en faisant:

dd if=/dev/sda skip=1024 count=512 of=/dev/sda

Et la c’est le drame: plus rien
1- Quelle erreur ai-je fais ?
2- Comment me sortir de ce petrin ?
Merci d’avance de votre aide

Bonjour,

Je ne suis pas spécialise, mais je dirais qu’il faut utiliser seek à la place de skip dans la première commande. Et puis, dans le doute, j’utiliserais bs=512 count=1 dans les deux commande.

Ce qui donne, pour la sauvegarde :

Et pour la restauration :

(a faire confirmer par un expert)

(mais je ne vois pas trop l’intérêt se sauver le MBR en le copiant à un endroit pifomètrique du même disque)

Plus d’une erreur, plusieurs erreurs.

Utiliser la source (if=input file) en tant que destination (of=output file).
if=of, source=destination.
Liège-Bastogne-Liège, course cycliste, t’as décidé de gagner la course Liège-Liège sans passer par Bastogne, faire du surplace en quelque sorte…

Ne pas utiliser un fichier en sortie (of=fichier) mais le périphérique
if=/dev/sda of=/dev/sda

Tu as recopié sur /dev/sda ce qui provenait de lui même.
Non content de faire une sauvegarde fantôme, tu as saboté le disque à cause des options skip = omettre et count=multiplier qui demandent à ce qu’on les renseigne en connaissance de cause.
Skip, tu omet le début des données.
Count (je n’ai pas dit cunt ), tu sauvegardes 1 et tu restaures 512. Jesus Christ, le miracle de la multiplication des pains .
Les valeurs à renseigner t’ont été données par P’tit g :

dd if=/dev/sda of=fichier-MBR bs=512 count=1

La restauration est à l’avenant de la “sauvegarde” , inopérante, sabotage en règle. Le mal était de toutes façons déjà fait avant restauration.

Testdisk

Salut,

Super Grub Disk Live CD est très pratique pour ce genre de problème. Il est fait pour réparer Grub (legacy ou Grub-2/PC) et le réinstaller sur le MBR.

Ok merci pour la leçon …
L’idée de faire une copie du mbr sur une zone inutilisée du disque, c’était simplement pour ne pas avoir à chercher la sauvegarde en cas de besoin.
Ceci dit ce que tu dis est inexact, j’ai refait le test sur un disque de test

dd if=/dev/sda bs=512 count=1 of=/dev/sda seek=1024 bs=512 count=1

puis

dd if=/dev/sda seek=1024 bs=512 count=1 of=/dev/sda

et je retrouve ma table des partitions nickel.
Merci à p’tit G pour seek
Et merci pour testdisk ça m’a sauvé

Tu l’as retrouvée intacte parce que ce n’est pas la table des partitions que tu
as sauvegardée et restaurée mais les données qui se trouvent au-delà du 1024ème bloc en vertu de seek.
La sauvegarde/restauration que tu as faite ne debute pas au bloc 0, elle débute au delà du 1024ème bloc à la copie et à la restauration.

$ man dd

       seek=BLOCKS
              skip BLOCKS obs-sized blocks at start of output

       skip=BLOCKS
              skip BLOCKS ibs-sized blocks at start of input

Ce que tu omets à la sauvegarde = input = skip
Ce que tu omets à la restauration = output = seek

Ce qui doit se “skipper” à la copie doit se “seeker” à la restauration.

Ok, je tacherai de m’en souvenir, ou au moins de commencer par lire la page de man correctement avant de commencer …
Bonne soirée

bjr
c’est mieux de sauvegarder le mbr dans un fichier afin de le transférer sur un autre support

dd if=/dev/sda of=~/mbr512.img bs=512 count=1

restauration:

dd if=~/mbr512.img of=/dev/sda bs=512 count=1

après avoir replacé le fichier dans le répertoire courant de la ligne de commande.