Gentoo Logo

Résolution des erreurs de GRUB sous Gentoo

Table des matières :

1.  Préface

Remerciements

Nos remerciements vont à : Earthwings, penetrode, loyaltonone, pilla, airhead, nephros, yamakawa et à tous les autres participants du 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.

2.  Grub loading, please wait...

Problème

Exemple de code 2.1 : Sortie de GRUB

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 disparaît.

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 :

Exemple de code 2.2 : Recompiler GRUB avec des CFLAGS décents

# CFLAGS="-O2 -march=i686 -fomit-frame-pointer -pipe" emerge grub

3.  Grub Error 12

Problème

Exemple de code 3.1 : Sortie de GRUB

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 ?

Exemple de code 3.2 : Commandes d'installation interactive

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 »).

4.  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).

Exemple de code 4.1 : Sortie de GRUB - Configuration initiale

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

Exemple de code 4.2 : Sortie de GRUB - Démarrage d'un système d'exploitation

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, montez votre partition racine et la partition de démarrage (si nécessaire). Ensuite, « chrootez » dans votre système et listez les fichiers pour savoir quelles images de noyaux sont disponibles :

Exemple de code 4.3 : Vérifier l'existence d'une image d'un noyau

# 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) :

Exemple de code 4.4 : Recompiler le noyau

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

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

Exemple de code 4.5 : Copier le noyau

# cp /usr/src/linux/arch/i386/boot/bzImage /mnt/gentoo/boot

Vérifiez que le nom du noyau est exactement le même 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. De plus, la partition qui accueille les fichiers de GRUB ne doit pas utiliser de RAID-5 (ni toute autre forme de « striping ».)

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 :

Exemple de code 4.6 : Masquer 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 :

Exemple de code 4.7 : Utiliser grub-install

(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 :

Exemple de code 4.8 : Analyser une partition pour y repérer des erreurs

(Assurez-vous que la partition (dev/hda1 dans cet exemple) n'est pas montée.)
# fsck -y /dev/hda1

5.  Grub Error 17

Situation

Exemple de code 5.1 : Sortie de GRUB

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.

6.  Grub Error 18

Situation

Exemple de code 6.1 : Sortie de GRUB

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).

7.  GRUB GRUB GRUB GRUB GRUB ...

Situation

Exemple de code 7.1 : Sortie de 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 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 ».

Une autre possibilité est que vous aviez déjà GRUB d'installé dans le MBR et que vous essayiez de le réinstaller (par exemple si vous avez ajouté un nouveau disque) en utilisant des mauvaises commandes setup et root.

8.  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 :

Exemple de code 8.1 : Sortie de Grub

# 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.

9.  GRUB gèle tout simplement lors de l'installation

Situation

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

Exemple de code 9.1 : Sortie de GRUB

# 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 ?

Exemple de code 9.2 : Installer GRUB avec l'option --no-floppy

# grub --no-floppy

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

Situation

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

Exemple de code 10.1 : Sortie de Linux

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.

11.  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.

Exemple de code 11.1 : Monter et vérifier

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

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

Exemple de code 11.2 : Vérifier le lien symbolique

# 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 :

Exemple de code 11.3 : Recréer le lien symbolique menu.lst

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

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

Exemple de code 11.4 : Réinstaller Grub

(Exécutez ce qui suit dans l'environnement chroot.)
# grub-install --root-directory=/boot /dev/hda

12.  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 :

Exemple de code 12.1 : Sortie de GRUB

# 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 :

Exemple de code 12.2 : Mise à jour du fichier mtab

# grep -v rootfs /proc/mounts > /etc/mtab

13.  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.

14.  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 ce 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.

15.  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 l'ebuild de GRUB. Peut-être que le correctif pour ajouter l'image de démarrage a été commenté dans la version que vous utilisez.

16.  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 :

Exemple de code 16.1 : Changer l'ordre des disques

title Windows XP
  map (hd0) (hd1)
  map (hd1) (hd0)
  chainloader (hd1,0)+1

17.  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.

Exemple de code 17.1 : Installer GRUB

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.



Imprimer

Dernière mise à jour le 13 janvier 2008

La version originale de cette traduction n'est plus maintenue

Résumé : 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 face. Les solutions à ces problèmes ont pu être compilées grâce à la coopération de nombreux utilisateurs des Forums Gentoo.

Hartwig Brandl
Relecteur du fil de discussion

Ioannis Aslanidis
Correcteur

Sven Vermeulen
Correcteur

Olivier Fisette
Traducteur

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.