Hallo Christoph,
so, ehe ihr euch jetzt ohne mich weiter unterhaltet, muß ich mich doch mal einschalten.
Dann ist NTLDR kein typischer Bootloader
ohne es genau zu wissen, ich hatte NTLDR stets als Abkürzung für NT Loader gesehen, d.h. für das Ladeprogramm für NT-ähnliche-Betriebssysteme, somit einen speziellen Bootloader :-)
ähm ... wieso sollte ntldr überhaupt ein bootloader sein? Ich gestehe, daß ich mir das immer noch nicht _so_ genau angeschaut habe, aber ich dachte bisher, daß ntldr mit dem Bootvorgang selbst nichts zu tun hat, sondern erst irgendwie "hinterher" ins Spiel kommt. Welche Rolle spielt denn, bitteschön, ntdetect.com?
Bisheriger Stand: Der Bootblock sorgt dafür, dass NTLDR geladen wird.
Meine weiteren Ausführungen beziehen sich auf Windows 2000, bei Windows XP bzw. Windows Server 2003 sollte sich nicht viel geändert haben.
NTLDR führt folgende Schritte aus:
- Prozessor vom Real Mode in den Protected Mode
versetzen (NTLDR ist ein 32-Bit-Programm). - Starten des NTFS-Dateisystems bzw. des FAT16-
oder FAT32-Dateisystems. Dateisystemtreiber
dafür sind in NTLDR integriert.
(FAT32 nicht für Windows NT 4.0) - Lesen der Datei boot.ini, die die Auswahl von
Betriebssystemen ermittelt.
Im folgenden gehe ich davon aus, dass das
NT-ähnliche Betriebssystem normal gebootet wird. - NTLDR startet ntdetect.com
Jetzt ist vorübergehend ntdetect.com am Zug:
- ntdetect.com ermittelt die vorhandene Hardware
- erstellt eine Liste der derzeit installierten
Hardwarekomponenten und gibt diese Informationen
an NTLDR weiter. - Falls mehrere Hardwarekonfigurationen vorhanden sind,
ermöglicht ntdetect.com die Auswahl eines Hardware-
profils. - Danach gibt ntdetect.com die Steuerung an NTLDR zurück.
NTLDR
- lädt den kernel und die Hardwareabstraktionsschicht
in den Hauptspeicher. - lädt den Registryschlüssel \HKEY_LOCAL_MACHINE\SYSTEM
- initialisiert den Kernel (ntoskrnl.exe)
- übergibt die Steuerung an den Kernel.
Der Kernel verwendet die von NTLDR übergebenen Informationen (die von ntdetect.com stammen) zur Erstellung des Schlüssels HKEY_LOCAL_MACHINE\HARDWARE und erstellt anschließend ein Duplikat der Konfiguration.
Der Windows-Startvorgang ist erst dann vollständig abgeschlossen, wenn ein Benutzer sich erfolgreich am System angemeldet hat. Nach der Anmeldung wird das Duplikat der Konfiguration in die letzte als funktionierend bekannte (LastKnownGood) Konfiguration kopiert, die man ja bekanntlich beim OS-Start auch auswählen kann.
benutzte Quellen:
Microsoft Windows 2000 Professional - Die technische Referenz
Microsoft Windows NT Workstation - Die technische Referenz
Freundliche Grüsse,
Vinzenz