Windows-Start zum Logon | |
Komponente | Aufgabe |
Bios / UEFI | initialisiert Hardware nach Power On Self Test (POST) |
Bios / UEFI | liest Master Boot Record (MBR) und Partition Boot Record (PBR) von der primären Bootpartition |
Bootsektor (MBR) | lädt Bootmgr.exe auf der primären Bootpartition |
Bootmgr | schaltet die CPU vom 16-Bit-Real-Mode in 32-Bit-Protected Mode |
Bootmgr | zeigt das Bootmenü zur Auswahl des Systems bei mehreren installierten Windows-Versionen |
Bootmgr | liest Boot Configuraion Data unter \Boot\BCD (BIOS) oder \EFI\Microsoft\Boot (UEFI) |
Bootmgr | startet je nach BCD-Eintrag Winload oder Winresume (Eintrag nach Abschalten in Ruhezustand) |
A. Winresume | lädt das System aus der Ruhezustandsdatei Hiberfil.sys |
B. Winload | lädt Registry HKLM\System |
Winload | lädt Windows\System32\hal.dll (Hardware Abstraction Layer) |
Winload | lädt Treiber und Dienste mit Autostart-Flag (HKLM\SYSTEM\CurrentControlSet\Services) |
Winload | lädt Windows\System32\ntoskrnl.exe |
Ntoskrnl | zeigt Startanimation |
Ntoskrnl | startet eventuelle BootExecute-Aufgaben (HKLM\SYSTEM\CurrentControlSet\Control\SessionManager) |
Ntoskrnl | lädt Kernel-Subsystem, Memory Manager, Process Manager, Session Manager SMSS.exe |
SMSS | initialisiert Pending Operations, Auslagerungsdatei |
SMSS | lädt Registry-Zweig HKLM vollständig |
SMSS | lädt Win32-Subsysteme Win32k.sys (Kernel-Mode) und Csrss.exe (User-Mode) |
SMSS | lädt Wininit.exe und Winlogon.exe |
Winlogon | lädt Userinit.exe und Lsass.exe (Authentifizierungsdienst) |
Userinit | lädt User-Shell Explorer und zeigt den Logon-Dialog |
Der Startvorgang von der BIOS-/UEFI-Firmware bis zum
Windows-Anmeldebildschirm ist wesentlich komplexer als die oben
abgebildete Liste das skizziert. Die wesentlichen Stationen sind aber
genannt: Das minimale Ladeprogramm des Bootsektors findet und lädt am
primären Bootlaufwerk die Bootmgr.exe. Damit übernimmt Windows das Kommando über den Rechner und schaltet ihn in den Protected Mode. Im BDC-Speicher
findet Bootmgr, ob das einzige vorhandene oder das vom Benutzer
ausgewählte Windows zuletzt „Heruntergefahren“ oder in der „Ruhezustand“
versetzt wurde. Im ersten Fall zeigt der BCD-Eintrag die Winload.exe,
andernfalls die Winresume.exe.
Winresume kann die Initialisierungsvorgänge allesamt
überspringen, insofern es den Zustand der letzten Windows-Sitzung aus
der Ruhezustandsdatei Hiberfil.sys übernimmt und in den Speicher
schreibt. Winresume stellt auch die User-Session (mit Desktop-Zustand,
Programmen, User-Registry) wieder her.
Winload muss den Systemzweig der Registry einlesen, um
zu wissen, welche Treiber und Dienste es starten soll. Außerdem lädt es
den Hardware Abstraction Layer – die Vermittlungsschicht zwischen der
physischen Hardware und der System- und Anwendungssoftware, die nur über
die HAL-Abstraktionsschicht auf Hardware zugreifen darf.
Danach lädt Winload die Ntoskrnl.exe, deren
Hauptaufgabe im Initialisieren der wichtigsten Systemkomponenten
besteht: Kernel, Speichermanagement, Prozessmanagement, Sitzungsmanager,
Input/Out-System. Der Session-Manager Smss.exe lädt
wiederum die Ring-0-Sitzung für den privilegierten Kernelmode
(Win32k.sys) und den User-Mode für die Benutzersitzungen (Csrss.exe).
Dann geht’s über die Wininit.exe, Winlogon.exe schließlich zur
Userinit.exe, welche die Windows-Shell (Explorer) startet und den
Anmeldebildschirm präsentiert.