GRUB - no such device
Publié : 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 :
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
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.
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 :
A partir de maintenant, on peut oublier le hdX,Y et travailler directement avec /...
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 :
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 :
qui doit afficher une liste avec les vmlinuz et les initrd. On fixe alors le noyau et les modules à charger avec :
Et enfin, on lance le boot...
A noter enfin que le grub rescue étant un sous-ensemble restreint de GRUB, on peut aussi revenir au GRUB complet via :
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 >
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
Code : Tout sélectionner
grub rescue> ls (hdX,Y)/
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
Code : Tout sélectionner
grub rescue> set prefix=/boot/grub
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
Code : Tout sélectionner
grub rescue> ls /boot
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
Code : Tout sélectionner
grub rescue> boot
Code : Tout sélectionner
insmod /boot/grub/normal.mod