Master Boot Reccord MBR | GRUB

I► Nous allons voir dans cet article comment est structuré le MBR et surout comment le sauvegarder et le restaurer facilement ..

Le Master Boot Record est le 1er secteur du disque dur et fait 512 octets …
Le MBR date de 1983 et a été introduit avec IBM PC DOS 2.0

Limitations : MBR ne gère que les disques de 2To !

0

► GPT (GUID Partition Table) est la nouvelle norme qui remplace progressivement le MBR !
Les disques n’ont quasiment pas de limite en taille et on peut gérer au moins 128 partitions !

Pour partionner une unité de disue avec MBR il faut utiliser la commande fdisk ou cfdisk (interface améliorée)
cfdisk propose un formatage dos (mbr) ou gpt ou autres …
Pour partionner une unité de disue avec GPT il faut utiliser la commande gpt ou gdisk

► gpt /dev/sde | gdisk /dev/sde

La 1ère commande à saisir est o qui formatera l’unité avec gestion gpt !
Les aurres commandes sont similaires à fdisk !

1 ► Comment sauvegarder l’intégralité du MBR :

dd if=/dev/sda of=secteur_mbr bs=512 count=1
dd permet de lire ou d’écrire n’importe quel secteur d’un disque dur
mc -v /root/secteur_mbr permet de lire le fichier (F4 pour le lire en hexa)

midnight commander => très bon outil de gestion de fichiers en TTY !

dd if=/dev/zero of=/dev/sda bs=512 count=1 efface tout le mbr (zeroing)
► on peut redémarrer à ce moment là => le système plante

2 ► On va ensuite démarrer le système maintenant défaillant avec une clé USB Live :

On peut utiliser l’utilitaire LILI USB CREATOR pour créer une clé USB Bootable ..

Pour démarrer depuis la clé USB avec VirtualBox, il faut configurer VboxManager en ajoutant le device USB … comme indiqué ci-dessous

Soit en PowerShell soit en console DOS. ►Attention il faudra démarrer ces utilitaires en tant qu’administrateur (au bouton droit)

0

VBoxManage internalcommands createrawvmdk -filename C:\usb.vmdk -rawdisk \\.\PhysicalDrive1

PhysicalDrive1 correspond au chiffre indiqué dans le gestionnaire de disques windows

1

 ► Attention, il faudra également démarrer Virtual Box en tant qu’administrateur !

1

On peut ensuite en démarrant l’image appuyer sur F12 et choisir le second hard disk pour booter, l’OS est chargé en RAM , un cat de /proc/partitions nous montre les devices..Depuis une autre clé USB contenant le fichier mbr on peut restaurer le mbr et donc réparer le système.

Capture3

► On peut également démarrer le système avec une image ou cd ou clé d’une distri Debian en mode rescue et ensuite faire la même manipulation en montant une clé sur laquelle on aurait sauvegarder le mbr avec dd.

3 ► Autre méthode pour sauvegarder le MBR :

On note la table des partitions avec fdisk ( options avancées x ) puis p …

0

=> Au démarrage de GRUB ou depuis une clé contenant grub, on appuie sur ESC puis c pour obtenir une command line …

geometry nous donne la géométrie de la table des partitions en mode CHS (Cylinder, header, sector) ou LBA (Linear Basic Access => début en secteur, taille et type(hexa))

0

partnew permet de recréer n’importe quelle partitions dans la table …

grub> partnew (hd1,0) 0x83 63 7180992
grub> partnew (hd1,1) 0x82 7181055 1076355

4 ► Comment réinitialiser le mot de passe root :

  1. On démarre la machine
  2. on édite le grub, en faisant ESC à l’invite du menu GRUB
    Avec les flèches on se positionne sur l’OS à démarrer
    Puis e pour éditer la ligne : on ajoute single rw init=/bin/bash pour debian
    Attention désactiver rhgb pour RH
    Et on obtient un shell directement connecté en ROOT !!

Attention il faut monter la racine en RW et non RO si on veut pouvoir changer le mot de passe 

0

5 ► Comment booter avec un maximum d’options de journalisation :

Editer /etc/default/grub puis grub(2).mkconfig -o =/boot/grub(2)/grub.cfg

On peut aussi ajouter printk.time=1 ( print Kernel ► dmesg )
dmesg horodate tous les événements avec un temps en secondes entre chaque événement et/ou depuis que printk a démarré)

et loglevel=7 pour un maximum d’infos

Une fois la machine démarrée on peut faire un cat /proc/cmdline

6 ► démarrer avec grub en ligne de commande :

Depuis le démarrage de la VM, F12 pour booter sur un device non corrompu, on accède à l’interpréteur grub :

  • root (hd1,0)
    p
    our choisir un disque non corrompu
  • cat /grub/menu.lst
    pour voir la conf
  • kernel /vmlinuz……..9 ro root=/dev/mapper/VG_LV_root
    pour choisir le noyau à charger
  • initrd /initramfs….. (tab compléte)

On peut restaurer le grub du FS existant :

► grub2-install –root-directory … /dev/sda

Michel BOCCIOLESI