Kennisbank › Linux Kernel › GRUB : Le chargeur d’amorçage de GNU/Linux — Un guide pratique
linux kernel starter 27 August 2026

GRUB : Le chargeur d’amorçage de GNU/Linux — Un guide pratique

GRUB : Le chargeur d’amorçage de GNU/Linux — Un guide pratique Cet article explique ce qu’est GRUB, comment il fonctionne, et quels outils vous faut-il en tant qu’administrateur système —

En 1999, Gordon Matzigkeit et Yoshinori K. Okuji ont fait de GRUB une partie du projet GNU officiel. À partir de ce moment, le développement a été ouvert aux contributions de programmeurs du monde entier.

La version originale, aujourd'hui appelée GRUB Legacy, avait une base de code complexe et difficile à maintenir. C'est pourquoi GRUB 2 a été entièrement réécrit avec une architecture modulaire. La dernière version de GRUB Legacy était la 0.97, publiée en 2005. Vers 2009, Ubuntu et Fedora ont commencé à installer GRUB 2 par défaut. Selon Wikipédia néerlandophone, GRUB 2 est depuis 2014 le chargeur d'amorçage standard de la plupart des distributions Linux. La version actuelle est la 2.06, publiée en 2021.

Fichier de configuration : grub.cfg

Le fichier de configuration grub.cfg contient la liste des systèmes d'exploitation disponibles, les options du noyau et les menus de démarrage. Les administrateurs système modifient rarement ce fichier directement. Ils utilisent `update-grub`, un stub pour `grub-mkconfig`, qui génère automatiquement le fichier de configuration sur base des noyaux détectés et des paramètres.

Étapes : Configurer et mettre à jour GRUB

Étape 1 : Vérifier la version de GRUB

grub-install --version

Cela confirme que GRUB 2 est installé et affiche le numéro de version.

Étape 2 : Mettre à jour le fichier de configuration GRUB

sudo update-grub

Cette commande régénère `grub.cfg` sur base de la configuration système actuelle. Exécutez-la après l'installation d'un nouveau noyau ou la modification des paramètres de démarrage.

Étape 3 : Consulter le fichier de configuration généré

cat /boot/grub/grub.cfg | less

Vérifiez que les bons noyaux et systèmes d'exploitation figurent dans le menu.

Étape 4 : Choisir temporairement une autre entrée du menu de démarrage

sudo grub-reboot 2

Cela sélectionne la deuxième entrée du menu pour le prochain démarrage, sans modifier définitivement le paramètre par défaut. Utile pour tester de nouveaux noyaux.

Étape 5 : Obtenir des informations sur les périphériques

grub-probe --target=device /boot

Cela indique quel périphérique contient la partition `/boot`. Essentiel lors de la configuration du chargeur d'amorçage.

Étape 6 : Convertir une configuration SYSLINUX au format GRUB

grub-syslinux2cfg /path/to/syslinux.cfg

Cela convertit les fichiers de configuration SYSLINUX vers un format que GRUB peut lire. Prend en charge des variantes comme ISOLINUX et PXELINUX.

Étape 7 : Vérifier les arguments de démarrage du noyau

cat /proc/cmdline

Cela affiche les arguments de démarrage du noyau transmis par GRUB. On y trouve notamment la partition root et les fonctions de sécurité comme secure boot.

Étape 8 : Vérifier les partitions du disque avec les outils GPT

sudo gdisk -l /dev/sda

Cela affiche la table de partitions GPT du disque. GRUB 2 prend en charge MBR et GPT, mais exige sur les disques GPT sans UEFI une petite BIOS Boot Partition.

Vérification

Vérifiez que GRUB fonctionne correctement :

grub-install --version && sudo update-grub

Si les deux commandes s'exécutent sans erreur, GRUB est correctement configuré. Redémarrez l'ordinateur pour confirmer que le menu de démarrage apparaît et charge le bon système d'exploitation.

Problèmes fréquents

Problème 1 : GRUB n'affiche pas le menu de démarrage après l'installation d'un nouveau noyau

Solution : Exécutez `sudo update-grub`. Si le menu n'apparaît toujours pas, vérifiez que le noyau est bien installé avec `dpkg --list | grep linux-image` (sur Debian/Ubuntu) ou `rpm -qa | grep kernel` (sur Fedora/RHEL).

Problème 2 : GRUB ne trouve pas un disque GPT

Solution : Vérifiez qu'une BIOS Boot Partition est présente. Créez-la avec `gdisk` ou `cgdisk` (code de type `ef02`). Cette partition doit faire au moins 1 MiB et ne nécessite aucun système de fichiers.

Problème 3 : GRUB ne démarre pas après une mise à jour

Solution : Démarrez à partir d'un live-CD et réinstallez GRUB :

sudo mount /dev/sda1 /mnt
sudo grub-install --root-directory=/mnt /dev/sda

Remplacez `/dev/sda1` par la partition root appropriée et `/dev/sda` par le disque sur lequel GRUB doit être installé.

Outils de gestion de disque

Outre les utilitaires GRUB, il existe des outils qui ont une influence indirecte sur le fonctionnement de GRUB. gdisk, cgdisk et parted sont utilisés pour créer ou modifier des tables de partitions GPT. Ces outils garantissent que le disque est correctement configuré afin que GRUB puisse être installé.

GRUB 2 prend en charge MBR et GPT, mais a des exigences spécifiques pour chaque format. Sur les disques GPT sans UEFI, une partition BIOS Boot est requise. Ces outils créent cette partition et gèrent la table de partitions.

GRUB fonctionne également avec d’autres composants système. Le fichier /proc/cmdline contient les arguments de démarrage du noyau transmis par GRUB. Ces arguments déterminent, entre autres, la quantité de mémoire utilisée par le système et quelle partition racine est active.

GRUB sur du matériel spécifique

GRUB ne prend pas uniquement en charge les PC x86 standard. Il existe également une prise en charge pour du matériel spécifique. grub-render-label génère par exemple un fichier `.disk_label` pour les systèmes Apple Mac. Ce fichier est utilisé par macOS pour donner un nom et une apparence personnalisés à un disque dans l’Explorateur.

Cette prise en charge démontre que GRUB tient compte des différentes exigences matérielles et des systèmes d’exploitation. Cela rend GRUB utilisable sur une large gamme de systèmes, des serveurs aux ordinateurs de bureau.

GRUB et la sécurité

GRUB joue un rôle dans la sécurité du processus de démarrage. Il prend en charge le secure boot et peut transmettre des arguments de démarrage du noyau qui activent des fonctions de sécurité. Les arguments de démarrage du noyau dans `/proc/cmdline` peuvent indiquer si le secure boot est activé.

GRUB est régulièrement mis à jour pour des correctifs de sécurité. Il est donc important de maintenir GRUB à jour. Sur les systèmes Debian/Ubuntu, cela se fait avec :

sudo apt update && sudo apt upgrade grub-pc

Sur les systèmes Fedora/RHEL :

sudo dnf update grub2

GRUB et la virtualisation

GRUB fonctionne également dans des environnements virtualisés. Dans les machines virtuelles, GRUB est installé sur le disque virtuel et fonctionne de la même manière que sur du matériel physique. Cela permet d’utiliser les mêmes outils et commandes pour gérer GRUB dans les machines virtuelles.

L’architecture modulaire de GRUB 2 facilite l’ajout de la prise en charge de nouveaux matériels. C’est important dans les environnements de virtualisation où le matériel change constamment.

GRUB et le démarrage réseau

GRUB prend en charge le démarrage réseau via PXE. Cela permet de démarrer un ordinateur depuis un serveur réseau plutôt que depuis un disque local. C’est utile dans les environnements où de nombreux ordinateurs doivent être installés ou configurés en même temps.

La variante PXELINUX de SYSLINUX peut être convertie au format GRUB avec `grub-syslinux2cfg`. Cela facilite le transfert de configurations PXE existantes vers GRUB.

GRUB et les systèmes de fichiers

GRUB 2 prend en charge une large gamme de systèmes de fichiers, notamment ext4, Btrfs, XFS et ZFS. Cela signifie que GRUB peut charger des noyaux depuis pratiquement n’importe quel système de fichiers moderne. La prise en charge est constamment étendue avec de nouveaux systèmes de fichiers.

Le fichier de configuration `grub.cfg` est stocké dans la partition `/boot`. Cette partition doit être accessible à GRUB. Il est donc important que la partition `/boot` utilise un système de fichiers pris en charge par GRUB.

GRUB et le firmware

GRUB 2 prend en charge les firmwares BIOS et UEFI. Sur les systèmes UEFI, GRUB est installé comme un exécutable EFI. Cela nécessite une partition système EFI (ESP) avec un système de fichiers FAT.

L’installation sur les systèmes UEFI diffère de celle sur les systèmes BIOS. La commande `grub-install` détecte automatiquement le type de firmware et installe la version appropriée.

GRUB et les systèmes d’exploitation multiples

Une des fonctions les plus importantes de GRUB est la prise en charge de plusieurs systèmes d’exploitation. GRUB affiche un menu avec tous les systèmes d’exploitation disponibles et permet à l’utilisateur de choisir lequel démarrer.

Le fichier de configuration `grub.cfg` contient les éléments de menu pour chaque système d’exploitation. Ceux-ci sont générés automatiquement par `update-grub` sur la base des systèmes d’exploitation détectés.

GRUB et la gestion des noyaux

GRUB joue un rôle central dans la gestion des noyaux. Lorsqu’un nouveau noyau est installé, `update-grub` doit être exécuté pour ajouter le nouveau noyau au menu de démarrage. Cela garantit que le noyau peut être choisi lors du démarrage.

La commande `grub-reboot` permet de sélectionner temporairement un autre noyau. C’est pratique pour tester de nouveaux noyaux sans modifier définitivement le paramètre par défaut.

GRUB et la récupération du système

GRUB peut également être utilisé pour la récupération du système. Si le système ne démarre plus, GRUB peut être utilisé pour charger un noyau alternatif ou un mode de récupération. C’est essentiel pour les administrateurs système.

Les arguments de démarrage du noyau dans `/proc/cmdline` peuvent être modifiés pour démarrer le système en mode de récupération. Cela peut par exemple être nécessaire si le système de fichiers est endommagé.

GRUB et l’automatisation

GRUB peut être automatisé à l’aide de scripts. Le fichier de configuration `grub.cfg` peut être généré à l’aide de `grub-mkconfig` et de scripts personnalisés. Cela permet d’adapter le menu de démarrage à des exigences spécifiques.

Les administrateurs système peuvent créer des scripts qui exécutent automatiquement `update-grub` après l’installation d’un nouveau noyau. Cela garantit que le menu de démarrage est toujours à jour.

GRUB et la documentation

GRUB est largement documenté. La documentation officielle contient des informations détaillées sur toutes les options et commandes. En outre, de nombreux tutoriels et manuels sont disponibles pour des cas d’utilisation spécifiques.

La Wikipédia néerlandophone contient un article détaillé sur GRUB avec des informations sur l’histoire, les versions et les fonctionnalités. Cet article constitue un bon point de départ pour une étude plus approfondie.

Le développement de GRUB reste actif, avec des mises à jour régulières pour les correctifs de sécurité et la prise en charge de nouveau matériel. Son architecture modulaire facilite l’ajout de nouvelles fonctionnalités et l’amélioration de celles qui existent déjà, ce qui maintient GRUB pertinent dans un paysage technologique en constante évolution.

← Retour à la base de connaissances
← Terug naar kennisbank