Le 'GNU GRand Unified Boot loader' ou GRUB est un programme permettant à l'utilisateur de sélectionner le système d'exploitation ou noyau installés à charger au démarrage du système. Il permet également à l'utilisateur de transmettre des arguments au noyau.
Cette section traite de façon plus détaillée le rôle spécifique que GRUB joue lors du démarrage d'un système x86. Pour obtenir un aperçu du processus de démarrage global, reportez-vous à Section 1.2 Examen détailé du processus de démarrage.
GRUB se charge en mémoire en suivant les étapes suivantes:
Le chargeur de démarrage Étape 1 ou primaire, est lu en mémoire par le BIOS à partir du MBR[1]. Le chargeur de démarrage primaire existe sur moins de 512 octets d'espace disque dans le MBR et peut charger aussi bien le chargeur de démarrage Étape 1.5 que le chargeur de démarrage Étape 2.
Le chargeur de démarrage Étape 1.5 est lu en mémoire par le chargeur de démarrage, si cela est nécessaire. Certains matériels requièrent une étape intermédiaire 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 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.
Le chargeur de démarrage Étape 2 ou secondaire est lu en mémoire. Le chargeur de démarrage secondaire affiche le menu et l'environnement de commandes GRUB. Cette interface vous permet de sélectionner le système d'exploitation ou noyau Linux à démarrer, de transférer des arguments au noyau ou de vérifier des paramètres du systèmes, comme la quantité de mémoire (RAM) disponible.
Le chargeur de démarrage secondaire lit le système d'exploitation ou noyau et initrd en mémoire. Une fois que GRUB détermine le système d'exploitation à 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 de démarrage utilisée pour charger Red Hat Linux est appelée la méthode de chargement direct car le chargeur de démarrage charge directement le système d'exploitation. Il n'y a pas d'intermédiaire entre le chargeur de démarrage et le noyau.
Le processus de démarrage utilisé par d'autres systèmes d'exploitation peut différer. Par exemple, les systèmes d'exploitation DOS et Windows de Microsoft, ainsi que divers autres systèmes d'exploitation propriétaires, utilisent une méthode de démarrage basée sur 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. A cet endroit, il trouve les fichiers permettant de démarrer véritablement ce système d'exploitation.
GRUB prend en charge les méthodes de chargement direct et en chaîne, ce qui permet au système de fonctionner sur la quasi totalité des systèmes d'exploitation.
![]() | Avertissement |
---|---|
Lors de l'installation, le programme d'installation DOS et Windows de Microsoft écrase complètement le MBR, détruisant par là-même tout chargeur de démarrage existant. Si vous créez un système de démarrage double, nous vous conseillons d'installer en premier le système d'exploitation Microsoft. Pour obtenir des instructions à ce propos, reportez-vous à l'appendice intitulée Installation de Red Hat Linux dans un environnement de démarrage double de Guide d'installation de Red Hat Linux. |
GRUB contient un certain nombre de caractéristiques qui le rendent plus intéressant que d'autres chargeurs de démarrage disponibles pour l'architecture x86. Vous trouverez ci-dessous une liste de quelques-unes des caractéristiques les plus importantes:
GRUB offre un véritable environnement pré-système d'exploitation basé sur les commandes sur les ordinateurs x86. Ceci permet à l'utilisateur de bénéficier d'une flexibilité maximale pour le chargement de systèmes d'exploitation avec certaines options ou pour obtenir des informations sur le système. De nombreuses architectures non-x86 ont utilisé pendant des années des environnements pré-système d'exploitation permettant de contrôler le mode de démarrage depuis une ligne de commande. Bien que LILO et d'autres chargeurs de démarrage x86 offrent certaines fonctionnalités de commande, GRUB est doté d;un éventail plus large de fonctions.
GRUB prend en charge le mode 'Logical Block Addressing' (LBA). Le mode LBA place les conversions d'adressage utilisées pour localiser des fichiers dans le micrologiciel du disque et est utilisé sur de nombreux dispositifs IDE et sur tous les dispositifs SCSI. Avant l'arrivée du mode LBA, les chargeurs de démarrage pouvaient se heurter à la limite BIOS de 1024 cylindres, créant des situations dans lesquelles le BIOS se trouvait dans l'incapacité de trouver des fichiers au-delà de cette tête de cylindre du disque. La prise en charge du mode LBA permet à GRUB de procéder à l'amorçage de systèmes d'exploitation résidant sur des partitions situées au-delà de la limite des 1024 cylindres, à condition que votre BIOS prenne en charge le mode LBA. La plupart des révisions BIOS modernes prennent en charge le mode LBA.
GRUB peut lire les partitions ext2. Cette fonctionnalité permet à GRUB d'accéder à son fichier de configuration, /boot/grub/grub.conf, chaque fois que le système démarre, évitant ainsi à l'utilisateur d'écrire une nouvelle version du chargeur de démarrage première étape sur le MBR lors de toute modification de la configuration. L'utilisateur ne devra réinstaller GRUB sur le MBR que si l'emplacement physique de la partition /boot est déplacé sur le disque. Pour en savoir plus sur l'installation de GRUB sur le MBR, reportez-vous à Section 2.3 Installation de GRUB.
[1] | Pour en savoir plus sur le BIOS et le MBR, voir Section 1.2.1 Le BIOS. |