Les gestionnaires d`amorçage LILO et GRUB

Transcription

Les gestionnaires d`amorçage LILO et GRUB
Les gestionnaires d'amorçage LILO et GRUB
Stéphane Gill
[email protected]
Table des matières
Introduction
2
Configurer LILO
2
Enregistrer la configuration LILO
4
Supprimer LILO du MBR
4
Création d’une disquette de démarrage LILO
4
Utilisation de GRUB
5
Désignation des périphériques de stockage
6
Désignation des partitions
6
Désignation des fichiers par leur nom
6
Désigner un périphérique par défaut
7
Commandes de base pour charger un noyau
7
Création d’une disquette de démarrage GRUB
8
Installer le GRUB sur le disque dur
8
Personnaliser le fichier "menu.lst"
9
Installation
9
Changement de niveau d'exécution au démarrage
10
Mode de secours
11
Références
11
Document écrit par Stéphane Gill
© Copyright 2004 Stéphane Gill
Ce document est soumis à la licence GNU FDL.
Permission vous est donnée de distribuer, modifier des copies de ce document tant que cette note apparaît clairement.
Les gestionnaires d'amorçage LILO et GRUB
Introduction
Avec LILO (Linux Loader), Werner Almesberger a certainement signé le programme d’amorçage
le plus répandu. LILO figure dans la plupart des distributions.
GRUB (GRand Unified Bootloader) de GNU est un gestionnaire d’amorçage qui offre beaucoup
plus de fonctionnalité que LILO. C’est pour cette raison que de plus en plus de distribution
adopte GRUB comme gestionnaire d’amorçage.
Dans ce document, …
Configurer LILO
LILO est constitué d’un programme accompagné de son fichier de configuration. Il est possible
de spécifier dans ce fichier jusqu’à 16 configurations différentes. Nous y trouvons en générale
une, deux ou au maximum trois entrées. Le fichier de configuration de LILO s’appelle /etc/lilo.conf.
Voici un exemple de fichier lilo.conf.
boot=/dev/hda
prompt
timeout=50
default=linux
image=/boot/vmlinuz-2.2.12-20
label=linux
initrd=/boot/initrd-2.2.12-20.img
read-only
root=/dev/hda3
other=/dev/hda1
label=dos
Pour configurer LILO il suffit de modifier le fichier /etc/lilo.conf à l’aide d’un éditeur de texte. Vous
pouvez utiliser les options ci-après dans le fichier /etc/lilo.conf:
© Copyright 2004 Stéphane Gill
Page 2
Les gestionnaires d'amorçage LILO et GRUB
Option
Description
boot=périph
Définit le périphérique contenant le secteur d'amorçage. En
l'absence de cette option, la partition racine actuelle sera
utilisée.
label=nom
Renomme une image.
linear
Génère des adresses linéaires de secteurs à la place des
adresses secteur/tête/cylindre. Ces adresses linéaires sont
indépendantes de la géométrie du disque et sont traduites
au vol lors du chargement du système. Les disques
d'amorçage linéaires peuvent ne pas être portables.
message=fichier
provoque l'affichage du contenu de fichier avant l'invite boot.
Le message ne peut excéder 64 Ko. Si le message est
modifié ou déplacé, il faut reconstruire la table.
optional
rend une image optionnelle. Si le fichier n'est pas trouvé, il
ne pourra pas être utilisé pour l'amorçage. Cette option est
utile pour tester de nouveaux noyaux.
password=mot-de-passe
définit un mot de passe pour toules les images. En présence
de l'option restricted, le mot de passe ne s'appliquera qu'à
l'image à laquelle la configuration fait référence.
prompt
impose l'affichage de l'invite boot, sans contrôle préalable
d'enfoncement de touches. Cette option est souvent
associée à timeout, afin de permettre des démarrages
autonomes.
read-only
provoque le montage en lecture seulement du système de
fichiers racine.
read-write
provoque le montage en lecture/écriture du système de
fichiers racine.
restricted
assouplit la protection par mot de passe.
root=périph
définit le périphérique qui devra être monté comme système
de fichiers racine. Si vous indiquez la valeur current, il s'agira
du périphérique utilisé actuellement pour ce montage (à
moins qu'il ne soit changé par l'option de lancement –r)
timeout=secs
définit le nombre de dixièmes de seconde d'attente avant le
chargement de l'image. Cette option sert aussi à définir des
chiens de garde pour l'introduction des mots de passe. La
valeur par défaut correspond à une attente infinie.
© Copyright 2004 Stéphane Gill
Page 3
Les gestionnaires d'amorçage LILO et GRUB
Enregistrer la configuration LILO
Dans la section précédente, nous avons décrit comment relier LINUX et d’autres systèmes
d’exploitation au moyen de LILO, de façon à pouvoir procéder à un choix au démarrage de
l’ordinateur. Après la modification du fichier de configuration il faut enregistrer la configuration à
l’aide de la commande /sbin/lilo.
Après l’appel de la commande /sbin/lilo, le système cherche automatiquement le fichier
/etc/lilo.conf. Le fichier /etc/lilo.conf est lu et les choix de système d’exploitation sont enregistrés.
# /sbin/lilo
Added linux *
Added dos
#
Exemple :
Enregistrer la configuration de lilo se trouvant dans le fichier /etc/lilo2.conf :
/sbin/lilo –C /etc/lilo2.conf
Supprimer LILO du MBR
Sous MS-DOS pour éliminer LILO du MBR il suffit d’utiliser la commande suivante :
C :> FDISK /MBR
et sous Linux :
# /sbin/lilo –u
Création d’une disquette de démarrage LILO
La commande mkbootdisk permet de créer une disquette de démarrage LILO. Il faut d’abord
insérer un disquette formatée puis taper la commande :
© Copyright 2004 Stéphane Gill
Page 4
Les gestionnaires d'amorçage LILO et GRUB
# mkbootdisk --device /dev/fd0 2.2.18
Le numéro 2.2.18 spécifie le numéro du noyau, il faut donc que le noyau /boot/vmlinuz-2.2.18
existe.
Utilisation de GRUB
GRUB possède un interpréteur de commande, « grub-shell », qui peut être démarrer à partir de
Linux.
$ /sbin/grub
Les premières lignes affichées sont explicites :
GRUB
version 0.5.97
(640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported.
TAB lists possible command completions.
For the first word,
Anywhere else TAB lists the
possible completions of a device/filename. ]
grub>
Pour afficher la liste des commandes internes, il suffit d’appuyer sur la touche <TAB> sur la ligne
de commande, voici le résultat :
grub>
Possible commands are: blocklist boot cat chainloader cmp color configfile
debug device displayapm displaymem embed find fstest geometry halt help hide
impsp robe initrd install ioprobe kernel lock makeactive map md5crypt module
moduleno unzip partnew parttype password pause quit read reboot root
rootnoverify savedefault serial setkey setup terminal testload testvbe unhide
uppermem vbeprobe
L'intégralité des commandes est documentée en ligne. La commande help <commande> affiche
une description de <commande>.
Exemple :
Afficher l'aide pour la commande root :
grub> help root
root: root [DEVICE [HDBIAS]]
© Copyright 2004 Stéphane Gill
Page 5
Les gestionnaires d'amorçage LILO et GRUB
Set the current "root device" to the device DEVICE, then attempt
to mount it to get the partition size (for passing the partition
descriptor in `ES:ESI', used by some chain-loaded gestionnaire
.
.
.
Désignation des périphériques de stockage
Pour GRUB, il n'existe pas de différence entre des disques IDE ou SCSI, ils sont tous appelés de
la même façon : hdN où N est un entier. Le premier disque trouvé est désigné par hd0, le
deuxième par hd1, etc...
La désignation d’une unité de données (disque ou partition), se fait en plaçant son nom entre
parenthèses. (hd0) signifie donc que l'on désigne non pas une commande mais un périphérique,
et que cette unité est le premier disque dur.
Une disquette sera désignée par le préfixe fd, avec le même système de numérotation. (fd0)
désigne donc la première unité de disquette.
Enfin, les périphériques réseau, (nd), existe lorsque le réseau a été initialisé.
Désignation des partitions
Pour désigner une partition sur une unité physique, on fait suivre la désignation de l'unité
physique par une virgule et l'identifiant de la partition. Ainsi hd0,0 désigne la première partition
sur le premier disque dur.
A noter que l'écriture (hd0) est tout à fait légitime : dans ce cas on désigne le périphérique
(disque) dans son intégralité. Cette notation est utile pour accéder au MBR, comme le MBR
n'appartient à aucune partition. De même, dans le cas d'une disquette qui n'est pas partionnable
on utilisera également la syntaxe (fd0).
Désignation des fichiers par leur nom
Lorsque le système de fichiers est supporté par GRUB, il est possible d’accéder en appelant les
fichiers en utilisant leur nom. Ainsi :
© Copyright 2004 Stéphane Gill
Page 6
Les gestionnaires d'amorçage LILO et GRUB
(hd2,4)/vmlinuz
désigne le fichier vmlinuz situé à la racine du système de fichiers existant sur la 5ème partition du
troisième disque dur.
Désigner un périphérique par défaut
La commande root permet de désigner un périphérique par défaut. L’utilisation de root permet
d’éviter d'avoir à re-désigner à chaque commande le périphérique.
Exemple :
# root (hd0,0)
stipule donc que le système de fichiers par défaut est celui existant sur la première partition du
premier disque dur.
Note : Pour visualiser les périphériques disponibles invoquer la commande « root » et appuyer
sur TAB. Puis, entrer la commande « root (hd2, » et appuyer sur TAB pour obtenir la liste des
partitions et du type de système de fichiers présents sur le troisième disque dur.
Commandes de base pour charger un noyau
La commande kernel permet d’identifier le noyau qui doit être chargé.
Exemple : Charger le noyau vmlinuz-2.10.4 qui se trouve sur la première partition du premier
disque IDE.
kernel (hd0,0)/tartempion-linux root=/dev/hda2
Les paramètres passés au noyau doivent utiliser une syntaxe compréhensible par le noyau.
Dans l’exemple précédent « root=/dev/hda2 » est paramètre passé au noyau.
Maintenant que le noyau est identifié, il doit être chargé à l’aide de la commande :
boot
Dans le cas d'un noyau non supporté, il faudra passer la main à l'amorceur spécifique du
système, via la commande chainloader.
Exemple : Démarrer Windows XP aui ce trouve sur la deuxième partition du deuxième disque :
© Copyright 2004 Stéphane Gill
Page 7
Les gestionnaires d'amorçage LILO et GRUB
chainloader (hd0,1)+1
boot
Création d’une disquette de démarrage GRUB
L’installation le GRUB sur une disquette débute par la création d’un système de fichiers ext2 sur
une disquette vierge.
# mke2fs /dev/fd0
Créer sur la disquette les deux répertoires /mnt/floppy/boot et /mnt/floppy/boot/grub :
mount -t ext2 /dev/fd0 /mnt/floppy
mkdir /mnt/floppy/boot
mkdir /mnt/floppy/boot/grub
Copier les fichiers stage1 et stage2 dans le répertoire grub de la disquette :
cp /boot/grub/stage? /mnt/floppy/boot/grub
Maintenant, que tous les fichiers sont en place, il faut rendre la disquette amorçable.
umount /dev/fd0
/sbin/grub
Lorsque l’invite de GRUB apparaît, taper les commandes suivantes :
grub> root (fd0)
grub> setup (fd0)
grub> quit
La commande setup (fd0) permet d’installer GRUB dans le « boot sector » de la disquette.
Installer le GRUB sur le disque dur
L’installation de GRUB sur un disque dur ce fait en deux étapes :
•
La personnalisation du fichier menu.lst;
•
L’installation de GRUB dans le MBR.
© Copyright 2004 Stéphane Gill
Page 8
Les gestionnaires d'amorçage LILO et GRUB
Personnaliser le fichier "menu.lst"
À cette étape, la suite des commandes qui permet de démarrer vos systèmes d'exploitation doit
être connue. Il suffit donc d'inscrire ces commandes dans le fichier menu.lst.
Exemple de fichier menu.lst :
# Demarrer Linux
title Linux 2.2.18
kernel (hd0,0)/vmlinuz-2.2.18 root=/dev/sda2
# Demarrer Windows
title Windows
rootnoverify (hd1,1)
makeactive (hd1,1)
chainloader (hd1,1)+1
A noter que par défaut la commande boot est exécutée à l'issue de chaque séquence de
commandes associée à un titre.
Installation
D'abord, GRUB doit être installé correctement sur votre système, depuis les sources ou depuis
un paquetage RPM.
GRUB est accompagné d'images de démarrage, qui sont normalement installées dans le
répertoire /usr/share/grub/i386-pc. Les fichiers stage1, stage2, et stage1_5 doivent être copié
dans le répertoire /boot/grub. Par la suite, créer un fichier menu.lst dans le répertoire /boot/grub.
Finalement, GRUB doit être installé dans le MBR. Pour ce faire, l’interpréteur de GRUB est
démarré.
# grub
et les commandes suivantes sont exécutées :
grub> root (hd0,0)
grub> find /boot/grub/stage1
grub> setup (hd0)
© Copyright 2004 Stéphane Gill
Page 9
Les gestionnaires d'amorçage LILO et GRUB
La commande find, permet de rechercher le fichier /boot/grub/stage1 et ainsi de s’assurer que le
fichier stage1 est au bon endroit.
Pour installé GRUB sur le secteur de démarrage d'une partition au lieu du MBR, précisez la
partition sur laquelle GRUB doit être installé à l’aide de la commande :
grub> setup (hd0,0)
Maintenant, Linux peut être démarrer.
Changement de niveau d'exécution au démarrage
Il est possible de changer le niveau d'exécution au démarrage. En passant comme paramètre au
noyau le niveau d’exécution désiré.
Si vous utilisez LILO comme chargeur de démarrage, accédez à l'invite boot: en tapant [Ctrl]-[X].
Ensuite, entrez:
linux <numéro-d'exécution>
Dans cette commande, remplacez <numéro-d'exécution> par le numéro du niveau d'exécution
auquel vous souhaitez que le démarrage soit amorcé (de 1 à 5), ou les mots single ou
emergency.
Si vous utilisez GRUB comme chargeur de démarrage, suivez les étapes suivantes:
À l'écran de chargeur de démarrage graphique GRUB, sélectionnez le label de démarrage Red
Hat Linux et appuyez sur [e] pour l'éditer.
À l'aide de la flèche bas, aller jusqu'à la ligne de noyau et appuyez sur [e] pour l'éditer.
À l'invite, tapez le numéro du niveau d'exécution souhaité (de 1 à 5) ou les mots single ou
emergency et appuyez sur [Entrée].
Vous retournerez à l'écran GRUB avec les informations sur le noyau. Appuyez sur la touche [b]
pour démarrer le système.
© Copyright 2004 Stéphane Gill
Page 10
Les gestionnaires d'amorçage LILO et GRUB
Mode de secours
Le mode de secours est une méthode permettant de démarrer un petit environnement Linux
entièrement à partir du CD d’installation.
Normalement, vous devez entrer en mode de secours dans une ou deux situations :
•
Vous ne parvenez pas à démarrer Linux et vous aimeriez régler ce problème.
•
Vous avez des problèmes de matériel ou de logiciel et souhaitez retirer quelques fichiers
importants du disque dur de votre système.
Pour démarrer le système en mode de secours :
•
Démarrer le système à partir du CD-ROM d’installation;
•
entrez le paramètre suivant à l'invite de LILO
boot: linux rescue
Références
« Red Hat Linux 9 : Guide de référence Red Hat ». Red Hat Inc., 2003.
Jeffrey Dean « LPI Linux Certification in a Nutshell, A Desktop Quick Reference », O’Reilly, 2001.
GRUB-HOWTO (Thierry Laronde)
La documentation de GNU GRUB
© Copyright 2004 Stéphane Gill
Page 11

Documents pareils