# Hardware - Séquence de démarrage

<table id="bkmrk-difficult%C3%A9%2A-%3Cdescrip" style="border-collapse: collapse; width: 100%; height: 46.8px; border-width: 1px; border-style: hidden;"><colgroup><col style="width: 20%;"></col></colgroup><tbody><tr style="height: 46.8px;"><td style="height: 46.8px; border: 1px groove rgb(52,73,94);">[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/debutant-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/debutant-png.png)</td><td style="height: 46.8px; border-width: 1px; background-color: rgb(236,202,250); vertical-align: top;">Difficulté : Débutant

Notions : Systèmes, matériel, séquence de démarrage.

</td></tr></tbody></table>

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">I. Introduction</span>**</span>

Entre le moment où l'on presse le bouton '<span style="color: rgb(132, 63, 161);">***start***</span>' et le moment où l'on arrive sur le bureau, il se passe beaucoup de choses.

Comprendre la séquence de démarrage permet de diagnostiquer les pannes, optimiser les performances, sécuriser le système et mieux comprendre l’architecture matérielle/logicielle. C’est une compétence clé pour tout technicien ou administrateur système.

Mais également pour bien comprendre les aspects matériels de la cybersécurité.

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">II. Phase matérielle</span>**</span>

Voici à quoi ressemble la séquence côté matériel :

<div drawio-diagram="2813"><img src="https://docs.labs404.fr/uploads/images/drawio/2026-08/drawing-1-1786529194.png" alt=""/></div>

#### <span style="color: rgb(35,111,161);">**2.1 Power On**</span>

Au moment de l'appui, le bouton d’alimentation ferme un circuit électrique qui envoie un signal à l’alimentation (PSU). Celle-ci fournit une tension stable aux composants (CPU, RAM, chipset, périphériques). Le système passe de l’état S5 (Soft Off) à S0 (Fully On).

La PSU vérifie que les tensions sont stables. Il envoie ensuite le signal Power Good à la carte mère, indiquant que le CPU peut commencer l’exécution. Sans ce signal, aucun démarrage n’est possible.

#### <span style="color: rgb(35,111,161);">**2.2 Init firmware (BIOS / UEFI)**</span>

Le CPU démarre à une adresse fixe en ROM où se trouve le BIOS/UEFI.

Il charge son microcode interne, puis exécute le firmware.

<p class="callout info">**Info** : Son microcode peut être mis à jour lors des mises à jour BIOS / UEFI</p>

Le firmware initialise alors les composants essentiels : RAM, contrôleurs, bus, clavier, GPU, etc.

#### <span style="color: rgb(35,111,161);">**2.3 Le POST**</span>

Le POST, pour '<span style="color: rgb(132, 63, 161);">***Power On Self Test***</span>' (auto diagnostic de démarrage), vérifie l’intégrité minimale du matériel : RAM, CPU, GPU, clavier, stockage. En cas d’erreur, le système émet des bips ou affiche un code. Si tout est correct, le firmware passe à la phase suivante.

*Par exemple :*

- *<span style="white-space: pre-wrap;">RAM défectueuse non reconnue ou mal alimentée = bips répétés.</span>*
- *<span style="white-space: pre-wrap;">RAM défectueuse = boucle de reboot</span>*
- *<span style="white-space: pre-wrap;">Bootloader corrompu = “Operating System not found”</span>*
- *<span style="white-space: pre-wrap;">Secure Boot = “Signature invalid”</span>*
- *<span style="white-space: pre-wrap;">TPM = “BitLocker recovery key required”</span>*

#### <span style="color: rgb(35,111,161);">**2.4 Initialisation périphériques**</span>

Le firmware détecte les périphériques bootables (SSD, HDD, USB, réseau). Il applique les paramètres UEFI/BIOS (ordre de boot, Secure Boot, mode AHCI/RAID, etc.). Il détecte et initialise également les périphériques spécifiques (cartes RAID, fond de panier, etc...)

#### <span style="color: rgb(35,111,161);">**2.5 *optionnel - Vérification d’intégrité via TPM (PCR)***</span>

C'est à ce moment que TPM (**T**rusted **P**latform **M**odule) est chargé.

- <span style="white-space: pre-wrap;">Le TPM stocke des **mesures cryptographiques** (PCR) sur l’intégrité du système : firmware, configuration UEFI, bootloader, fichiers critiques.</span>
- <span style="white-space: pre-wrap;">Lors du démarrage, l’UEFI **interroge le TPM** pour vérifier que l’environnement n’a pas été modifié.</span>
- <span style="white-space: pre-wrap;">Si les mesures ne correspondent pas (rootkit, bootkit, modification du firmware), le TPM **refuse de libérer les clés de déchiffrement**.</span>

<details id="bkmrk-point-sur-le-bootkit"><summary>Point sur le bootkit</summary>

- **<span style="text-decoration: underline;">Quest-ce qu'un bootkit ?</span>**

Un **bootkit** est un malware qui s’installe dans la chaîne de démarrage, avant le système d’exploitation. Il modifie le firmware, le bootloader ou les fichiers de démarrage pour prendre le contrôle très tôt. Il permet à l’attaquant de charger du code malveillant avant que l’OS ne soit protégé. C’est l’une des formes les plus avancées de persistance.

- **<span style="text-decoration: underline;">Pourquoi est-il si difficilement détectable ?</span>**

Il s’exécute **avant** l’antivirus, l’OS et les outils de sécurité. Il peut masquer ses fichiers, falsifier les mesures d’intégrité et contourner les logs. Les scanners classiques ne voient pas les modifications du firmware ou du bootloader. Il peut survivre à une réinstallation du système si le firmware est compromis.

- **<span style="text-decoration: underline;">Comment TPM et secure boot protègent des rootkits ?</span>**

**Secure Boot** vérifie que le firmware, le bootloader et les binaires de démarrage sont **signés** et non modifiés. Le **TPM** enregistre des mesures cryptographiques (PCR) de chaque étape du boot. Si un bootkit modifie un composant, les signatures ou les PCR ne correspondent plus. Le système bloque le démarrage ou demande la clé de récupération (BitLocker), empêchant l’exécution du bootkit.

</details>Le firmware compare les mesures stockées dans le TPM avec celles calculées au démarrage.  
Si elles diffèrent, le système peut bloquer le démarrage ou refuser l’accès aux clés BitLocker.

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">III. Phase de Bootloader</span>**</span>

#### <span style="color: rgb(35,111,161);">**3.1 Choix du périphérique de démarrage**</span>

En fonction des priorités définies dans le BIOS, le firmware va choisir le mode de démarrage et le périphérique concerné.

Le firmware lit le premier secteur du disque (MBR) ou la partition EFI (GPT). Il y trouve le bootloader (Windows Boot Manager, GRUB, etc.).

Le bootloader est un programme minimal chargé en mémoire. Il prépare le lancement du système d’exploitation : sélection du noyau, options de démarrage, gestion du multi-boot.


Si '<span style="color: rgb(132, 63, 161);">***secure boot***</span>' est activé, Celui-ci vérifie la signature du bootloader. Il empêchera alors les bootkits non signés de démarrer.

<p class="callout success">**Conseil** : La plupart des BIOS / UEFI ont une fonction de '<span style="color: rgb(132, 63, 161);">***boot override***</span>' ou '<span style="color: rgb(132, 63, 161);">***One Time Boot***</span>' permettant de sélectionner un périphérique de démarrage spécifique exceptionnellement. Le système pourra alors démarrer sur ce périphérique en ignorant temporairement sa séquence de démarrage habituelle.</p>

<p class="callout info">**Info** : Il est également possible de choisir de démarrer sur le réseau. Entamant ainsi une séquence de démarrage spécifique qui ne sera pas couverte ici.</p>

#### <span style="color: rgb(35,111,161);">**3.2** </span><span style="color: rgb(35,111,161);">***optionnel - Déverrouillage du disque via BitLocker***</span>

BitLocker intervient juste après le firmware, au moment du chargement du bootloader, et avant le chargement du noyau. Il<span style="white-space: pre-wrap;"> chiffre le disque système (partition Windows). P</span><span style="white-space: pre-wrap;">our déchiffrer le disque, il a besoin d’une <span style="white-space: pre-wrap;">clé de déverrouillage</span>.</span>

<span style="white-space: pre-wrap;">Cette clé est <span style="white-space: pre-wrap;">stockée dans le TPM</span> ou protégée par un autre mécanisme (PIN, clé USB, mot de passe).</span>

- <span style="white-space: pre-wrap;">Le bootloader tente d’accéder à la partition système.</span>
- <span style="white-space: pre-wrap;">BitLocker demande la clé de déchiffrement.</span>
- <span style="white-space: pre-wrap;">Le TPM libère la clé <span style="white-space: pre-wrap;">**uniquement** si l’intégrité du système est validée</span>.</span>
- <span style="white-space: pre-wrap;">Une fois le disque déchiffré, le bootloader peut charger le noyau.</span>

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">IV. Phase logicielle</span>**</span>

Voici à quoi ressemble la séquence côté logicielle :

<div drawio-diagram="2816"><img src="https://docs.labs404.fr/uploads/images/drawio/2026-08/drawing-1-1786531561.png" alt=""/></div>

#### <span style="color: rgb(35,111,161);">**4.1 Chargement du noyau**</span>

Le bootloader charge le noyau du système (ntoskrnl.exe pour Windows, vmlinuz pour Linux). Le noyau initialise les pilotes essentiels : gestion mémoire, processus, système de fichiers, drivers basiques.

#### <span style="color: rgb(35,111,161);">**4.2 Initialisation des services**</span>

<span style="white-space: pre-wrap;">Le noyau lance les services critiques :</span>

- <span style="white-space: pre-wrap;">gestion des processus</span>
- <span style="white-space: pre-wrap;">gestion des entrées/sorties</span>
- <span style="white-space: pre-wrap;">pile réseau</span>
- <span style="white-space: pre-wrap;">pilotes matériels</span>
- <span style="white-space: pre-wrap;">sécurité (LSASS, SAM pour Windows)</span>

#### <span style="color: rgb(35, 111, 161);">**<span style="white-space: pre-wrap;">4.3 Initialisation Complète</span>**</span>

<span style="white-space: pre-wrap;">Le système procède ensuite à l'ensemble des composants non essentiels au démarrage.</span>

- <span style="white-space: pre-wrap;">L’initialisation des *drivers non essentiels*</span>
- <span style="white-space: pre-wrap;">Le lancement du *service manager* (systemd, init, Windows SCM)</span>
- <span style="white-space: pre-wrap;">La gestion des *runlevels* (Linux)</span>
- <span style="white-space: pre-wrap;">Le chargement des modules du noyau (drivers dynamiques)</span>

#### <span style="color: rgb(35, 111, 161);">**<span style="white-space: pre-wrap;">4.4 Montage des volumes / Accès au système</span>**</span>

<span style="white-space: pre-wrap;">Le système monte les partitions nécessaires (C:, /root, /home…). Il charge les pilotes de stockage avancés (NVMe, SATA, RAID).</span>

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">V. Phase Utilisateur</span>**</span>

Voici à quoi ressemble la séquence côté Utilisateur :

<div drawio-diagram="2815"><img src="https://docs.labs404.fr/uploads/images/drawio/2026-08/drawing-1-1786530190.png" alt=""/></div>

#### <span style="color: rgb(35,111,161);">**5.1 Écran de connexion**</span>

Le système démarre l’environnement graphique (GDM, SDDM, Windows LogonUI). Les services d’authentification sont prêts (Kerberos, SAM, PAM). L'écran de connexion s'affiche.

<p class="callout info">**Info** : En cas de connexion automatique, en l'absence de mot de passe par exemple, cette phase et la phase d'authentification se font quand même, mais sont juste automatisées et transparente pour l'utilisateur.</p>

#### <span style="color: rgb(35,111,161);">**5.2 Authentification**</span>

Le système vérifie les identifiants, charge le profil utilisateur, applique les stratégies (GPO, scripts de login).

#### <span style="color: rgb(35, 111, 161);">**<span style="white-space: pre-wrap;">5.3 Chargement de l'environnement</span>**</span>

<span style="white-space: pre-wrap;">Le système charge :</span>

- <span style="white-space: pre-wrap;">l’explorateur (Explorer.exe, GNOME Shell, KDE Plasma)</span>
- <span style="white-space: pre-wrap;">les paramètres utilisateur</span>
- <span style="white-space: pre-wrap;">les applications au démarrage</span>
- <span style="white-space: pre-wrap;">les services en arrière-plan</span>

#### <span style="color: rgb(35, 111, 161);">**<span style="white-space: pre-wrap;">5.4 Arrivée sur le bureau</span>**</span>

<span style="white-space: pre-wrap;">Le système est pleinement opérationnel. L’utilisateur peut interagir avec l’interface graphique, lancer des applications, accéder aux fichiers et aux ressources réseau.</span>

<p class="callout info">**Info** : Sur un système sans GUI, donc un système CLI, il n'y a pas d'initialisation d'environnement graphique. Mais cette phase à tout de même lieu à travers, le prompt d'authentification, l'authentification et le chargement de l'environnement utilisateur.</p>

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">VI. Conclusion</span>**</span>

La séquence de démarrage est un enchaînement précis de phases matérielles et logicielles. La maîtriser permet de diagnostiquer les pannes, optimiser les performances et comprendre le fonctionnement interne d’un système moderne. C’est une base essentielle pour tout professionnel de l’informatique.