GRUB

De Lea Linux
Révision datée du 2 septembre 2005 à 19:06 par PingouinMigrateur (discussion | contributions) (conversion de la documentation originale de Léa par HTML::WikiConverter)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche
GRUB : The GRand Unified Bootloader
par fraazz
Visitez la nébuleuse du Crabe

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.

  1. premier disque : (hd0)
  2. lecteur de disquette : (fd0)
  3. second disque, troisième partition : (hd1,2)
  4. première partition logique du premier disque : (hd0,4)
  5. 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 :

$ grub

Au démarrage de GRUB, vous obtenez un prompt (le shell GRUB) qui intègre un interpréteur de commande avec tabulation:

grub>

Pour afficher la liste des commandes, appuyer sur TAB, pour connaà®tre l'utilisation d'une commande :

grub>help 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 :

# cd /usr/share/grub/i386-pc
# 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 :

grub> root (hd0,0)

indique le disque et la partition contenant le noyau à  démarrer.

grub> setup (hd0)

cette commande installe GRUB sur le MBR du premier disque.

grub> setup (hd0,0)

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.

grub> quit

Charger un OS directement

GRUB peut démarrer tout OS supportant le multiboot (inclus *BSD). Comment ?

  1. indiquer le disque et la partition o๠réside l'OS, commande : root
    grub> root (hd0,0)
  2. charger l'image du noyau, commande : kernel
    grub> kernel file
  3. charger les modules (facultatif), commande : module
    grub> module file
  4. lancer le démarrage, commande : boot
    grub> 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 ?

  1. indiquer le disque et la partition ou réside l'OS, commande : rootnoverify
    grub> rootnoverify (hd0,0)
  2. activer la partition, commande : makeactive
    grub> makeactive
  3. charger le chargeur tiers, commande : chainloader
    grub> chainloader +1
  4. lancer le démarrage, commande : boot
    grub> 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 (hd0) (hd1)
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

title GNU/Linux
kernel (hd1,0)/vmlinuz root=/dev/hdb1

Démarrer MS Windows

title MS Windows
rootnoverify (hd0,0)
makeactive
chainloader +1

Démarrer MS Windows (disque 2 / partition 2)

title MS Windows
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1,1)
makeactive
chainloader +1

Démarrer MS Windows (seconde mouture installée sur le 1er disque)

title MS Windows
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

title FreeBSD
root (hd0,2,a)
kernel /boot/loader

Linux, /boot/grub/menu.lst généré par anaconda RH 8.0 puis modifié :

default=0  #démarre la première entrée par défaut
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
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 :

password --md5 $ki47DRy2a1quIitvskl745sFRsm

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

Cette page est issue de la documentation 'pré-wiki' de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par franco le 02/02/2002.