Red Hat Enterprise Linux 4: Guide de référence | ||
---|---|---|
Précédent | Chapitre 2. Chargeur de démarrage GRUB | Suivant |
Un des points fondamentaux à maîtriser avant d'utiliser GRUB est la façon dont le programme fait référence aux périphériques, tels que votre disque dur et les partitions. Ces informations sont très importantes lorsque vous configurez GRUB pour qu'il démarre plusieurs systèmes d'exploitation.
Lorsque vous faites référence à un périphérique spécifique avec GRUB, utilisez le format suivant (notez que les parenthèses et les virgules sont très importantes dans la syntaxe) :
(<type-of-device><bios-device-number>,<partition-number>)
L'élément <type-of-device> spécifie le type de périphérique à partir duquel GRUB démarre. Les deux options les plus courantes sont hd pour un disque dur et fd pour une disquette de 3,5 pouces. Un autre type de périphérique moins couramment utilisé est également disponible, à savoir nd pour un disque réseau. Des instructions relatives à la configuration de GRUB pour qu'il démarre sur le réseau existent en ligne à l'adresse suivante : http://www.gnu.org/software/grub/manual/.
<bios-device-number> correspond au numéro du périphérique BIOS. Le disque dur IDE primaire est numéroté 0 et un disque dur IDE secondaire est numéroté 1. Cette syntaxe est équivalente à celle utilisée pour les périphériques par le noyau. Par exemple, la lettre a dans hda pour le noyau est analogue au 0 dans hd0 pour GRUB, le b dans hdb est analogue au 1 dans hd1, et ainsi de suite.
<partition-number> se rapporte au numéro d'une partition sur un périphérique. Comme pour l'élément <bios-device-number>, la numérotation des partitions commence par 0. Toutefois, les partitions BSD sont désignées par des lettres, où a correspond à 0, b correspond à 1, et ainsi de suite.
![]() | Astuce |
---|---|
Le système de numérotation de GRUB pour les périphériques commence toujours par 0 et non pas 1. Le non respect de cette distinction est la source d'une des erreurs les plus courantes commises par les nouveaux utilisateurs. |
Par exemple, si un système possède plusieurs disques durs, GRUB fait référence au premier disque dur en tant que (hd0) et au deuxième en tant que (hd1). De la même manière, GRUB fait référence à la première partition du premier disque en tant que (hd0,0) et à la troisième partition sur le second disque dur en tant que (hd1,2).
GRUB fait appel aux règles suivantes pour nommer les périphériques et les partitions :
Peu importe si vos disques durs sont IDE ou SCSI. Le nom de tous les disques durs commence par hd. Les lecteurs de disquette quant à eux commencent par fd.
Pour indiquer un périphérique en entier sans spécifier ses partitions, il suffit de retirer la virgule et le numéro de la partition. Ceci est important lorsque l'on souhaite que GRUB configure le bloc de démarrage maître pour un disque donné. Par exemple, (hd0) indique le MBR sur le premier périphérique et (hd3) indique le MBR sur le quatrième.
Si un système est doté de plusieurs lecteurs de disque, il est très important de connaître l'ordre de démarrage défini dans le BIOS. Cette tâche est relativement simple si vous ne possédez que des disques IDE ou SCSI, mais s'il existe un mélange de périphériques, il est alors critique que le type de lecteur lisant la partition boot soit démarrer en premier.
Lorsque des commandes saisies pour GRUB référencent un fichier, comme une liste de type menu, il est impératif de spécifier le chemin absolu du fichier immédiatement après avoir désigné le périphérique et la partition.
L'exemple suivant illustre la structure d'une telle commande :
(<device-type><device-number>,<partition-number>)</path/to/file>
Dans cet exemple, remplacez <device-type> par hd, fd ou nd. Remplacez <device-number> par le nombre entier du périphérique. Remplacez </path/to/file> par le chemin absolu du périphérique de niveau supérieur.
Il est également possible d'indiquer à GRUB des fichiers qui n'apparaissent pas en fait dans le système de fichiers, tel qu'un chargeur de chaîne qui apparaît dans les tout premiers blocs d'une partition. Pour charger de tels fichiers, vous devez fournir une liste de blocs (blocklist) qui indique bloc par bloc, l'emplacement du fichier sur la partition. Étant donné qu'un fichier est souvent constitué de plusieurs blocs, les listes de blocs utilisent une syntaxe particulière. Chaque bloc contenant le fichier est spécifié par un nombre de blocs décalé, suivi du nombre de blocs existant après ce point de décalage précis. Les décalages des blocs sont énumérés séquentiellement dans une liste délimitée par des virgules.
Prenons l'exemple de la liste de blocs ci-dessous pour illustrer cette notion :
0+50,100+25,200+1 |
Cette liste de blocs indique à GRUB qu'il doit utiliser un fichier commençant au premier bloc de la partition et qui utilise les blocs 0 à 49, 99 à 124 et 199.
Il est très utile de savoir comment écrire des listes de blocs, particulièrement lorsque GRUB doit charger des systèmes d'exploitation qui utilisent le chargement en chaîne. Vous pouvez laisser tomber le décalage de blocs si vous commencez au bloc 0. Par exemple, le fichier de chargement en chaîne sur la première partition du premier disque dur devrait s'appeler ainsi :
(hd0,0)+1 |
Vous pouvez également utiliser la commande chainloader suivante avec un mode d'indication de liste de blocs similaire à la ligne de commande GRUB après avoir spécifié le bon périphérique et la bonne partition et en étant connecté en tant que root :
chainloader +1 |
L'utilisation du terme système de fichiers root a un sens différent dans GRUB. Il est important de se rappeler que le système de fichiers root de GRUB n'a rien à voir avec le système de fichiers root de Linux.
Le système de fichiers root de GRUB est le niveau supérieur du périphérique spécifié. Par exemple, le fichier image (hd0,0)/grub/splash.xpm.gz est situé au sein du répertoire /grub/ au niveau supérieur (ou root) de la partition (hd0,0) (qui est en fait la partition /boot/ du système).
Ensuite, la commande kernel est exécutée avec l'emplacement du fichier noyau spécifié en option. Une fois que le noyau Linux démarre, il monte le système de fichiers root auquel les utilisateurs Linux sont habitués. Le système de fichiers root de GRUB monté au départ et ses montages sont oubliés ; en effet, ils ne servaient qu'au démarrage du fichier noyau.
Pour de plus amples informations, lisez les notes relatives aux commandes root et kernel contenues dans la Section 2.6.
Précédent | Sommaire | Suivant |
Installation de GRUB | Niveau supérieur | Interfaces GRUB |