Accueil

Sauvegarder et restaurer le Master Boot Record

Par Wedge.

Sommaire

Là où Grub nous vient en aide

Le fichier /boot/grub/menu.lst (fichier de configuration de Grub) nous apprend quelque chose de très intéressant dans les premières lignes de commentaire (il faut toujours lire les commentaires !! ;-)).

# The backup copy of the MBR for drive '/dev/sda' is
# here '/boot/grub/mbr.sda.7043'.  You can restore it like this.
# dd if=mbr.sda.7043 of=/dev/sda bs=512 count=1

Littéralement:

La copie de sauvegarde du MBR pour le disque /dev/sda se trouve: /boot/grub/mbr.sda.7043
Vous pouvez restaurer le MBR comme ceci: dd if=mbr.sda.7043 of=/dev/sda bs=512 count=1

Le trésor caché !

Et à l'intérieur de tout ça, une information cachée !!

Eh oui, la commande dd est une commande de copie "bit à bit" qui prend un fichier en entrée (if=), un fichier en sortie (of=) et des paramètres spécifiques (au besoin, ici bs=512 count=1).

Mais si on "inverse" cette commande, c'est à dire qu'on prend le fichier of= à la place du if= et qu'on met un of=/fichier/qu/on/veut, alors ... alors il se passe exactement l'inverse de la commande de restauration ! On fait une sauvegarde :-).

Application pratique

[wedge@chimaera ~]$ dd if=/dev/sda of=mbr.sda bs=512 count=1
1+0 enregistrements lus
1+0 enregistrements écrits
512 bytes (512 B) copied, 5,6983e-05 s, 9,0 MB/s

Le fichier mbr.sda se trouve dans mon répertoire personnel, et la sortie de la commande dd nous dit que celui-ci fait 512 octets, ce qui correspond exactement à la taille du MBR.
Regardons maintenant ce que c'est que ce fichier:

[wedge@chimaera ~]$ file mbr.sda
mbr.sda: x86 boot sector, LInux i386 boot LOader; partition 2: ID=0x83, starthead 254, startsector 20000925, 20000925 sectors; partition 3: ID=0x5, starthead 254, startsector 40001850, 350715015 sectors, code offset 0x48

Pas de panique !
Il s'agit bel et bien de votre MBR contenant Grub, même s'il est indiqué "LInux i386 boot LOader" (qui correspondrait plus à LILO ...).

Et voila, si jamais vous aviez perdu le fichier fourni par Grub dans /boot/grub, vous l'avez retrouvé !

Et si jamais, suite à une installation sauvage d'un autre système d'exploitation fenestrophile (Windows©® le mal nommé :-D), vous aviez totalement perdu votre Grub, il vous suffirait de booter sur un livecd (SlaX par exemple), de vous placer dans le répertoire dans lequel se trouve votre sauvegarde et de lancer la commande de restauration vue quelques lignes plus haut ... et voila !

Infos utiles

Attention toutefois, pensez à remplacer sda par l'identifiant du disque sur lequel est installé Grub, voici les plus courants:

- hda (disque IDE maître)
- hdb (disque IDE slave)
- sda (disque SCSI ou SATA maître)
- sdb (disque SCSI ou SATA slave)

Amusez vous bien et à bientôt sur Slackware-fr !

Thèmes : #administration #trucs #wedge

Sauf indication contraire, ce document est placé sous licence CC-BY-SA 3.0.