Table des matières
Grub: réinstaller la MBR
Je pars du principe qu'il n'y a *que* la MBR qui est absente.
Le reste, le “boot” , le “system” , est fonctionnel.
Mais impossible de booter… Comment réinstaller la MBR ?
Je vais faire ça avec “Debian Wheezy”, mais ça marchera avec d'autres Debian et autres Ubuntu…
~~READMORE~~
live cd/usb rescue
On va d'abord récuperer une image “ISO” d'un live cd le plus proche possible du système existant. (même distribution, même architecture…)
J'ai trouvé mon bonheur là dedans:
Ce qui m’intéresse surtout, c'est la version “rescue” et “non-free”, avec la plupart des pilotes pré-installé qui vont bien reconnaitre tout le matériel.
Donc:
$ wget http://live.debian.net/cdimage/release/stable+nonfree/amd64/iso-hybrid/debian-live-7.5-amd64-rescue+nonfree.iso
Maintenant, soit on grave l'image sur un CD, soit on copie tout sur une clé USB.
Par exemple, pour une clé USB en “/dev/sde
” :
$ dd if=./debian-live-7.5-amd64-rescue+nonfree.iso of=/dev/sde bs=1M $ sync
On peut retirer la clé.
booter et réparer
root
On va sur le bécane sans MBR, on branche la clé ou le CD…
On boot… on laisse démarrer le système de “secours” .
Enfin, on devient “root
” :
$ sudo -s #
On vérifie l'environnement… les disks sont bien là…
chroot
On suppose que le disk a réparer est en /dev/sda
, et que:
- /dev/sda1 est la partition de “/boot”
- /dev/sda2 est le systeme racine “/”
On va entrer sur le système a récuperer:
# mkdir /mnt/sys # mount /dev/sda2 /mnt/sys
Si le “boot” est sur une autre partition (comme moi):
# mount /dev/sda1 /mnt/sys/boot
# mount -t proc none /mnt/sys/proc # mount -o bind /dev /mnt/sys/dev # mount -o bind /sys /mnt/sys/sys
UPDATE (pour “jessie
” par exemple):
Vérifier: “/var/run → /run ” |
# mount -o bind /run /mnt/sys/run
UPDATE 2022:
# mkdir /mnt/sys/tmp # mount -o bind /tmp /mnt/sys/tmp
On chroot:
# chroot /mnt/sys /bin/bash #
Voila, on est dans le système a récuperer…
grub-install
Et enfin:
# update-grub # grub-install /dev/sda
Voila. On a restauré la MBR.
On quitte le chroot.
# exit
On peut rebooter.
# reboot
Voila.
Il y a surement plus simple, mais cette méthode m'a permit de récupérer des systèmes avec des configurations un poil plus complexe: plusieurs cartes RAID, système sur partition LVM …