Les gestionnaires de démarrage (GRUB & consorts)
1. Introduction : Qu'est-ce qu'un gestionnaire de démarrage ?
Un gestionnaire de démarrage (bootloader) est un logiciel chargé par le BIOS ou l'UEFI juste après l'allumage d'un ordinateur. Son rôle est :
- Charger un ou plusieurs systèmes d'exploitation.
- Fournir à l'utilisateur un choix pour sélectionner le système à démarrer.
- Passer les arguments nécessaires au noyau du système sélectionné.
2. GRUB : GNU GRand Unified Bootloader
Origine : Développé par GNU dans les années 90, puis complètement réécrit en 2002 pour devenir GRUB2 (actuellement utilisé).
- Fonctionnement général de GRUB :
- Divisé en deux parties principales :
- Stage 1 (initial) : Chargé par BIOS/UEFI, localise Stage 2.
- Stage 2 (principal) : Charge les fichiers nécessaires au boot depuis le système de fichiers.
- Utilise des fichiers de configuration :
- /boot/grub/grub.cfg (généré automatiquement via update-grub)
- /etc/default/grub pour configuration simple et intuitive.
- Caractéristiques principales de GRUB :
- Supporte BIOS et UEFI.
- Capacité à charger directement des noyaux Linux, des systèmes BSD, et d'autres systèmes (Windows, etc.).
- Prise en charge complète des systèmes de fichiers modernes (EXT, Btrfs, ZFS, NTFS, FAT, etc.).
- Console interactive (ligne de commande intégrée).
- Modularité : charge dynamiquement les modules nécessaires.
- Avantages :
- Très flexible, configurable, et fiable.
- Large compatibilité avec de nombreux systèmes d'exploitation.
- Capable de gérer plusieurs noyaux Linux avec options avancées (mode dépannage, init différent, etc.).
- Inconvénients :
- Configuration parfois complexe et verbeuse.
- Temps de démarrage relativement lent comparé à certains bootloaders plus minimalistes.
3. Alternatives majeures à GRUB
- A. Syslinux / Extlinux / ISOLINUX / PXELINUX
Origine : Créé par H. Peter Anvin.
Types :
- Syslinux : Principalement utilisé pour les systèmes basés sur FAT.
- Extlinux : Pour systèmes Linux utilisant EXT, Btrfs, etc.
- ISOLINUX : Pour amorcer depuis des CD/DVD.
- PXELINUX : Pour amorçage réseau PXE.
Avantages :
- Très léger, rapide à charger.
- Configuration simple (fichier texte clair).
- Parfait pour les clés USB bootables et les environnements légers (embarqués).
Inconvénients :
- Moins flexible et puissant que GRUB.
- Support limité des systèmes non-Linux.
- B. LILO (Linux Loader) (historique)
Origine : Premier bootloader largement utilisé sur Linux dans les années 90.
Avantages :
- Simple et rapide.
- Fichier de configuration très clair.
Inconvénients :
- Doit réinstaller (réécrire dans le MBR) à chaque changement du noyau ou configuration.
- Manque de support UEFI natif.
- Considéré comme obsolète aujourd'hui (rarement utilisé en production).
- C. systemd-boot (ex gummiboot)
Origine : Développé initialement sous le nom gummiboot, repris par le projet systemd.
Avantages :
- Extrêmement léger, rapide (chargement direct via UEFI).
- Configuration minimaliste via fichiers texte très simples.
- Idéal pour les systèmes utilisant UEFI, avec démarrage rapide et simple.
Inconvénients :
- Fonctionne exclusivement en mode UEFI (pas de BIOS supporté).
- Limité à Linux et quelques systèmes compatibles EFI (Windows).
D. rEFInd (UEFI Boot Manager)
Origine : Dérivé de rEFIt (initialement utilisé sur macOS).
Avantages :
- Très convivial, interface graphique attractive.
- Détecte automatiquement de nombreux systèmes d'exploitation EFI.
- Adapté aux configurations multi-systèmes (Linux, Windows, macOS).
Inconvénients :
- Limité à l'environnement UEFI.
- Peu utile dans les contextes très minimalistes.
- E. Loader BSD (FreeBSD bootloader)
Origine : Inclus par défaut dans FreeBSD, NetBSD, OpenBSD.
Avantages :
- Très fiable et robuste.
- Configuration simple et efficace.
- Parfaitement intégré aux systèmes BSD.
Inconvénients :
- Assez minimaliste : convient principalement aux BSD.
- Moins adapté aux configurations complexes multiboot Linux/BSD/Windows.
4. Tableau récapitulatif rapide des principaux bootloaders :
| Critère |
GRUB2 |
Syslinux |
LILO |
systemd-boot |
rEFInd |
BSD loader |
| BIOS Support |
Oui |
Oui |
Oui |
Non |
Non |
Oui |
| UEFI Support |
Oui |
Limité |
Non |
Oui |
Oui |
Oui (limité) |
| Complexité config. |
Haute |
Faible |
Faible |
Très faible |
Faible |
Moyenne |
| Multiboot avancé |
Oui |
Limité |
Oui (simple) |
Limité |
Très bon |
Moyen |
| Rapidité démarrage |
Moyen |
Très rapide |
Rapide |
Très rapide |
Rapide |
Rapide |
5. Comment choisir son gestionnaire de démarrage ?
- Complexité du système :
GRUB est idéal pour le multiboot complexe.
Syslinux/systemd-boot parfait pour des configurations simples.
- Système firmware :
UEFI (systemd-boot, rEFInd), BIOS (GRUB, Syslinux), ou les deux (GRUB).
- Rapidité du boot :
Privilégier systemd-boot ou Syslinux pour un démarrage rapide.
- Convivialité et esthétique :
rEFInd est idéal pour les utilisateurs préférant une interface graphique attrayante.
6. Conclusion
- GRUB2 reste dominant sur Linux grâce à sa flexibilité et sa robustesse dans les scénarios complexes de multiboot.
- Des alternatives plus minimalistes comme Syslinux ou systemd-boot gagnent en popularité pour leur simplicité et rapidité sur systèmes modernes UEFI.
- rEFInd apporte une touche conviviale et visuelle, idéale pour les utilisateurs moins techniques.
- Les BSD continuent de privilégier leur loader natif, robuste et simple.