Réinstaller Grub-legacy
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 pars 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'amorçage (ce peut être depuis Windows, ou un Gestionnaire libre - GAG, SBM, AirBoot...)
Si Grub-legacy 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é (si vous n'êtes pas sûr...)
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. ATTENTION Grub-legacy numérote les partitions à partir de zéro...
Cela pourrait donner si vous avez plus d'un disque :
(hd0) Premier disque IDE (hd1) Premier disque IDE etc.
Précisons à Grub où se trouve notre système (dans l'exemple suivant premier disque / première partition)
grub> root (hd0,0)
Il ne reste plus qu'à 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 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'importe 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 :
# mkdir /mnt/chroot # mount /dev/hda1 /mnt/chroot
- Si vous aviez créé une partition séparée pour /boot, il faut la monter :
# 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ée, il faut monter les périphériques que le Live CD a trouvé,
# mount --bind /dev/ /mnt/chroot/dev # mount -t proc /proc /mnt/chroot/proc
- Le système est prêt à être "chrooté" :
# chroot /mnt/chroot
Il peut parfois être nécessaire, en fonction de votre système ou du LiveCD à partir duquel vous avez démarré d'ajouter /bin/bash à la commande
# chroot /mnt/chroot /bin/bash
- 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. ATTENTION Grub-legacy numérote les partitions à partir de zéro...
Cela pourrait donner si vous avez plus d'un disque :
(hd0) Premier disque IDE (hd1) Premier disque IDE etc.
Précision à 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 --recheck /dev/hda (si hda est le premier disque, et celui sur lequel vous souhaitez installer Grub)
Ou si /boot est sur une partiion différente de /
# grub-install --root-directory=/boot --recheck /dev/hda
Documentation extérieure (en anglais) : Manuel de Grub-legacy
--Lol 30 mars 2010 à 13:03 (UTC)