Le processus de démarrage de Windows : Les étapes du démarrage de Windows

Le processus de démarrage de Windows fait intervenir divers mécanismes et processus.
Cette article vous explique comment se déroule le démarrage de Windows.
Le fonctionnement est différent si vous êtes en MBR ou EFI.

windows_10_logo

Liste des processus utilisés

En mode EFI

  • efibootmgr : EFI boot manager
  • BCD –Bootmgr.exe or Bootmgr.efi : Boot Configuration Data – contient les informations de démarrage de Windows. Ce dernier remplace boot.ini
  • Windows Boot Loader (Winload.exe or Winload.efi) : 

En mode MBR

  • Ntldr : Charge l’OS
  • Boot.ini : Construit le menu de sélection
  • BBootsect.dos : Chargé par Ntldr en vue d’un autre OS
  • Ntdetect.com : Recherche le matériel disponible
  • Ntbootdd.sys : Pour amorçage à partir d’un disque dont le contrôleur n’a pas le bios activé
  • Ntoskrnl.exe : Noyau NT (System32).
  • System : Paramètres de configuration (System32\configuration).
  • Hal.dll : Couche HAL. Rend Ntoskrnl indépendant de la plate-forme sur laquelle il va fonctionner.

Etape 1 – Le Bios

Bios Legacy

Cette étape est réalisée par tous les ordinateurs, quel que soit le système d’exploitation installé.
Le CPU exécute le code du BIOS contenu dans la ROM, généralement vous obtenez un écran noir avec le décompte de la mémoire. P
endant cette étape, l’ordinateur vérifie certains composants matériels (mémoire, clavier, carte graphique), cela s’appelle le POST (Power On Self Test).

L’écran change alors (on obtient généralement un écran avec un tableau récapitulatif des informations de l’ordinateur), le BIOS va alors suivre la séquence de boot (démarrage) que l’on lui a imposé et qui est stocké dans la CMOS. Le BIOS cherche alors le MBR (master boot record) du périphérique qui est chargé de localiser la partition active et charger le secteur de boot en mémoire (bootstrap).
A cet instant c’est l’OS qui prend le relai.

Si aucun MBR n’est trouvé, on obtient alors un message du type :

Invalid partition table

Error loading operating system

Missing operating system

EFI

L’EFI contient un UEFI boot manager (efibootmgr) charge les pilotes UEFI drivers et les applications UEFI.
EFI charge ensuite le Boot manager de Windows ou BCD.

Etape 2 – Démarrage de Windows

Sous Windows, le bootstrap contient le fichier Ntldr qui charge les informations sur le matériel et les pilotes requis lors du chargement de NT.

Si Ntldr n’est pas trouvé, vous pouvez obtenir ce message d’erreur : « A kernel file is missing from the disk »

Ntldr démarre aussi le système de fichiers (FAT ou NTFS). Il charge aussi les informations du fichier boot.ini. Dans le cas où vous avez plusieurs Windows d’installé, il affiche un menu pour sélectionner le Windows sur lequel vous souhaitez démarrer.
C’est aussi ce type de menu que l’on retrouve lorsque l’on tape sur la touche F8 pour par exemple démarrer en mode sans échec.

NTLDR charge ensuite le fichier Ntdetect.com qui utilise le BIOS pour connaître la configuration et le matériel présent à travers le CMOS. Ntdetect.com récupère aussi l’heure, les différents types de bus (par exemple, ISA, PCI sur, EISA,…). Ces informations sont ensuite stockées dans la clef HKLM\HARDWARE.
Vous obtenez alors cette barre de progression.

Processus de demarrage sous Windows

Etape 3 – Chargement du Kernel Windows

Ntldr charge ensuite les fichiers Ntoskrnl.exe et Hal.dll, s’il n’y parvient pas, vous obtenez le message :

« Windows NT could not start because the following file was missing or corrupt »,
Ntoskrnl.exe ou Hal.dll 

NTLDR charge alors le contenu de la clef HKEY_LOCAL_MACHINE\SYSTEM situé dans le répertoire C:\Windows\System32\config\system puis insère les informations sur la configuration du matériel qu’il a recueillies plus tôt, dans la clé de Registre SYSTEM.
Ensuite, NTLDR va charger tous les pilotes de périphériques qui possèdent une valeur de démarrage (start) dans le Registre Windows : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

Notamment le processus services.exe  charge les services Windows dont les groupes de services générés par le processus svchost.exe

C’est dans cette partie du démarrage que vous pouvez obtenir un plantage de Windows de type BSOD ou écran bleu de la mort.

NTLDR charge le fichier ntoskrnl.exe.

Etape 4 – Initialisation du noyau

Ntoskrnl.exe créé le Clone control set (HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXX) – voir fonctionnement des ControlSet
Ntoskrnl.exe va aussi créer la ruche HARDWARE dans le registre Windows en utilisant les informations collectées précédemment par ntdetect.com.
Enfin, le processus système Ntoskrnl.exe va initialiser les pilotes de périphériques chargés précédemment, puis va scruter le registre à la recherche des pilotes de périphériques qui ont comme valeur de démarrage 0x1

l’échec de chargement d’un pilote peut provoquer le redémarrage de Windows pour tenter de redémarrer en utilisant la dernière bonne configuration connue

Etape 5 – Chargement des services et ouverture de session

Le noyau démarre ensuite le processus SMSS.exe, c’est un processus système Windows, il est responsable de la gestion des sessions sur le système (création, gestion, et suppression des sessions utilisateurs).
SMSS exécute les valeurs contenues dans la clé HKLM\SYSTEM\CurrentControlSet\Session Manager\BootExecute.
Une des valeurs peut contenir une commande pour lancer l’utilitaire CHKDSK qui vérifie les éventuelles erreurs sur le disque au démarrage de Windows.

SMSS charge le contenu des clefs HKLM\sam, HKLM\sam\security, et HKLM\software.

SMSS différents processus système de Windows :

  • CSRSS.exe gère les fenêtres et les éléments graphiques de Windows
  • Winlogon.exe sert à gérer l’ouverture et la fermeture des sessions puis Winlogon.exe est chargé en service. Userinit.exe est aussi initialisé.
  • LSASS (Local Security Authority Subsystem Service), la fenêtre d’ouverture de session s’ouvre alors. LSASS créé la liste des groupes et les droits auquel l’utilisateur appartient

Le processus de démarrage de Windows : Les étapes du démarrage de Windows

Le processus de démarrage de Windows : Les étapes du démarrage de Windows

screg.exe, le contrôleur de service, va ensuite démarrer les services qui ont la valeur 0x2 dans la clef : HKLM\SYSTEM\CurrentControlSet\ServicesDriver\Name. Les services sont chargés dans l’ordre de leurs dépendances.

L’ouverture de session se poursuit avec le processus userinit.exe, qui va aussi démarrer le bureau de Windows (explorer.exe).
Les programmes contenus dans les clefs suivantes se chargent ensuite :

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServiceOnce
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnceEx

Le processus de démarrage de Windows : Les étapes du démarrage de Windows

Il existe d’autres points de chargement d’application sur Windows, pour plus d’informations : Les points de chargement ou autoruns de Windows 

La session Windows est alors ouverte et le bureau Windows se charge.
Après chaque ouverture de session réussie, la Clone Control Set est copiée dans la clé HKEY_LOCAL_MACHINE\SYSTEM\LastKnownGoodRecovery.

Les problèmes de démarrage de Windows

Pour les problèmes ou erreur lors du démarrage de Windows, se reporter à la page : Erreur et problème au démarrage de Windows

et si le démarrage de Windows est lent : Résoudre le démarrage lent de Windows

(Visité 6 623 fois, 1 visites ce jour)

Vous pouvez aussi lire...

Les Tags : #Windows10 - #Windows - #Tutoriel - #Virus - #Antivirus - #navigateurs WEB - #Securité - #Réseau - #Internet