Réinstaller Grub-legacy
Cet article est une ébauche. N'hésitez pas à contribuer ou à en discuter.
Ce document n'a pas été validé par la communauté. Soyez prudent vis-à-vis de son contenu!
Si au cours de vos manipulations un problème survenait, vous ne pouvez en aucun cas incriminer ce site. Posez vos questions sur le forum
Grub ou grub-legacy est l'ancienne version de grub depuis la sortie de grub2 (ou grub-pc) Grub-legacy : Guide de survie en cas de problèmes de démarrage...
Je part du principe que vous avez déjà installé Grub-legacy dans le MBR de votre disque. Sachez qu'il est possible de l'installer dans le PBR des partitions. Dans ce cas particulier, il faudra un programme d'ammorçage (ce peut être depuis Windows, ou un Gestionnaire libre - GAG, SBM, AirBoot...)
Si Grublegacy est en panne pour une raison X ou Y, voici un guide de survie...
Le mode Rescue
Grub ne démarre pas le système, et vous donne seulement accès au "mode rescue"
[ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere eles TAB lists the possible completions of a device/filename. ] grub rescue>
Cette ligne de commande (que vous ne vouliez pas...) vous permet tout de même d'exécuter n'importe quelle action au démarrage, ce qui est bien utile dans certains cas.
Recherchons sur quelle partition linux est installé.
grub> find /boot/grub/stage1
La réponse obtenue est sous la forme :
hd(X,Y)
Ou X représente le disque et Y la partition.
Cela pourrait donner si vous avez plus d'un disque :
(hd0) Premier disque IDE (hd1) Premier disque IDE etc.
Précison à Grub ou se trouve notre système (dans l'exemple suivant premier disque première partition)
grub> root (hd0,0)
Il ne reste plus qu'a réinstaller Grub sur le MBR du premier disque :
grub> setup (hd0) Checking if "/boot/grub/stage1" exists... no Checking if "/grub/stage1" exists... yes Checking if "/grub/stage2" exists... yes Running "install /grub/stage1 d (hd0) /grub/stage2 p /grub/menu.lst"... succeeded Done. grub>
Quittez
grub> quit
Et redémarrez, vous devriez retrouver votre Grub (ouf !)
Si vous ne parvenez pas à démarrer votre machine avec les manipulations ci-dessus, lisez la suite...
La solution la plus simple
- 1. Procurez-vous Super-grub-disk sur le site officiel ou sur linux-live-cd.org
- Petite explication sur Super-grub-disk :
- La principale utilité de Super Grub Disk est de démarrer un système dont le Grub est en panne... il peut aussi réparer Grub et de le réinstaller sur MBR ou sur une autre partition - PBR -(utilisateurs avancés).
- Il peut également restaurer le MBR d'origine en désinstallant Grub sans risquer de rendre votre ordinateur inutilisable après formatage de la partition Linux.
- Lorsque vous démarrez vote ordinateur avec Super-grub-disk, vous tombez sur un menu plus ou moins clair. Laissez vous guider, vous devriez parvenir à trouver la bonne option pour démarrer sur votre Debian (Un tuto de Super-grub-disk viendra...)
- 2. Démarrer votre système en panne avec ce disque.
- 3. Réinstaller ou réparez Grub-legacy
Solution avec un chroot
- Trouvez un LiveCD et démarrez votre machine avec. N'inmporte quel LiveCD à base de Debian fera l'affaire (Knoppix, Ubuntu, Sidux...)
Attention, si votre système est en 64bits, il faudra démarrer avec un LiveCD en 64bits
Deuxième étape: montage, et chrootage
- Ouvrez un terminal et tapez sudo fdisk -l (Permet de vérifier quelle partition est à "chrooter"...)
- Il faut trouver laquelle des partitions listée est votre installation GNU/Linux. Sur une installation "simple" ça ressemblera à ceci :
Device Boot Start End Blocks Id System /dev/hda1 * 1 5624 45174748+ 83 Linux /dev/hda2 5625 6110 3903795 82 Linux swap / Solaris /dev/hda3 6111 14946 70975170 5 Extended /dev/hda5 6111 14946 70975138+ 8e Linux LVM
La partition qui vous intéresse est /dev/hda1
- Il faut créer un répertoire ou vous allez monter cette partition, et monter votre partition système :
$ sudo mkdir /mnt/chroot $ sudo mount /dev/hda1 /mnt/chroot
- Si vous aviez créé une partition séparée pour /boot, il faut la monter :
$ sudo mount /dev/hdxy /mnt/chroot/boot
Il est d'ailleurs probable que dans ce cas, /dev/hda1 soit votre partition /boot et /dev/hda2 la racine de votre système, soyez attentif à ce que vous faites.
- Une fois que la partition système est montéé, il faut monter les périphériques que le Live CD a trouvé,
$ sudo mount --bind /dev/ /mnt/chroot/dev $ sudo mount -t proc /proc /mnt/chroot/proc
A Vérifier !!!! Je ne suis pas absolument certain sur qu'il soit indispensable de monter /proc ?
- Le système est prêt à être "chrooté" :
$ sudo chroot /mnt/chroot
- Vous êtes maintenant en tant que root sur votre système installé en dur.
Troisième étape: Réinstaller Grub-legacy
# grub
grub>
Cette ligne de commande (que vous ne vouliez pas...) vous permet tout de même d'exécuter n'importe quelle action au démarrage, ce qui est bien utile dans certains cas.
Recherchons sur quelle partition linux est installé.
grub> find /boot/grub/stage1
La réponse obtenue est sous la forme :
hd(X,Y)
Ou X représente le disque et Y la partition.
Cela pourrait donner si vous avez plus d'un disque :
(hd0) Premier disque IDE (hd1) Premier disque IDE etc.
Précison à Grub ou se trouve notre système (dans l'exemple suivant premier disque première partition)
grub> root (hd0,0)
Il ne reste plus qu'a réinstaller Grub sur le MBR du premier disque :
grub> setup (hd0) Checking if "/boot/grub/stage1" exists... no Checking if "/grub/stage1" exists... yes Checking if "/grub/stage2" exists... yes Running "install /grub/stage1 d (hd0) /grub/stage2 p /grub/menu.lst"... succeeded Done. grub>
Quittez
grub> quit
Et redémarrez, vous devriez retrouver votre Grub (ouf !)
Si ça ne fonctionne toujours pas, réinstaller Grub dans le MBR - (toujours dans un chroot)
# grub-install /dev/hda (si hda est le premier disque, et celui sur lequel vous souhaitez installer Grub)