GRUB
GRUB : The GRand Unified Bootloader
Qu'est-ce que GRUB ?
GRUB est un chargeur de démarrage à l'instar de LILO. Il est extrêmement flexible et peut charger un système sans enregistrer la position physique du noyau sur le disque. Vous pouvez lancer un noyau simplement en précisant son nom de fichier et le disque (et la partition) sur lequel il réside. Pour ce faire, vous pouvez utiliser l'interface ligne de commande ou l'interface menu. Il est inutile de relancer GRUB après une modification de sa configuration. Toute modification du fichier de configuration /boot/grub/menu.lst est immédiatement prise en compte. Rappelons enfin que Linux peut être installé sur n'importe quelle partition.
Conventions de numérotation
Avec GRUB la numérotation des disques et partitions est différente de ce que vous avez pu voir par ailleurs. GRUB nécessite que le nom du périphérique soit entre parenthèses.
Important : GRUB compte à partir de zéro.
- premier disque : (hd0)
- lecteur de disquette : (fd0)
- second disque, troisième partition : (hd1,2)
- première partition logique du premier disque : (hd0,4)
- second disque, partition BSD 'a' : (hd1,a)
GRUB n'effectue aucune distinction entre les disques IDE et SCSI. N'oubliez pas que les partitions étendues sont nommées (hdx,4) et ce, même si vous avez moins de quatre partitions primaires.
Comment spécifier un fichier ? (hd0,0)/vmlinuz
Installation de GRUB
GRUB s'installe comme n'importe quel autre logiciel. Une fois installé sur votre disque dur, vous pouvez le démarrer avec la commande :
Au démarrage de GRUB, vous obtenez un prompt (le shell GRUB) qui intègre un interpréteur de commande avec tabulation:
Pour afficher la liste des commandes, appuyer sur TAB, pour connaître l'utilisation d'une commande :
Vous pouvez également créez une disquette de démarrage GRUB.Pour ce faire, copiez les fichiers /usr/share/grub/i386-pc/stage1 (image utilisée pour lancer GRUB) et /usr/share/grub/i386-pc/stage2 (image noyau de GRUB) sur les blocs respectifs 1 et 2 de la disquette :
# dd if=stage1 of=/dev/fd0 bs=512 count=1
1+0 records in
1+0 records out
# dd if=stage2 of=/dev/fd0 bs=512 seek=1
153+1 records in
153+1 records out
Appelé depuis le système ou démarré à partir d'une disquette, vous accédez au shell GRUB :
indique le disque et la partition contenant le noyau à démarrer.
cette commande installe GRUB sur le MBR du premier disque.
et celle-ci sur le secteur de démarrage de la première partition du premier disque. Si vous installez GRUB sur une partition ou un disque autre que le premier vous devez le chaîner avec un autre chargeur de démarrage.
Charger un OS directement
GRUB peut démarrer tout OS supportant le multiboot (inclus *BSD). Comment ?
- indiquer le disque et la partition o๠réside l'OS, commande : rootgrub> root (hd0,0)
- charger l'image du noyau, commande : kernelgrub> kernel file
- charger les modules (facultatif), commande : modulegrub> module file
- lancer le démarrage, commande : bootgrub> boot
Des paramètres peuvent être passés au noyau, à ajouter après la commande kernel.
Chaîner un OS
GRUB peut démarrer tout OS dont le noyau n'est pas supporté (ex. MS Windows 95) par chaînage. Comment ?
- indiquer le disque et la partition ou réside l'OS, commande : rootnoverifygrub> rootnoverify (hd0,0)
- activer la partition, commande : makeactivegrub> makeactive
- charger le chargeur tiers, commande : chainloadergrub> chainloader +1
- lancer le démarrage, commande : bootgrub> boot
Si MS Windows n'est pas installé sur le premier disque, vous devrez utiliser la technique du swapping disque qui consiste à le leurrer en lui faisant croire qu'il est bien sur le premier disque.
grub> map (hd1) (hd0)
Cette technique fonctionne si MS Windows utilise le BIOS pour accéder aux disques, mais peut échouer s'il en est autrement.
Si plusieurs systèmes MS Windows sont utilisés sur le même disque, vous devrez utiliser les commandes hide et unhide.
Exemples de fichiers de configuration
Le fichier de configuration de GRUB est : /boot/grub/menu.lst
Démarrer Linux
kernel (hd1,0)/vmlinuz root=/dev/hdb1
Démarrer MS Windows
rootnoverify (hd0,0)
makeactive
chainloader +1
Démarrer MS Windows (disque 2 / partition 2)
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1,1)
makeactive
chainloader +1
Démarrer MS Windows (seconde mouture installée sur le 1er disque)
unhide (hd0,0) #la première partition est masquée
hide (hd0,1) #la seconde partition est vue ou démasquée
rootnoverify (hd0,0)
makeactive
chainloader +1
Démarrer FreeBSD
root (hd0,2,a)
kernel /boot/loader
Linux, /boot/grub/menu.lst généré par anaconda RH 8.0 puis modifié :
timeout=10 #démarrage automatique après 10 secondes
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
password --md5 $ki47DRy2a1quIitvskl745sFRsm
title Red Hat Linux (2.4.18-19.8.0)
root (hd0,0)
kernel /boot/vmlinuz-2.4.18-19.8.0 ro root=LABEL=/ hdd=ide-scsi hdc=ide-scsi
initrd /boot/initrd-2.4.18-19.8.0.img
Sécurité
Vous pouvez protéger l'accès à votre chargeur de démarrage à l'aide d'un mot de passe crypté.
Lancer le shell GRUB (su to root) :
grub> md5crypt
entrez votre mot de passe :
Password: **********
Encrypted: $ki47DRy2a1quIitvskl745sFRsm
puis, copiez le mot de passe crypté dans votre fichier de configuration /boot/grub/menu.lst :
L'argument password peut être utilisé pour restreindre certaines entrées; dans ce cas il est inséré juste sous la ligne "title" à démarrer.
Restauration de Grub
... en cas d'écrasement par, par exemple, une installation de Windows.
Il arrive, si vous réinstallez windows sur le même disque dur que votre installation de Linux, que celui-ci écrase le master boot record qui charge directement la partition windows au lieu de passer par Grub ou Lilo, je ne sais pas pour les autres distributions (je suppose que cela doit être plus ou moins semblable) mais en ce qui concerne la mandriva 2006, il suffit de :
- booter avec le DVD ou 1er CD
- appuyer sur F1 pour les options avancées
- comme le texte vous le dit : taper "rescue"
- puis un utilitaire se lance, appuyer sur <key>Entrée</key> dans la partie Rescue Bootloader
- 3 fois <key>Entrée</key> aux questions qu'ils vous posent (il n'est pas interdit de les lire...)
- rebooter l'ordinateur
Et le tour est joué
Pour en savoir plus (beaucoup plus) sur GRUB
- GNU GRUB Manual
- Manuel GRUB GNU
- $ info grub
- $ man grub
@ Retour à la rubrique Administration système
Copyright
© 02/02/2002 fraazz
Ce document est publié sous licence Creative Commons Attribution, Partage à l'identique, Contexte non commercial 2.0 : http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ |