Grub (Grand Unified Bootloader)

05 Mar. 2005
Auteur : Hyacinthe MENIET
Responsable : TrustRobot
Score ( voter ) :
Connexes : Même auteur | Même responsable | Historique

1. Généralité sur les chargeurs d'OS :

A l'amorçage du PC, votre BIOS se lance et essaye d'amorcer les périphériques suivant l'ordre des périphériques amorçables que vous lui avez indiqué. Dans le cas du disque dur, il lit le MBR (Master Boot Record) et exécute le programme qui s'y trouve. Si ce programme est un chargeur d'OS alors c'est ce dernier qui est lancé. Les chargeurs d'OS sont souvent fractionnés en 2 parties, car le MBR ne fait que 512 octets. La première partie (celle dans le MBR) servant à lancer la seconde située sur votre disque dur. Un Chargeur d'Os met à votre disposition un menu, plus ou moins agréable visuellement. Ce menu vous permet de choisir l'OS à charger, généralement en cas de non-choix c'est l'OS par défaut qui est démarré, la durée d'attente étant bien-sûr paramétrable.

2. Installation de Grub :

Grub (GRand Unified Bootloader) est le chargeur d'OS du Hurd. Il est capable de démarrer à peut près tout, de Linux à Windows NT en passant par BeOs,FreeBSD, NetBSD, OpenBSD, Windows 9x etc ... Plus souple et plus puissant que lilo, il s'installe sur ext2, ext3, reiserfs, JFS et XFS. Si vous avez grub, présent sur vos CDROMs, la procédure d'installation classique (de votre distribution) vous l'installera. Je vais détailler ici la procédure d'installation manuelle. Vous pouvez télécharger la version la plus à jour de grub ICI , la dernière version étant la 0.92. Toutes les lignes qui suivent sont à taper dans un terminal (la petite tv noire en bas à gauche) en tant que root.
tar -xzvf /où_est_grub/grub-0.92.tar.gz cd grub-0.92/ ./configure --prefix=/usr --sbindir=/sbin --mandir=/usr/share/man --infodir=/usr/share/info --disable-auto-linux-mem-opt make make install
Grub est installé mais pas prêt à être configuré. Pour cela vous devez utiliser le script grub-install et indiquer à ce dernier le nom de votre partition / (Ou /boot, si elle est indépendante). Dans la comande qui suit, je suppose que / correspond à /dev/hda4, si ce n'est pas le cas chez vous, adaptez!
grub-install /dev/hda4

3. Convention de nommage des périphériques :

GRUB exige que les noms de périphériques se trouvent entre ( et ). Dans (fd0) La partie fd signifie qu'il s'agit d'une disquette. Le nombre 0 représente le numéro du lecteur, qui est compté à partir de zéro. Cette expression veut dire que GRUB utilisera la disquette n° 1 en entier. Dans (hd0,1) hd signifie qu'il s'agit d'un disque dur. Le premier nombre 0 indique, le numéro du disque, qui est ici le premier disque, alors que le second entier 1 indique le numéro de la partition. Encore une fois, notez que les numéros de partitions sont déterminés à partir de 0, et non depuis 1. Cette expression désigne la deuxième partition primaire du premier disque dur. (hd0,4) désigne la première partition logique du premier disque dur. Notez que les numéros des partitions étendues sont comptés à partir de 4, sans tenir compte du nombre réel de partitions primaires sur votre disque dur. Dans la même veine (hd1,3) est la 4ème partion primaire du deuxième disque dur, (hd0) désigne le premier disque dur en entier.

4. Configuration du fichier /boot/grub/menu.lst :

/boot/grub/menu.lst est le fichier de configuration de grub, en voici un exemple commenté :
#Ceci indique à grub qu'il démarrera le premier OS de la liste
default 0
#Signifie que grub démarrera l'OS par défaut après 5 secondes
timeout 5
#Sert à configurer le fond de la page d'accueil de Grub, si vous n'avez pas de fichier
#/boot/grub/splash.xpm.gz vous pouvez effacer cette ligne
splashimage=(hd0,3)/boot/grub/splash.xpm.gz

#quelques gadgets :

#Si vous n'avez pas d'images vous pouvez néanmoins colorer grub avec la ligne :
#color black/cyan yellow/cyan
#Enfin vous pouvez personnaliser le message d'accueil en modifiant le fichier
#/boot/grub/messages. et en rajoutant la ligne :
#i18n (hd0,3)/boot/grub/messages
#Vous pouvez bénéficier d'un clavier fr dès l'amorçage, si vous avez
#un fichier /boot/fr-latin1.klt, rajoutez alors la ligne :
#keytable (hd0,3)/boot/fr-latin1.klt

#Début de la liste des OS à charger

#Pour un Linux

#title Linux défini l'entrée "Linux" dans le menu
title Linux
#Ici vous indiquez la partition / de linux
root (hd0,3)
#Ici vous indiquez explicitement où se situe l'image de votre noyau
#Généralement /boot/vmlinuz ou /vmlinuz
#root indique le nom de votre partition / en langage linux
#Vous pouvez de plus passer des commandes au noyau mais à la différence de lilo
#vous n'avez pas besoin de append="".
#vga, permet de fixer la résolution du mode console
kernel /boot/vmlinuz root=/dev/hda4 hdc=ide-scsi hdd=ide-scsi vga=773

#Pour un Windows

#title Windows défini l'entrée "Windows" dans le menu
title Windows
#La partition où se trouve les fichiers de boot de Windows
root (hd0,0)
#Positionne le drapeau active de la partition
makeactive
#Commande de chargement chaîné de Windows
chainloader +1

#Pour une disquette

title floppy
root (fd0)
chainloader +1
Voici un bref aperçu des différents vga possibles :
Nombre de Couleurs 640x480 800x600 1024x768 1280x1024 1600x1200
256 769 771 773 775 796
32 768 784 787 790 793 797
65 536 785 788 791 794 798
16.8M 786 789 792 795 799
Donc 773 correspond à 1024x768 en 256 couleurs.

5. Post Installation :

Pour que grub fonctionne correctement, vous devez le disposer soit dans le mbr soit sur votre partition / (ou /boot). Pour ce faire commencez par lancer le shell de grub en tapant : grub Maintenant vous devez indiquer à grub où se trouve votre partition / par : grub> root (hd0,3) Ceci suppose que votre / soit la 4ème partition primaire du premier disque dur. Vous devez maintenant indiquer à grub où il doit se placer, par : grub> setup (hd0) Là je mets grub dans le mbr de mon PC, si j'avais souhaité le mettre sur ma /, j'aurais entré : grub> setup (hd0,3) Une fois satisfait, vous pouvez quitter en tapant simplement : grub> quit Ceci n'est à faire qu'une fois lors de l'installation, les modifications du menu dans /boot/grub/menu.lst sont prises en compte au redémarrage.

6. Restauration de Grub en mode rescue :

Vous avez par mégarde effacé votre grub ? aucun problème, il vous suffit de démarrer en mode console pour le restaurer. Voici comment le faire grâce au CDROM de votre distribution : A ce stade vous êtes en mode rescue, cependant pour Mandriva et slackware vous devez acter encore un petit peu :
mkdir /tmp/linux mount -t ext2 -o rw /dev/hda4 /tmp/linux
Pour restaurer grub dans le mbr, tapez simplement :
/tmp/linux/usr/sbin/grub --config-file=/tmp/linux/boot/menu.lst grub> root (hd0,3) grub> setup (hd0)

7. Pour Effacer Grub du MBR :

A l'aide d'une disquette de boot de Windows, démarrez et tapez : FDISK /MBR