Vous êtes sur la page 1sur 6

grub-rescue [CoursInfoRevest] http://www.coursinforev.org/doku.

php/grub-rescue

CoursInfoRevest

Grub-Rescue
On peut, en cas de problème important avec Grub, se retrouver en Grub-Rescue au démarrage. On le reconnaît avec le
prompt suivant:

grub-rescue>

Clavier
En grub-rescue, le clavier se trouve en QWERTY.

Commandes grub-rescue
Les commandes supplémentaires suivantes sont disponibles:

Commande Action
dump Nettoyage de la mémoire
exit Sortie de GRUB 2
normal Retour au mode normal "grub>" si possible

Les commandes suivantes sont disponibles en mode rescue du grub:


boot, cat, chainloader, dump, exit, freebsd, freebsd_loadenv, freebsd_module, help, initrd, insmod, linux, lsmod,
multiboot, normal, rmmod, set, unset

Au prompt grub rescue, on peut utiliser les commandes suivantes pour essayer de redémarrer sur le dernier kernel.

Commande/Réponse Action
ls Affiche les disques et partitions connues. L'utilisateur doit déterminer où est installé le
système pour la suite. Mieux vaut l'avoir noté auparavant
cat Affiche le contenu d'un fichier. Par exemple cat /boot/grub/grub.cfg , cat /etc/fstab
set root=(hdX,Y) où X est le n° du disque (commençant à 0) et Y la partition (commençant à 1). Exemple:
(hd3,5) correspond à sdc5)
set Normalement, récupère tout seul la désignation de la racine, sinon, entrer la commande
suivante
set prefix= En cas d'erreur, des erreurs "no such disk" ou "not found" apparaitront plus tard
(hdX,Y)/boot/grub
ls /boot Inspecter le contenu. On y trouve les différents kernels, images initrd et répertoire grub.
Si ce n'est pas le cas, utiliser la commande ls pour chercher sur le disque. Si nécessaire,
désigner un autre disque comme racine
insmod /boot/grub Charge le module Linux. Sans lui, le message "Unknown command linux" apparaîtra au
/linux.mod chargement du kernel
lsmod
linux /vmlinuz Charge le noyau kernel. Mettre les bonnes désignations pour mettre "X" and "Y". Il y aura
root=/dev/sdXY ro ensuite une annonce du chargement correct
initrd /initrd.img Charge l'image initrd. Un message peut apparaître dans le terminal
loopback
boot Charge l'image initrd. Un message peut apparaître dans le terminal

Procédure à partir du .iso

1 sur 6 01/01/2016 17:22


grub-rescue [CoursInfoRevest] http://www.coursinforev.org/doku.php/grub-rescue

Ce guide détaille comment booter un Live CD ISO Ubuntu à partir d'un prompt "grub-rescue". Cette procédure est
également valable à partir du prompt "grub>" pour des utilisateurs Grub2.

Conditions préalables

Cette procédure est pour:

Versions de la famille avec Grub 2


Mauvais menu Grub 2 (grub.cfg)
Kernels Linux & images initramfs manquants
Fichiers système corrompus

Pour que la procédure marche, il faut:

Avoir une image LiveCD isosur une partition acessible à partir du prompt grub-rescue
Les modules Grub d'une installation précédente doivent être accessibles et chargeables

La procédure ne peut fonctionner pour:

Modules Grub 2 manquant (normalement dans /boot/grub ou /usr/lib/grub/i386-pc )


Images Ubuntu ISO corrompues
Structure de partition corrompue - "ls" ne donne que "(hd0)"

Localiser la partition Ubuntu et le dossier contenant les modules Grub

Le dossier Grub contenant les modules doit être localisé pour que les bons modules soient chargés. Ce dossier doit avoir
été créé à l'installation Ubuntu et doit être dans une partition-racine. Il doit être normalement

soit dans (hdX,Y)/boot/grub


soit dans (hdX,Y)/usr/lib/grub/i386-pc

Recherche de partition Ubuntu et du dossier du module.

ls # Liste les disques connus drives (hdX) et les partitions (hdX,Y)


ls (hdX,Y)/ # Liste les contenus des partitions-racine
ls (hdX,Y)/boot/grub # Emplacement normal des modules Grub2
ls (hdX,Y)/usr/lib/grub/i386-pc # Emplacement alternatif des modules Grub2

ls - doit donner directement tous les disques connus (hdX) et les partitions (hdX,Y)
ls (hdX,Y)/ - doit montrer les contenus de la partition
Si "error: unknown filesystem", ce n'est pas une bonne partition
Si c'est une partition Ubuntu, on voit le contenu ce qui inclut lost+found/, home/, boot/ and vmlinuz and
initrd.img. Utiliser cette adresse comme première partie de la commande suivante
ls (hdX,Y)/boot/grub/i386-pc - doit montrer des dizaines de dossiers *.mod. C'est le dossier recherché.
Si on n'a pas trouvé les modules, essayer en alternative: ls (hdX,Y)/usr/lib/grub/i386-pc

Chargement des modules


set prefix=(hdX,Y)/<path to modules>

Cette commande doit pointer sur le dossier contenant les modules Grub. L'adresse devrait être celle de la section
précédente ayant montré les modules

Exemples:

set prefix=(hd0,5)/boot/grub
set prefix=(hd1,1)/usr/lib/grub/i386-pc

Chargement des modules:

insmod linux
insmod loopback
insmod iso9660 # si besoin
insmod fat # Si ISO est situé sur une partition formatée fat16 ou fat32
insmod ntfs # If ISO est situé sur une partition NTFS
insmod nftscomp # If une compression NTFS est utilisée sur la partition. Charger en cas de doute

Une erreur "file not found" signifie que le chemin du préfixe est incorrect ou que le module spécifique n'existe pas. Le
préfixe peut être revu avec commande set. Relancer la commande "set prefix=" avec le bon chemin.

Localiser le fichier ISO Ubuntu

2 sur 6 01/01/2016 17:22


grub-rescue [CoursInfoRevest] http://www.coursinforev.org/doku.php/grub-rescue

En utilisant les mêmes combinaisons de commande ls, localiser les images Ubuntu.

ls (hdX,Y)/

Chercher les contenus incluant les ISO, comme ubuntu -10.04.1-desktop-i386.iso


Etendre la recherche au besoin si le .iso n'est pas dans le dossier considéré
En cas d'erreur "unknown filesystem", on peut avoir besoin de charger un autre fichier-module (comme ntfs ou
fat). Revenir à la section précédente comme guide.

Monter un fichier comme dispositif


loopback loop (hdX,Y)/<path to ISO>/<ISO-name.iso>

Exemple: loopback loop (hd1,1)/ubuntu-10.04.1-desktop-i386.iso

Charger le kernel Linux X et l'image initrd


set root=(loop)
linux /casper/vmlinuz boot=casper iso-scan/filename=/<ISO-name.iso> noprompt noeject
initrd /casper/initrd.lz

If the path to the ISO or filename is not correct, the boot will halt at the BusyBox screen and produce a message stating
"can't open /dev/sr0: No medium found".

Note: If the ISO file is not in the / folder, include the path in the iso-scan/filename= entry. See second example.

Exemples: linux /casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-10.04.1-desktop-i386.iso linux /casper/vmlinuz


boot=casper iso-scan/filename=/my-iso/ubuntu-10.04.1-desktop-i386.iso

Boot

That should be it. If the commands ran without any messages/errors, the commands were accepted as entered. It's now
time to boot:

boot

Après redémarrage

Après un redémarrage réussi, il faut,

soit, réinstaller Grub2 (sudo grub-install /dev/sdX)


soit, éditer les fichiers de configurations Grub2 et y faire les changements nécessaires.

Si le grub rescue ne marche pas, faire une réinstallation Gub2 (Méthode 1 ou 2)

Procédure sans fichier iso


Déterminer la partition du /boot

Exemples:

si /boot est sur une partition-racine, et que celle-ci est une partition primaire avec un n° de 1 à 4, du premier
disque dur, le device grub est (hd0,1) ou (hd0,2) ou (hd0,3) ou (hd0,4).
idem mais sur un autre disque dur: remplacer le 0 par l'ordre de chargement du disque (à consulter dans le bios),
plus 1. Exemple: le second disque dur –> (hd1,1) ou (hd1,2) ou (hd1,3) ou (hd1,4)
pour une partition étendue, premier disque dur, le device est (hd0,5) pour la première partition étendue, (hd0,6)
pour la seconde et ainsi de suite.
si le /boot est une partition à part, c'est cette partition là qu'il faut localiser et pas la partition-racine. Même
chemin que décrit au-dessus.

,Une fois, le nom du device (hdX,Y) connu,


si on a une partition /boot à part, cela donne le préfixe: (hdX,Y)/grub
si le /boot est sur la partition-racine, cela donne le préfixe: (hdX,Y)/boot/grub

Etape suivante

Taper Ctl+Alt+Supp pour redémarrer. Au prompt grub-rescue:


taper

3 sur 6 01/01/2016 17:22


grub-rescue [CoursInfoRevest] http://www.coursinforev.org/doku.php/grub-rescue

set prefix=(hdX,Y)/grub"

ou bien

set prefix=(hdX,Y)/boot/grub # en fonction de ce que l'on a trouvé plus haut, et en remplaçant X et Y par les valeurs adéquates

insmod

On doit maintenant avoir accès à la console grub complète.

insnmod sh

Si ce n'est pas assez pour se remettre sur les rails, on peut encore taper:

"insmod configfile"
puis "set root=(hdX,Y)/boot/grub"
ou bien "set root=(hdX,Y)/grub" (la même chose que pour prefix)
puis "configfile (hdX,Y)/boot/grub/grub.cfg"
ou "configfile (hdX,Y)/grub/grub.cfg"

Après redémarrage correct

Penser à corriger le boot à l'aide de la commande grub-install.

Taper "insmod sh"

Autre procédure
Il faut commencer part identifier les disques et les partitions.

ls devrait lister les disques et les partitions valides

grub-rescue> ls

Si on n'est par sûr de la partition, on peut tester les différentes partitions apparues jusqu'à afficher la bonne structure :

grub-rescue> ls (hd0,1) # pour /dev/sda1

grub-rescue> ls (hd1,2) # pour /dev/sdb2 etc...

Lorsque la partition / est trouvée il faut taper la commande :

grub-rescue> set prefix=(hdX,Y)/boot/grub # en remplaçant bien sûr les X et Y par les bonnes valeurs

puis

grub-rescue> set root=(hdX,Y) # (hdX,Y) est à adapter


insmod /boot/grub/linux.mod
linux /vmlinuz root=/dev/sdXY ro # sdXY sera aussi à adapter
initrd /initrd.img
boot

Si Ubuntu démarre normalement, il faut maintenant adapter les fichiers de boot:

sudo update-grub # pour réadapter les options GRUB

sudo grub-install /dev/sda # pour le MBR du DD principal, c'est le cas majoritaire. Sinon adapter

Entrée en mode grub-rescue


Pour rentrer délibérément en mode grub-rescue, renommer le fichier normal.mod. Exemple:

sudo mv /boot/grub/normal.mod /boot/grub/normal.mod.back

Pour en sortir, utiliser la procédure du paragraphe précédent.


Ou bien, redémarrer en LiveCD et renommer manuellement le fichier normal.mod.

Bibliographie
http://ubuntuforums.org/showthread.php?t=1599293 [http://ubuntuforums.org/showthread.php?t=1599293] dont la
traduction a fourni la première procédure
http://forum.ubuntu-fr.org/viewtopic.php?id=902271 [http://forum.ubuntu-fr.org/viewtopic.php?id=902271]

4 sur 6 01/01/2016 17:22


grub-rescue [CoursInfoRevest] http://www.coursinforev.org/doku.php/grub-rescue

http://forum.ubuntu-fr.org/viewtopic.php?id=358656 [http://forum.ubuntu-fr.org/viewtopic.php?id=358656]
http://forum.ubuntu-fr.org/viewtopic.php?pid=3663964#p3663964 [http://forum.ubuntu-fr.org
/viewtopic.php?pid=3663964#p3663964]

5 sur 6 01/01/2016 17:22


grub-rescue [CoursInfoRevest] http://www.coursinforev.org/doku.php/grub-rescue

grub-rescue.txt · Dernière modification: 2014/05/25 17:20 par g.rnd@free.fr

6 sur 6 01/01/2016 17:22

Vous aimerez peut-être aussi