GRUB - no such device

Vous avez un didactiel ou une astuce particulière concernant un logiciel, partagez votre expérience dans cette partie.
Avatar de l’utilisateur
le Manchot Masqué
Administrateur du site
Messages : 353
Inscription : lun. 26 mai 2008, 21:05
Distribution : Debian, Ubuntu
Niveau : Moitié plein !
Localisation : Guebwiller

GRUB - no such device

Message par le Manchot Masqué » mar. 06 juil. 2010, 10:09

CE QUI SUIT EST CLAIREMENT RÉSERVÉ AUX ADMINISTRATEURS...

Il n'est pas rare que les bidouilleurs de clés USB et autres disques durs se retrouvent au demarrage de leur machine avec un message du type :

Code : Tout sélectionner

GRUB loading.
error: no such device
grub rescue >
Panique à bord garantie ! ;) En fait, ce n'est pas très compliqué : GRUB ne trouve pas le périphérique de boot. Il existe des solution pour reprendre la main à partir d'un CD-ROM ou d'une clé bootable, mais nous nous intéresserons ici à mettre les mains dans le cambouis...

Les commandes pour reprendre le contrôle de la bête :
set : liste les variables actuelles de GRUB et notamment "root=" et "prefix="
ls : liste le contenu d'une partition ou d'un répertoire, comme sous le shell classique

En général, on commence par un

Code : Tout sélectionner

grub rescue> ls
qui va donner la liste réelle des disques durs et des partitions sous la forme (hdX,Y). hdX est le disque dur, Y la partition du disque.

Code : Tout sélectionner

grub rescue> ls (hdX,Y)/
permet de lister le contenu de la partition. Ce qui nous intéresse, c'est évidemment de trouver la partition /boot du système qui va nous permettre de lancer linux.

Une fois la partition repérée avec les bons numéros, on fixe le préfixe et la racine via :

Code : Tout sélectionner

grub rescue> set root=hdX,Y
A partir de maintenant, on peut oublier le hdX,Y et travailler directement avec /...

Code : Tout sélectionner

grub rescue> set prefix=/boot/grub
en supposant ici que le / et le /boot sont sur la même partition...

On peut ensuite charger les modules ext2 pour le système de fichier et linux pour pouvoir utiliser la commande du même nom soit :

Code : Tout sélectionner

grub rescue> insmod ext2
grub rescue> insmod linux
C'est bien beau d'avoir retrouvé le bon disque et la bonne partition, mais il faut encore définir le noyau à lancer... On va donc afficher la liste des noyaux disponibles avec :

Code : Tout sélectionner

grub rescue> ls /boot
qui doit afficher une liste avec les vmlinuz et les initrd. On fixe alors le noyau et les modules à charger avec :

Code : Tout sélectionner

grub rescue> linux /boot/vmlinuz-2.6.A-B-generic root=/dev/sdaZ rw noresume
grub rescue> initrd /boot/initrd.img-2.6.A-B-generic
Et enfin, on lance le boot...

Code : Tout sélectionner

grub rescue> boot
A noter enfin que le grub rescue étant un sous-ensemble restreint de GRUB, on peut aussi revenir au GRUB complet via :

Code : Tout sélectionner

insmod /boot/grub/normal.mod

ponpon
Messages : 7
Inscription : ven. 23 juil. 2010, 14:12
Distribution : Debian, Fedora
Niveau : Confirmé

Re: GRUB - no such device

Message par ponpon » sam. 24 juil. 2010, 14:58

C'est juste, il est possible de restaurer "grub" à la main. Pour les utilisateurs de Linux, ou Linux et Windows en dual boot, disposer d'un outil simple est parfois crucial (tout seul et pas de documentation ni de connexion internet par exemple, ou connaissances trop faibles). Ikki boot est un live CD qui permet entre autres de restaurer grub de façon aisée : http://ikkiboot.tuxfamily.org/contenu/t ... ement.html

à graver et à mettre de côté.

Répondre