« GRUB » : différence entre les versions
(conversion de la documentation originale de Léa par HTML::WikiConverter) |
m (Correction du titre) |
||
Ligne 1 : | Ligne 1 : | ||
[[Category:Gestion du boot et du démarrage]] | [[Category:Gestion du boot et du démarrage]] | ||
= GRUB : The GRand Unified Bootloader = | |||
<div class="leatitre">GRUB : The GRand Unified Bootloader</div><div class="leapar">par [mailto:cfraz%20che%20wanadoo%20poing%20org fraazz]</div><div class="leadesc">Visitez la nébuleuse du Crabe</div> | <div class="leatitre">GRUB : The GRand Unified Bootloader</div><div class="leapar">par [mailto:cfraz%20che%20wanadoo%20poing%20org fraazz]</div><div class="leadesc">Visitez la nébuleuse du Crabe</div> | ||
Version du 3 septembre 2005 à 13:30
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 à 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.
Pour en savoir plus (beaucoup plus) sur GRUB
- GNU GRUB Manual
- Manuel GRUB GNU
- $ info grub
- $ man grub