Compilation des erreurs de GRUB dans Gentoo Hartwig Brandl Ioannis Aslanidis Sven Vermeulen Vous trouverez dans ce document une liste des divers problèmes relatifs au chargeur de démarrage GRUB auxquels les utilisateurs de Gentoo ont dû faire façe. Les solutions à ces problèmes ont pu être compilées grâce à la coopération de nombreux utilisateurs des Forums Gentoo. 1.3 2005-03-28 Préface
Remerciements

Nos remerciements vont à : Earthwings, penetrode, loyaltonone, pilla, airhead, nephros, yamakawa et à tous les autres participants au fil de discussion ayant permis la rédaction du présent texte.

Avertissement

Les exemples présentés dans ce document ne sont rien de plus que des exemples ; n'oubliez pas de substituer aux noms de partitions et aux autres paramètres suggérés les valeurs spécifiques à votre système. Les suggestions ci-bas sont données à titre indicatif seulement. Suivez-les à vos propres risques.

Grub loading, please wait...
Problème
GRUB loading stage 1.5
GRUB loading, please wait...

Après ce message, le système arrête. Si vous essayez de démarrer à partir d'une disquette GRUB, toutefois, le problème disparait.

Solution

D'après The_Bell, vous devriez essayer de changer l'ordre de démarrage des périphériques dans votre BIOS.

Configurez votre BIOS pour qu'il ne tente pas de démarrer à partir du lecteur de disquettes.

penetrode suggère que ce problème peut être dû à un mauvais choix de CFLAGS. Même si le fichier ebuild actuel de GRUB filtre déjà le paramètre -fstack-protector, cela ne peut pas faire de mal de recompiler GRUB avec des CFLAGS « propres » si le problème persiste :

# CFLAGS="-O2 -march=i686 -fomit-frame-pointer -pipe" emerge grub
Grub Error 12
Problème
12 : Invalid device requested.

Un tel message est affiché si la chaîne de texte définissant le périphérique est correcte mais qu'une erreur survient tout de même, cette erreur étant indéfinie.

Solution

Lorsque vous avez installé GRUB dans votre secteur de démarrage en utilisant les commandes interactives, avez-vous exécuté les deux commandes ci-dessous ?

grub> root (hd0,0)
grub> setup (hd0)

Vous devez remplacer (hd0,0) par votre partition de démarrage et (hd0) par le disque dur que vous avez choisi. Souvenez-vous que (hd0) installera le chargeur de démarrage dans le secteur d'amorçage du premier disque dur (le « primary master »).

Grub Error 15
Situation

Cette erreur peut se produire à deux endroits dans la configuration de GRUB : soit pendant la configuration initiale (lorsque vous installez GRUB dans le secteur d'amorçage) ou après le démarrage du système lorsque vous essayez de lancer Linux (ou un autre système d'exploitation).

grub> root (hd0,0)
 Filesystem type is xfs, partition type 0x83

grub> setup (hd0)
 Checking if "/boot/grub/stage1" exists... no
 Checking if "/grub/stage1" exists... no

Error 15: File not found
Booting 'Gentoo Linux'

root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
kernel (hd0,0)/boot/kernel-2.4.20 root=/dev/hda3 vga=792

Error 15: File not found
Press any key to continue...
Solution - Configuration initiale

Cette erreur se produit lorsque le nom de fichier spécifié ne peut être trouvé, mais que le reste de la configuration est correcte (incluant le choix des disques et des partitions).

Cette erreur est fréquemment due à l'absence de l'image du noyau. Assurez-vous que le fichier auquel vous faites référence existe bel et bien sur votre partition de démarrage.

Pour trouver le nom exact de votre noyau, démarrez à partir du CD d'installation et montez la partition de démarrage (si nécessaire) ou votre partition racine. Ensuite, listez les fichiers pour savoir quelles images de noyaux sont disponibles :

# cd /boot
# ls

Ces commandes listeront tous les noyaux présents sur votre partition de démarrage. Si votre noyau choisi ne s'y trouve pas, vérifiez que vous avez bien compilé le noyau (avec genkernel ou manuellement) :

# cd /usr/src/linux/
# make menuconfig

Vérifiez aussi que vous avez copié le noyau dans votre partition de démarrage :

(Cet exemple assume que votre partition de démarrage est montée sur /mnt/gentoo/boot.)
# cp /usr/src/linux/arch/x86/boot/bzImage /mnt/gentoo/boot

Vérifiez que le nom du noyau est exactement le même que que celui référencé dans votre fichier grub.conf. Assurez-vous aussi que la ligne kernel de votre grub.conf réfère à la bonne partition (explicitement ou implicitement).

Vérifiez enfin que vous n'avez pas configuré le BIOS pour qu'il ignore le disque sur lequel votre image de noyau et GRUB sont installés.

Solution - Démarrage d'un système d'exploitation

Avant tout, vérifiez que les lignes root et setup que vous utilisez sont correctes.

Si vous êtes certain que ces lignes sont valides, peut-être utilisez-vous une version de GRUB boguée (0.93.20031222). Mettez à jour votre arbre Portage ou masquez cette version de GRUB :

(Exécutez cette commande à partir de l'environnement chroot.)
# echo "=sys-boot/grub-0.93.20031222" >> /etc/portage/package.mask
# emerge grub -p

Vous pouvez aussi essayer le script grub-install recommandé par les développeurs de GRUB :

(L'option --root-directory est nécessaire si vous utilisez une partition
de démarrage séparée. Si ce n'est pas le cas, omettez ladite option.)
# grub-install --root-directory=/boot /dev/hda

Si toutes ces suggestions échouent, peut-être votre partition de démarrage est-elle corrompue. Vérifiez l'intégrité de votre partition :

(Assurez-vous que la partition (dev/hda1 dans cet exemple) n'est pas montée.)
# fsck -y /dev/hda1
Grub Error 17
Situation
root (hd0,0)
filesystem type unknown partition type 0x7

Error 17 : Cannot mount selected partition
Solution

Cette erreur survient lorsque la partition référencée existe mais que le système de fichiers qui s'y trouve ne peut être reconnu par GRUB.

Vérifiez que root(x,y) est correctement paramétré dans votre grub.conf.

Assurez-vous aussi, si vous essayez de démarrer Windows, que votre fichier grub.conf contient root (hdX,Y) (ou rootnoverify (hdX,Y)) et chainloader (hdX,Y)+1.

Grub Error 18
Situation
kernel (hd1,4)/bzImage root=/dev/hdb7

Error 18: Selected cylinder exceeds max supported by BIOS
Solution

Cette erreur survient lorsque GRUB essaie de lire un bloc dont l'adresse linéaire est située au-delà de la région traduite par le BIOS. Cela se produit généralement lorsque le disque dur a une capacité plus grande que ce que peut gérer le BIOS (512 Mo pour les disques (E)IDE sur les vieux ordinateurs ou 8 Go dans la plupart des cas).

Essayez de mettre à jour votre BIOS et/ou déplacez votre partition de démarrage au début du disque (ou du moins à l'intérieur de la plage accessible à GRUB).

GRUB GRUB GRUB GRUB GRUB ...
Situation
GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB
  GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB GRUB
...
Solution

D'après airhead, cela peut être causé par un BIOS tentant de détecter les disques automatiquement. Configurez l'entrée pour votre disque dur dans le BIOS pour utiliser « User Type HDD »

Probing Devices to Guess BIOS Drives. This May Take a Long Time.
Situation

Lorsque vous essayez d'installer GRUB, ce dernier gèle après avoir affiché la ligne suivante :

# grub

Probing devices to guess BIOS drives. This may take a long time.
Solution

Un utilisateur a rapporté que la cause de ce problème sur son ordinateur était une configuration trop exotique des disques, par exemple un mélange de disques DMA ultra/non-ultra branchés au même cable.

GRUB gèle tout simplement lors de l'installation
Situation

Lors de l'installation, GRUB gèle complètement :

# grub
(À ce point, l'installation arrête.)
Solution

Si vous n'avez pas de lecteur de disquettes, avez-vous oublié d'ajouter l'option --no-floppy ?

# grub --no-floppy
Uncompressing Linux... Ok, booting the kernel.
Situation

Le système gèle après l'affichage de la ligne suivante :

Uncompressing Linux... Ok, booting the kernel.
Solution

Strictement parlant, il ne s'agit pas d'une erreur de GRUB. Cela peut arriver lorsque l'ACPI est défectueux et qu'il est activé dans le noyau. Essayez de désactiver l'ACPI dans votre BIOS ou dans votre noyau.

GRUB ne fait qu'afficher une invite de commandes
Situation

Lorsque vous démarrez le système, vous recevez une invite de GRUB plutôt que la liste des entrées que vous avez définies dans votre fichier grub.conf.

Solution

Montez votre partition de démarrage et vérifiez que le fichier grub/grub.conf existe.

# mount /dev/hda1 /mnt/gentoo/boot
# cat /mnt/gentoo/boot/grub/grub.conf

Assurez-vous aussi que le lien symbolique menu.lst existe :

# ls -l /mnt/gentoo/boot/grub/menu.lst
lrwxrwxrwx  1 root root 9 Mar  7 14:00 /mnt/gentoo/boot/grub/menu.lst -> grub.conf

Si ce n'est pas le cas, recréez le lien :

# cd /mnt/gentoo/boot/grub
# ln -snf grub.conf menu.lst

Si le lien existait bel et bien, réinstallez plutôt GRUB :

(Exécutez ce qui suit dans l'environnement chroot.)
# grub-install --root-directory=/boot /dev/hda
Could Not Find Device For /boot/boot: Not Found Or Not a Block Device
Situation

Lorsque vous exécutez grub-install pendant l'installation de GRUB, vous obtenez l'erreur suivante :

# grub-install --root-directory=/boot /dev/hda
Could not find device for /boot/boot: not found or not a block device
Solution

Vérifiez que nous n'avez pas oublié de faire ce qui suit :

# cp /proc/mounts /etc/mtab
Le système redémarre lorsque l'on tape Entrée dans le menu GRUB
Situation

Aussitôt que vous tapez Entrée dans le menu GRUB lors du démarrage du système, le système redémarre.

Solution

Essayez de régler le problème en enlevant le support pour le « framebuffer » de votre noyau. Si cela ne marche pas, enlevez aussi l'ACPI et l'APM.

L'écran n'affiche plus rien après que l'on ait tapé Entrée dans le menu GRUB
Situation

Aussitôt que vous tapez Entrée dans le menu GRUB lors du démarrage du système, l'écran cesse d'afficher quoi que soit. Toutefois, le système répond toujours (la diode du verrouillage numérique peut être commutée, par exemple).

Solution

Désactivez le « framebuffer » (cela se fait typiquement en supprimant vga=XYZ de votre grub.conf) et vérifiez l'architecture du processeur dans la configuration de votre noyau.

Image de GRUB manquante
Situation

Lors du démarrage du système, vous ne voyez pas la superbe image de démarrage de Gentoo.

Solution

Vérifiez d'abord si le fichier de l'image de démarrage que vous utilisez dans grub.conf existe vraiment. Si c'est le cas, vérifiez le ebuild de GRUB. Peut-être que le correctif pour l'image de démarrage a été commenté dans la version que vous utilisez.

Impossible de démarrer Windows à partir d'un second disque dur
Situation

Après que vous ayez sélectionné l'entrée pour Windows, le système refuse de démarrer sans donner de raison claire.

Solution

cyrillic soutient qu'il est possible de régler ce problème en changeant l'ordre des disques dans l'entrée pour Windows dans votre fichier grub.conf comme suit :

title Windows XP
  map (hd0) (hd1)
  map (hd1) (hd0)
  chainloader (hd1,0)+1
Erreur de segmentation lors de l'installation de GRUB
Situation

La situation décrite ci-dessous ne s'applique qu'à l'installation de grub-0.95.x dans le secteur d'amorçage.

grub> root (hd0,0)

grub> setup (hd0)

Segmentation fault
Solution

Un bogue relié à ce problème a été découvert et réglé dans grub 0.96. On sait également que grub 0.94 r1 et grub 0.94 r2 fonctionnent correctement. Toutefois, si cela ne règle pas le problème, vous pouvez essayer d'installer grub-static, présentement stable sur l'architecture amd64 et instable sur x86 (~x86). Consultez le rapport de bogue suivant pour plus d'information : #79378.