Vous êtes sur la page 1sur 6

Installation et configuration de GRUB

09/02/2000

Cette page vous fera dcouvrir ce formidable gestionnaire d'amorage qu'est GRUB. Elle dcrit les aspects ncessaires une installation et une utilisation simple. D'autres documents sont disponibles, comme le manuel et le HOWTO de Thierry Laronde. Rien ne sera donc vraiment expliqu en dtail ici. L'utilisation de ce document se fait vos risques et prils. Mme s'il est souvent propable que tout ce passe correctement, un problme peut toujours survenir. Agissez donc avec prcaution, faites quelques sauvegardes.

1. Ce qu'il faut savoir pour utiliser GRUB


1.1. La notation des disques et des partitions
GRUB possde sa propre manire de noter les disques et les partitions. Commenons par le nommage des disques. Les disques durs sont reprsents sous la forme (hdn) o n reprsente le numro du disque. C'est bien gentil tout cela, mais comment sont attribus les numros de disques ? La rponse : dans leur ordre de dtection. Le compteur de disques de GRUB commence zro. Le premier disque dur aura donc le numro 0, le deuxime 1, etc. GRUB ne fait aucune distinction entre les disques IDE et SCSI puisqu'il passe par le BIOS qui lui non plus ne les diffrencie pas. Les disques IDE se situent gnralement avant les disques SCSI, mais ce n'est pas le cas si le SCSI prcde l'IDE dans la squence de dmarrage du BIOS. Par exemple, si vous possdez deux disques durs IDE et un disque dur SCSI, cela pourrait donner : (hd0) Premier disque SCSI (hd1) Premier disque IDE (hd2) Second disque IDE L'exemple prcdent est le plus courant, mais cela pourrait trs bien tre : (hd0) Premier disque SCSI (hd1) Premier disque IDE (hd2) Second disque IDE Le lecteur de disquette est dsign, lui, par (fd0). Voyons maintenant pour les partitions.

Les partitions sont nommes sous la forme (hdn,p) o hdn est le disque dur et p le numro de partition, simple ! Les partitions principales sont numrotes de 0 3, les partitions tendues partir de 4. Par exemple, votre partition hda2 sous Linux sera dsigne (hd0,1) sous GRUB. En effet, Linux numrote les partitions partir de 1 et GRUB partir de 0.

1.2. Interfaces de GRUB


GRUB dispose de deux interfaces au dmarrage. La premire est une ligne de commandes toute simple, semblable votre shell. Quelques uns de ses comportements sont hrits de BASH. Elle s'affiche si GRUB ne trouve pas de fichier de configuration, mais elle est aussi accessible n'importe quel moment grce la touche c. Voici quoi elle ressemble :
GRUB version 0.5.96.1 (640K lower / 3072K upper memory)

[ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ] grub>

Cette ligne de commande vous permet d'excuter n'importe quelle action au dmarrage, ce qui est bien utile dans certains cas. GRUB dispose aussi d'un menu qui vous permet de choisir le systme dmarrer. Les entres de ce menu sont dfinies dans le fichier de configuration /boot/grub/menu.lst. Ce fichier contient les mmes commandes que celles disponible dans la ligne de commandes, mais avec deux diffrences principales : la commande boot est sous-entendue dans le fichier de configuration, et chaque entre du fichier de configuration est introduite par la commande title.

2. Tlchargement de GRUB
Si vous ne l'avez pas dj fait, rcuprez les dernires sources de GRUB depuis le serveur CVS :
# cvs -d :pserver:anoncvs@subversions.gnu.org:/cvsroot/grub login # cvs -d :pserver:anoncvs@subversions.gnu.org:/cvsroot/grub co grub

Cette commande tlchargera les dernires sources de GRUB depuis le serveur CVS et les placera dans un rpertoire grub/. Une fois que vous avez obtenu les sources, dcompressez-les, puis compilez et installez GRUB en suivant les instructions du fichier INSTALL. Pour plus d'informations sur la compilation, consultez le manuel de GRUB.

3. Installation de GRUB sur disquette


Une fois GRUB compil et install correctement, copiez les fichiers stage1, stage2 et *stage1.5, qui se trouvent normalement dans /usr/share/grub/i386-pc/, vers le rpertoire /boot/grub/ :

# mkdir /boot/grub # cd /usr/share/grub/i386-pc # cp stage1 stage2 *stage1.5 /boot/grub/

Vous devez tre root pour excuter ces actions. Mettez une disquette vierge (toute donne sera efface) dans le lecteur. Nous allons la formater, copier les images de GRUB et l'installer :
# mkfs.ext2 /dev/fd0 (...) # mount -t ext2 /dev/fd0 /mnt/floppy # mkdir /mnt/floppy/boot # mkdir /mnt/floppy/boot/grub # cp /boot/grub/* /mnt/floppy/boot/grub # umount /mnt/floppy # grub Probing devices to guess BIOS drives. This may take a long time. GRUB version 0.5.96.1 (640K lower / 3072K upper memory)

[ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ] grub> root (fd0) Filesystem type is ext2fs, using whole disk grub> setup (fd0) Checking if "/boot/grub/stage1" exists... yes Checking if "/boot/grub/stage2" exists... yes Running "install /boot/grub/stage1 d (fd0) /boot/grub/stage2 p /boot/grub/menu .lst"... succeeded Done. grub> quit #

Voil ! GRUB est install sur votre disquette ! Vous pouvez la retirer pour le moment, elle nous servira plus tard. Notez que vous pouvez la conserver comme disquette de dpannage.

4. Configuration de GRUB
GRUB possde un fichier de configuration lu chaque dmarrage, ce qui signifie donc qu' chaque modification, il est inutile de rinstaller GRUB, contrairement LILO. C'est ce fichier de configuration qui dfinit les entres du menu de GRUB, en leur donnant un nom et en prdfinissant les commandes excuter. Ce fichier s'appelle /boot/grub/menu.lst. Modifiez-le avec votre diteur de textes prfr (pas de mise en forme !). Comme dans beaucoup de fichiers de configuration, les commentaires sont prfixs du caractre #, et sont simplement ignors. Ajoutez le texte ci-dessous, en l'adaptant votre configuration :
timeout 10 # Indique qu'il faut dmarrer sur l'entre # par dfaut au bout de 10 secondes

default 0

# Numro de l'entre par dfaut

# Voici l'entre 0 title GNU/Linux # Titre qui apparatra au dmarrage root (hdx,x) # Adaptez selon votre partition racine kernel /boot/vmlinuz-qqchose root=/dev/hdxx read-only # Adaptez selon le nom de l'image du noyau et selon votre partition # racine (attention, ici il faut utiliser la notation de Linux # puisque l'argument est destin au noyau !). # L'entre 1 title Windows root (hdx,x) makeactive chainloader +1

# Adaptez la partition racine

# L'entre 2 pour le GNU/Hurd title GNU/Hurd root (hdx,x) # Adaptez la partition racine kernel /boot/gnumach root=hdxsx module /boot/serverboot

Vous pouvez bien sr ne pas entrer certaines sections si vous ne possdez pas par exemple Windows ou le GNU/Hurd. La commande root de GRUB indique le disque/la partition o rside l'image du noyau charger. Si l'image de Linux tait installe sur hda3, vous cririez root (hd0,2). Adaptez aussi le nom de l'image de votre noyau Linux la commande kernel. Profitez de la touche TAB qui permet de complter le nom de fichier/partition s'il est unique, ou d'afficher les diffrentes possibilits, s'il y en a plusieurs. Sauvez ce chef-d'uvre et quittez votre diteur.

5. Enfin, l'installation sur disque dur


Avant de vous lancez, vous devez vrifier certaines choses. Il faut d'abord savoir sur quelle partition se trouve le rpertoire /boot. Pour cela, la commande mount peut vous aider :
# mount /dev/hda6 on / type ext2 (rw) none on /proc type proc (rw) /dev/hdb2 on /usr type ext2 (rw) /dev/hda1 on /boot type ext2 (rw)

Chez moi, /boot est sur une partition ddie, comme l'indique la dernire ligne, la partition est donc /dev/hda1, ce qui fait (hd0,0) pour GRUB. Dans l'exemple suivant, /boot appartient la partition racine :
# mount /dev/hda2 on / type ext2 (rw) none on /proc type proc (rw) /dev/hdb5 on /usr type ext2 (rw)

La partition retenir est donc cette fois-ci (hd0,1). Redmarrez ensuite votre machine avec la disquette de dmarrage de GRUB. Si tout se passe bien, la ligne de commandes apparat. Vous pouver alors entrer (hd0,0 est la partition cherche plus haut) :
grub> root (hd0,0) Filesystem type is ext2fs, partition type 0x83 grub> setup (hd0) Checking if "/boot/grub/stage1" exists... yes Checking if "/boot/grub/stage2" exists... yes Running "install /boot/grub/stage1 d (hd0) /boot/grub/stage2 p /boot/grub/menu .lst"... succeeded Done. grub>

Comme il est courant d'avoir une partition de dmarrage /boot, la commande setup prend en charge ce cas de figure :
grub> root (hd0,0) Filesystem type is ext2fs, partition type 0x83 grub> setup (hd0) Checking if "/boot/grub/stage1" exists... no Checking if "/grub/stage1" exists... yes Checking if "/grub/stage2" exists... yes Running "install /grub/stage1 d (hd0) /grub/stage2 p /grub/menu.lst"... succeeded Done. grub>

Et voil ! GRUB est install sur votre disque dur ! Redmarrez votre machine sans la disquette et le menu de GRUB devrait s'afficher (souvenez-vous du fichier de configuration crit un peu plus tt). Tout fonctionne ? Flicitations !

6. Le mot de la fin
6.1. FAQ
La FAQ (Questions frquemment poses) fait partie du Manuel de GRUB, dont la traduction est disponible sur ce site.

6.2. En cas de problme

Avant toute chose, lisez le Manuel, qui est beaucoup plus dtaill que cette page, la FAQ et les autres pages parlant de GNU GRUB sur le Web. Je veux bien rpondre certaines questions sauf si elles sont dj traites dans ces documents. Si vous pensez avoir trouv un bug, suivez les instructions du chapitre "Signaler des bugs" du Manuel de GRUB.

Vous aimerez peut-être aussi