Sauvegarder le MBR sous Linux

Le MBR ou Master Boot Record est une zone située tout au début de votre disque dur. Celle-ci est très importante car elle contient la table des partitions. On y trouve également la routine d’amorçage dont le but est de charger le système d’exploitation.
D’un point de vue général, sauvegarder sa MBR ne présente pas vraiment d’intérêt. Sauf si vous avez l’intention d’effectuer des manipulations risquées sur votre disque dur ou d’installer un nouveau Boot Loader (Grub, Lilo…) par exemples.

Si vous souhaitez connaitre des astuces Linux, je vous conseille ce tutoriel : Astuces pratique sous Linux.

Qu’est-ce que le MBR, pourquoi le sauvegarder ?

Le MBR est le premier secteur du disque. On trouve aussi au début de chaque partition étendue un EBR qui est son équivalent pour décrire les partitions logiques emboitées.

Sauvegarder le MBR sous Linux

Le Master Boot Record, zone d’amorçage principale, est une zone de 512 octets découpés ainsi :

  • les 446 premiers octets sont le bootloader, code exécutable qui permet l’accès initial aux informations du disque ainsi que les messages d’erreur.
  • les 64 suivant contiennent l’arrangement de votre disque dur : la table des partitions (64 octets, soit 16 octets pour chacune des partitions primaires possibles)
  • et enfin deux octets « magiques » 55 AA signifiant que le secteur est amorçable.

Sauvegarder le MBR sous Linux

Lors du démarrage de l’ordinateur, le BIOS scrute successivement les différents périphériques à la recherche de cette signature pour charger le secteur en mémoire.

Dans certains cas (manipulation hasardeuse des partitions, extinction brutale lors d’un redimensionnement, virus de MBR attrapé avec un autre OS…) il arrive de perdre ces informations. Dans le meilleur des cas une ou plusieurs partitions sont inaccessibles. Dans le pire des cas le disque apparaît comme « non formaté ».

Il `suffit` alors d’écrire à nouveau ce MBR en lieu et place de celui qui est corrompu. Encore faut il en avoir fait une copie avant. Je vous proposons donc ici de sauvegarder le MBR au complet, et les commandes de restauration permettent de ne restaurer que le bootloader, que la table de partitions, ou tout le MBR.

Il est évident qu’un fichier de sauvegarde de ce type ne doit pas être conservé sur le disque qu’il faudrait « réparer », mais sur un autre support de sauvegarde (CD, clé USB, etc).

Sauvegarder le MBR sous Linux

1.Avant toute chose, il faut identifier votre disque, dans l’exemple ci-dessous le chemin est /dev/sda. Pour identifier vos disques taper la commande suivante :

sudo fdisk -l

Puis pour trouver le disque d’amorce regarder la colonne amorce, il doit y avoir le signe *.

Sauvegarder le MBR sous Linux

2. Saisissez dans un terminal la commande suivante qui va créer un fichier nommé mbr.dump dans votre dossier personnel

sudo dd if=/dev/sda of=mbr.dump bs=512 count=1

(Remplacer le chemin /dev/sda, par celui de votre installation)

Sauvegarder le MBR sous Linux

3.Copiez ce fichier sur votre support de stockage externe (disquette ou clé USB) ou envoyez-le-vous par courriel. L’important est d’en avoir une copie de sauvegarde à laquelle vous pourrez faire appel au besoin. Par défaut le fichier est enregistré dans vos dossiers personnels.

Sauvegarder le MBR sous Linux

Restaurer le MBR sous Linux

Attention, restaurer votre table de partition peut vous empêcher d’accéder à vos partitions si elles ont été modifiées après la sauvegarde du MBR.

Pour restaurer la MBR en cas de problème, c’est un peu moins simple car il faudra dans un premier temps démarrer sur un liveCD.

En fonction de la panne ou du besoin , vous avez le choix entre 3 procédures de restauration du MBR.

Une fois l’invite de commande à l’écran, il suffira de lancer ceci (toujours en adaptant le chemin de votre disque dur).

  • Pour restaurer le MBR sans restaurer la table de partition (par exemple si Windows a écrasé votre menu Grub), saisissez dans un terminal:
sudo dd if=~/mbr512.img of=/dev/sda bs=446 count=1

Restaurer le MBR sous Linux

  • Pour restaurer le MBR et la table de partition (par exemple en cas d’erreur lors du partitionnement du disque), saisissez dans un terminal:
sudo dd if=~/mbr512.img of=/dev/sda bs=512 count=1

Restaurer le MBR sous Linux

  • Pour ne restaurer que la table de partition (par exemple en cas d’erreur lors du partitionnement du disque et si l’on désire garder le bootloader que l’on a pu modifier), saisissez dans un terminal:
sudo dd if=~/mbr512.img of=/dev/sda bs=1 skip=446 count=66

Restaurer le MBR sous Linux

signature manuelle Guillaume

3 Potins

  1. Bonjour,

    As-tu essayer un formatage classique avec partition magique ou autre après ton formatage de bas niveau afin de recréer la structure de ton disque.

    Cordialement.

  2. bonjour,
    j’ai effectué un formatage de bas niveau sur un dd western digital de 500g.
    j’ai lancé le cd ubuntu 10.04 en live et ouvert un terminal dans lequel j’ai écrit la commande sudo dd if=~/mbr512.img of=/dev/sda bs=446 count=1

    ubuntu@ubuntu:~$ sudo dd if=/dev/sda of=mbr.dump bs=512 count=1
    1+0 records in
    1+0 records out
    512 bytes (512 B) copied, 0,000550427 s, 930 kB/s
    ubuntu@ubuntu:~$ sudo dd if=/mbr512.img of=/dev/sda bs=446 count=1
    dd: opening `/mbr512.img’: No such file or directory
    ubuntu@ubuntu:~$ ^C
    ubuntu@ubuntu:~$

    Puis-je m’en sortir par une manip avec un terminal?

    Sinon je cherche à graver un mbr pour booter dessus. Pourriez-vous m’indiquer un site où la procédure fonctionne car j’ai déjà tenté la manip deux fois et à chaque fois le cd ne me permet pas une réinstallation du mbr.

    Merci

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *