GNU GRUB FAQ

[ English | German | Spanish ]



0. J'ai des questions au sujet du GRUB !

Avant tout, lisez la documentation livrée avec la distribution du GRUB très attentivement. Vous devriez être en mesure d'obtenir la plupart des informations à son sujet dans ce document. Cette FAQ vous donne juste quelques pistes.

Aussi, remarquez que nous n'acceptions pas les bugs provenant de versions non-officielles, telle que celle de Red Hat. Beaucoup de versions distribuées avec GNU/Linux sont modifiées par le vendeur avec ses propres rustines, ainsi tous les bugs ne sont pas reproductibles dans les versions officielles. Essayez donc la dernière version officielle, avant de nous rapporter des bogues.

1. En quoi GNU GRUB diffère-t-il du GRUB original d'Erich ?

GNU GRUB est le successeur du superbe GRUB d'Erich. Il ne pouvait plus travailler sur le GRUB à cause de quelques autres tâches, ainsi le mainteneur actuel Gordon Matzigkeit pris la suite de Erich, et ouvrit le développement de façon à ce que tout un chacun puisse y participer.

Techniquement parlant, GNU GRUB a de nombreux aspects qui n'était pas présent dans le GRUB original. Par exemple, GNU GRUB peut être installé sur un système d'exploitation de type Unix (i.e. GNU/Linux) via le shell grub /sbin/grub, il supporte le mode Logical Block Address (LBA) qui résoud le problème de la limite du 1024ème cylindre, et TAB complète un nom de fichier lorsqu'il est unique. Bien sûr, beaucoup de corrections de bugs sont faites, ainsi il est recommandé d'utiliser GNU GRUB.

2. GRUB peut-il démarrer mon système d'exploitation à partir d'un disque dur de plus de 8Go ?

Cela dépend de votre BIOS et de votre système d'exploitation. Vous devez vous assurer que votre disque est accessible dans le mode LBA. Généralement, c'est configurable dans votre BIOS . Lisez le manuel de votre BIOS pour plus d'informations.

De plus, quelques systèmes d'exploitation (i.e. DOS) ne peuvent accéder à des disques de grande capacité, ainsi le problème n'est résolu par aucune sorte de chargeur de démarrage. Pour autant que je le sache, au moins GNU/Hurd et GNU/Linux peuvent démarrer depuis des disques d'une telle capacité.

3. Puis-je placer le Stage2 sur une partition au-delà du 1024ème cylindre ?

Oui, vous pouvez, si votre BIOS supporte le mode LBA Bien que vous ayez à utiliser un Stage1 spécial dans la version précédente, ce n'est plus nécessiare, parce que le Stage1 supporte maintenant les deux modes.

4.Comment créer une disquette de démarrage GRUB avec un menu ?

  1. Créez un système de fichiers sur votre disquette(e.g. mke2fs /dev/fd0).
  2. Montez la disquette quelque part, disons, /mnt.
  3. Copiez les images du GRUB dans le répertoire /mnt/boot/grub. Seuls les stage1, stage2 et le menu.lst sont nécessaires. Vous pouvez ne pas copier le *stage1_5.
  4. Démonter la disquette.
  5. Exécutez les commandes suivantes (remarquez que l'exécutable grub peut résider dans un répertoire différent de votre système, par exemple, /usr/sbin) :
    /sbin/grub --batch --device-map=/dev/null <<EOF
    device (fd0) /dev/fd0
    root (fd0)
    setup (fd0)
    quit
    EOF
    

5. Comment spécifier une partition ? Cela semble très différent de mon système d'exploitation...

Oui,la syntaxe des périphériques GRUB est très différente des autres, mais ressemble quelque peu à DOS et Windows 98. GRUB ne fait pas la distinction entre IDE et SCSI, ainsi vos disques durs sont représentés ainsi (hd%d) (%d est un entier, décompté à partir de zéro). De même, vos disquettes sont représentées ainsi (fd%d).

Le point qui engendre beaucoup de confusion chez les utilisateurs est le style de numérotation des partitions. GRUB compte les partitions à partir de zéro, tandis que presque tous les systèmes d'exploitation comptent à partir de un. Un jour notre corrigerons cette incohérence.

6. GRUB ne reconnaît pas ma partition GNU/Hurd.

Je ne sais pas pourquoi, mais les auteurs du programme FDISK ont assigné le type x63 à la partition GNU/Hurd de façon incorrecte. Ainsi utilisez 0x83 si la partition contient un système de fichiers ext2, et utilisez 0xA5 si la partition contient un système de fichiers ffs, que la partition soit occupée par Hurd ou non. Nous utiliserons 0x63 pour le système de fichiers GNU Hurd qui n'a pas encore été implémenté.

7. J'ai installé une version récente de binutils, mais GRUB plante encore lors du lancement.

Veuillez vérifier la version utilisée de binutils avec cette commande :

$ ld -v

Cela vous montrera deux versions, mais seul la seconde est importante. Si la version est identique à celle que vous avez installée, l'installation n'est pas mauvaise.

Bien, essayez :

$ gcc -Wl,-v 2>&1 | grep "GNU ld"

Si ce n'est pas identique au résultat du dessus, vous devrez spécifier le répertoire où vous avez installé binutils pour le script configure, comme ceci :

$ ./configure --with-binutils=/usr/local/bin

Si vous suivez les instructions ci-dessus mais que GRUB plante encore, il y a probablement un sérieux bogue dans GRUB. Reportez-le s'il vous plaît : Bug Tracking System.

8. Je ne peux pas compiler GRUB sur Red Hat 7.0.

Avez-vous lu ce message ? Nous n'avons jamais supporté une version non-officielle. gcc.

9.Comment puis-je spécifier une taille de mémoire arbitraire à Linux ?

Mettez l'option mem= dans votre noyay Linux, comme ceci :

grub> kernel /vmlinuz mem=128M

Vous pouvez ajoutez d'autres options de la même façon. Reportez vous à la documentation de Linux, pour les options disponibles.

10. Comment démarrer Windows (ou DOS) depuis un disque secondaire ?

Utilisez cette commande map, pour échanger les BIOS des disques virtuellement, comme ceci :

grub> map (hd0) (hd1)
grub> map (hd1) (hd0)

11.J'ai une partition de démarrage GNU/Linux (ou un autre UNIX-like), et GRUB semble ne pas gérer cette situation correctement.

C'est souvent reporter comme étant un bogue, mais ce n'est pas vraiment un bogue. C'est une fonctionnalité de GRUB.

Parce que GRUB est un gestionnaire de démarrage et il tourne normalement sous aucun système d'exploitation particulier, il ne sait pas où une partition est montée dans votre système d'exploitation. Ainsi, si vous avez une partition /boot et que vous avez installé les images de GRUB dans le répertoire /boot/grub, GRUB reconnaît les images présentes dans le répertoire /grub mais pas /boot/grub. Et c'est bien ainsi, puisqu'il n'y a aucune garantie que tous les systèmes d'exploitation montent la même partition sous /boot.

Il y a plusieurs solutions à cette situation :

  1. Installez GRUB dans le répertoire /boot/boot/grub au lieu de /boot/grub. Cela peut sonner faux mais ça marche bien.
  2. Créez un lien symbolique avant d'installer GRUB, comme cd /boot && ln -s . boot. Cela marche seulement si le système de fichiers présent sur la partition de boot supporte les liens symboliques et GRUB supporte aussi cette fonctionnalité.
  3. Installez GRUB avec la commande install, pour spécifier les chemins vers les images de GRUB de façon explicite. voici un exemple :
          grub> root (hd0,1)
          grub> install /grub/stage1 d (hd0) /grub/stage2 p /grub/menu.lst
          

12. Comment désinstaller GRUB de mon disque dur ?

Il n'y a pas de concept de désinstallation pour les gestionnaires de démarrage, parce que si vous désinstallez un gestionnaire de démarrage, il ne vous restera qu'une machine ne pouvant démarrer. Ainsi, vous devez simplement restaurer le gestionnaire de démarrage que vous voulez avoir sur votre disque, c'est-à-dire, installer le gestionnaire de démarrage sans désinstaller GRUB.

Par exemple, si vous voulez installer le gestionnaire de démarrage de Windows, faites simplement FDISK /MBR sur Windows. Si vous voulez installer LILO (Bien que je ne puisse pas imaginer pourquoi vous voudriez faire une telle chose), faites /sbin/lilo sur GNU/Linux.

13. GRUB décroches quand j'accède à mon disque IDE de grande capacité.

Si votre disque a une capacité supérieure à 32 Go, mettre à jour votre BIOS résoudra probablement votre problème. Ce bogue est bien connu et beaucoup de vendeurs devraient proposer des versions corrigées. Par exemple, si vous avez une ASUS-P3BF, mettez à jour le BIOS à V1007beta1 ou plus récent peut corriger cela. S'il vous plaît, demandez à votre vendeur, pour plus d'information.

14. GRUB décroche quand j'accède à mon disque SCSI.

Vérifiez si vous avez activé le support de l'extension INT 13 (LBA). Si c'est ainsi, désactivé le support et voyez si GRUB peut maintenant accéder à votre disque SCSI. Cela permettra de savoir si votre SCSI BIOS fonctionne ou non.

Pour le moment, nous savons que le matériel suivant ne supporte pas le mode LBA :

Dans le cas où malheureusement vous avez un tel contrôleur SCSI, vous ne pouvez pas utiliser le mode LBA, bien que GRUB fonctionne encore bien dans le mode CHS (le si connu problème du 1024ème cylindre vient de nouveau à votre rencontre).

15. J'ai installé GRUB, mais il vient juste de raccrocher.

Il y a plusieurs possibilités, mais c'est probablement qu'il y a quelque chose d'incorrect dans votre fichier map des périphériques. Jetez un oeil au fichier /boot/grub/device.map. Le format est bien documenté dans le manuel.

S'il y a quelque chose qui cloche, modifiez le fichier de façon appropriée et relancez grub-install.

Si vous avez encore un problème ou que vous ne savez pas comment le modifier, ce sera plus facile d'installer GRUB avec une disquette de boot plutôt que de s'accrocher à grub-install.

16. Pourquoi Linux (FreeBSD, NetBSD, etc.)ne devient-il pas Multiboot-compliant ?

Veuillez demandez aux mainteneurs. Si tous les noyaux libres étaient Multiboot-compliant, le monde serait une utopie...


[ English | German | Spanish ]