E.2. GRUB

Le GNU GRand Unified Boot loader (ou GRUB) est un programme permettant à l'utilisateur de sélectionner le système d'exploitation ou noyau qui doit être chargé au démarrage du système. Il permet également à l'utilisateur de transmettre des arguments au noyau.

E.2.1. GRUB et le processus de démarrage sur les systèmes x86 basés sur BIOS

Cette section décrit le rôle spécifique que GRUB joue lors du démarrage d'un système x86 basé sur BIOS. Pour obtenir un aperçu du processus de démarrage global, reportez-vous à la Section F.2, « Examen détaillé du processus de démarrage ».
GRUB se charge en mémoire en suivant les étapes suivantes :
  1. Le chargeur Stage 1, ou chargeur de démarrage principal est lu en mémoire par le BIOS du MBR [14]. Le chargeur de démarrage principal existe sur moins de 512 octets d'espace disque dans le MBR et est capable de charger le chargeur de démarrage Stage 1.5 ou Stage 2.
    Le BIOS ne peut pas lire de tableaux de partitions ou de systèmes de fichiers. Il initialise le matériel, lit le MBR, puis dépend entièrement de l'étape 1 du chargeur de démarrage pour poursuivre le processus de démarrage.
  2. Le chargeur de démarrage Étape 1.5 est lu en mémoire par le chargeur de démarrage Étape 1, si cela est nécessaire. Selon le matériel, une étape intermédiaire est parfois nécessaire pour arriver au chargeur de démarrage Étape 2. Ceci peut être le cas si la partition /boot/ se situe au-dessus de la tête de cylindre 1024 du disque dur ou lorsque le mode LBA (Logical Block Addressing) est utilisé. Le chargeur de démarrage Étape 1.5 se trouve sur la partition /boot/ ou sur une petite portion du MBR et de la partition /boot/.
  3. Le chargeur de démarrage Étape 2 (ou secondaire) est lu et stocké en mémoire. Le chargeur de démarrage secondaire affiche le menu et l'environnement de commandes de GRUB. Cette interface permet à l'utilisateur de sélectionner le système d'exploitation ou le noyau particulier à démarrer, de transmettre des arguments au noyau ou de vérifier des paramètres système.
  4. Le chargeur de démarrage secondaire lit en mémoire le système d'exploitation ou le noyau ainsi que le contenu de /boot/sysroot/. Une fois que GRUB détermine le système d'exploitation ou noyau spécifique à démarrer, il le charge en mémoire et cède le contrôle de la machine à ce système d'exploitation.
La méthode utilisée pour démarrer Linux est appellée direct loading (ou chargement direct) car le chargeur de démarrage lance le système d'exploitation directement. Il n'y a pas d'intermédiaire entre le chargeur de démarrage et le noyau.
Il est possible que le processus de démarrage utilisé par d'autres systèmes d'exploitation soit différent. Par exemple, le système d'exploitation Microsoft® Windows®, ainsi que d'autres systèmes d'exploitation, sont chargés en utilisant le chargement en chaîne. Avec cette méthode, le MBR pointe simplement vers le premier secteur de la partition contenant le système d'exploitation où il trouve les fichiers nécessaires au démarrage proprement dit de ce système d'exploitation.
GRUB prend en charge les méthodes de chargement direct et en chaîne, ce qui lui permet de lancer tout système d'exploitation.

Avertissement

Lors de l'installation, les programmes d'installation DOS et Windows de Microsoft écrasent complètement le MBR, détruisant ainsi tout chargeur de démarrage existant. Si vous créez un système à double démarrage, nous vous conseillons d'installer en premier le système d'exploitation Microsoft.


[14] pour en savoir plus sur le BIOS du système et sur le MBR, reportez-vous à la Section F.2.1.1, « Systèmes x86 basés sur BIOS ».