239731

So bootet Windows Vista

18.09.2007 | 12:17 Uhr |

Windows Vista hat ebenso wie Windows 2000 und XP den Kernel von Windows NT geerbt und unterscheidet sich im Aufbau nicht grundlegend von seinen Vorgängern. Deutlich geändert hat sich allerdings der Boot-Vorgang.

Vista-Bootvorgang: Statt der Textdatei Boot.INI ist bei Vista eine Datenbank (BCD) für die Einträge im Startmenü zuständig
Vergrößern Vista-Bootvorgang: Statt der Textdatei Boot.INI ist bei Vista eine Datenbank (BCD) für die Einträge im Startmenü zuständig
© 2014

Den NTLDR (NT Loader) gibt es nicht mehr, folglich findet sich auch keine Boot.INI mehr in der Systempartition. An die Stelle der beiden treten bei Vista andere Komponenten.

Nach dem Computerstart meldet sich als Erstes das Bios beziehungsweise bei modernen Systemen (Intel-Macs) das EFI-Bios (Extensible Firmware Interface).

Die im Bios-Setup festgelegte Bootreihenfolge sagt dem PC, von welchem Laufwerk er booten soll, und lädt von dessen erstem Sektor den MBR (Master Boot Record). Dieser weiß über das Laufwerk Bescheid und lädt den PBR (Partition Boot Record) der aktiven Bootpartition. Erst jetzt kommt das Betriebssystem ins Spiel: Der Bootsektor startet den Windows-Bootmanager, hinter dem das Programm Bootmgr.EXE steht. Dieses stellt ein Bootmenü bereit und bezieht die Informationen dazu aus der BCD-Datenbank (Boot Configuration Data).

Ist Vista als Betriebssystem ausgewählt, tritt nach dem Menü das Programm Winload.EXE in Aktion, das den Kernel sowie die zum Systemstart nötigen Kernel-Treiber lädt.

Der Vista-Start im Detail:

Das Programm Bootmgr.EXE ist ein 16-Bit-Hilfsprogramm. Es ist nötig, da herkömmliche PCs ohne EFI unmittelbar nach dem Hochfahren grundsätzlich im Real Mode mit 16-Bit-Adressierung laufen. Bootmgr.EXE liest die BCD-Datenbank und arbeitet damit quasi als Ersatz für das modernere, aber noch nicht verbreitete EFI. Danach schaltet es die CPU in den Protected Mode – eine Voraussetzung für moderne Betriebssysteme wie Windows Vista.

Tschüss Boot.INI, hallo BCD:

Ab Windows Vista sind Informationen über installierte Systeme nicht mehr in der einfachen Textdatei Boot.INI gespeichert. Stattdessen enthält die Datenbank Boot Configuration Data (BCD) Starteinträge, mit denen sich Vista starten oder nach dem Ruhezustand fortsetzen lässt. Sie ist ähnlich strukturiert wie die Registry. Ältere, parallel installierte Windows-Betriebssysteme mit einem eigenen NTLDR trägt Vista hier ebenfalls ein. Fremde Systeme wie Linux können mit Hilfe der Infos aus einem Partitions-Bootsektor gestartet werden.

Bei herkömmlichen PCs mit Bios sitzt diese Datenbank in einer Datei auf der Startpartition als \Boot\BCD. Bei EFI-Computern liegt die Datei auf dem eigenen EFI-Dateisystem im Speicherpfad FI\Microsoft\Boot\. Wozu die Unterscheidung? Bei EFI-fähigen Computern übernimmt die Firmware alle Startvorgänge bis zu diesem Punkt und lädt die BCD selbst. Allerdings ist der physikalische Speicherort nicht von Belang, denn wegen der Da-teistruktur ist das Ändern per Text-Editor nicht möglich. Unter Windows Vista können Anwender die Booteinträge nur mit dem sperrigen Tool Bcd-edit.EXE bearbeiten.

Winload.EXE:

Dieses Hilfsprogramm übernimmt – wie NTLDR bei Windows NT 4/2000/XP – den Start des Betriebssystems. Im Wesentlichen startet es den Vista-Kernel Ntoskrnl.EXE aus dem Verzeichnis \Windows\System32\, initialisiert die Hardware-Abstraktionsschicht HAL.DLL und lädt den Registry-Schlüssel SYSTEM in den Speicher.

Auf Basis dieser Registry-Infos startet es außerdem alle dort eingetragenen, für den Bootvorgang nötigen Treiber, bevor es dem System die Kontrolle über den PC übergibt.

0 Kommentare zu diesem Artikel
239731