# 8. Démarrage et boot Cette section retrace la séquence complète depuis la mise sous tension jusqu'au premier processus utilisateur, en couvrant les deux micrologiciels de démarrage (BIOS historique, UEFI moderne), le bootloader, et l'image de démarrage précoce. ## BIOS vs UEFI - **BIOS (legacy)** : lit le premier secteur du disque (*Master Boot Record*, 512 octets, dont 446 pour le code de démarrage) et lui cède le contrôle sans vérification. Limité à des disques de 2 To (adressage 32 bits) et à 4 partitions primaires. - **UEFI** : micrologiciel bien plus riche, capable de lire directement un système de fichiers FAT sur une partition dédiée (*EFI System Partition*) et d'exécuter un exécutable `.efi` — plus de limite pratique de taille de disque (table de partition GPT), et surtout **Secure Boot** : chaque exécutable chargé doit porter une signature cryptographique validée par une clé de confiance stockée dans le micrologiciel, avant même que le bootloader ne s'exécute. ## GRUB — le bootloader le plus répandu GRUB (*GRand Unified Bootloader*) lit sa configuration (`/boot/grub/grub.cfg`, généralement généré automatiquement, jamais édité directement) pour présenter un menu de sélection du noyau à démarrer, avec les paramètres de ligne de commande associés (`root=`, `ro`, options de débogage...). Sur un système UEFI, GRUB lui-même est l'exécutable `.efi` chargé par le micrologiciel — la chaîne de confiance Secure Boot doit donc couvrir GRUB également (shim signé, qui valide à son tour GRUB avant de lui céder le contrôle). ## initramfs — l'image de démarrage précoce Le noyau seul ne sait pas nécessairement parler au périphérique de stockage réel (pilote spécifique, volume chiffré à déverrouiller, volume LVM à assembler) au moment où il doit monter la racine `/`. L'**initramfs** est une petite image en RAM (archive cpio compressée), contenant juste assez d'outils et de pilotes pour préparer cette racine réelle : demander la phrase de passe LUKS, assembler les volumes LVM/RAID, charger les pilotes de stockage nécessaires — avant de basculer (*switch_root*) vers le système de fichiers racine définitif et de lancer PID 1. ## Séquence complète, de bout en bout 1. Micrologiciel (BIOS/UEFI) : auto-test matériel, sélection du périphérique de démarrage. 2. Bootloader (GRUB ou équivalent) : sélection du noyau + paramètres. 3. Noyau : décompression, initialisation des pilotes essentiels, montage de l'initramfs en RAM. 4. initramfs : préparation de la racine réelle (déchiffrement, assemblage LVM/RAID), puis `switch_root`. 5. PID 1 (systemd) : résolution du graphe de dépendances d'unités (section 2), atteinte de la cible par défaut (`default.target`, généralement `graphical.target` ou `multi-user.target`). **Nouveauté 2026** : systemd 261 introduit `systemd-sysinstall`, un installeur textuel qui produit directement une configuration système déclarative (y compris le paramétrage du bootloader) plutôt qu'un script d'installation ad hoc propre à chaque distribution. *(Schéma disponible : `schema.svg`, dans ce dossier.)*