Bootmgr
BOOTMGR ist der Bootmanager der Windows-Betriebssysteme von Microsoft ab Windows Vista bzw. Windows Server 2008. Er ist der Nachfolger des zuletzt in Windows XP bzw. Windows Server 2003 eingesetzten NT-Loaders (NTLDR).
BOOTMGR (Boot Manager) | |
---|---|
Basisdaten | |
Entwickler | Microsoft |
Aktuelle Version | siehe Microsoft Windows |
Betriebssystem | Windows ab Vista/Server 2008 |
Kategorie | Bootmanager |
Lizenz | Proprietär |
Ablauf
Wird der Computer eingeschaltet, wird zuerst die Firmware des Computers geladen, etwa das BIOS (für Basic Input/Output System) oder dessen Nachfolger Unified Extensible Firmware Interface, kurz UEFI bzw. vormals EFI, daher auch oft mit (U)EFI angegeben. Diese Firmware sucht und lädt im Anschluss ein bestimmtes am Computer installiertes Programm. Im Falle des Betriebssystems Windows von Microsoft ist dies der Bootmgr, der nicht nur das eigentliche Betriebssystem starten kann, sondern auch die Auswahl zwischen verschiedenen Installationen sowie erweiterte Optionen dazu bietet.
- BIOS
- Bei einem IBM-PC-kompatiblen Computer mit BIOS liest dieses den Master Boot Record (MBR) der Festplatte oder eines anderen Speichermediums ein und führt ihn aus. Bei einem Standard-MBR, wie er seit MS-DOS 2.0 von Microsoft fast unverändert bei MS-DOS, PC DOS und Windows zum Einsatz kommt, wird durch den dort befindlichen Code dann der Bootsektor im Volume Boot Record (VBR) der als aktiv markierten Partition geladen und ausgeführt. Der Code aus dem Bootsektor des VBR einer Partition, auf der sich eine entsprechende Windows-Installation befindet, ist nun fähig, die Datei
bootmgr
im Wurzelverzeichnis eines NTFS-Dateisystems zu finden und auszuführen.
- (U)EFI
- Sofern nicht mit dem Compatibility Support Module (CSM) der BIOS-kompatible Modus (siehe oben) zur Anwendung kommt, sind bei (U)EFI die ersten beiden Teile aus dem MBR und VBR überflüssig, da stattdessen nur die GUID-Partitionstabelle (GPT) ausgewertet wird. Der Bootmanager ist in der Datei
\EFI\Microsoft\Boot\bootmgfw.efi
auf der EFI-System-Partition (ESP) gespeichert und wird von der Firmware direkt geladen und ausgeführt. Als Fallback dienen, nach dem EFI-Standard,\EFI\BOOT\bootia32.efi
bei 32-Bit-x86 (IA-32) bzw.\EFI\BOOT\bootx64.efi
bei 64-Bit-x86 (x64, genau genommen jedoch weiterhin der IA-32-Architektur zugehörig) – der Fallback-EFI-Bootloader der jeweiligen Architektur erhält bei einer Installation von Windows daher eine Kopie vonbootmgfw.efi
, wenn diese Dateien nicht schon vorher vorhanden waren.
Die Funktionalität von Bootmgr ist in dessen BIOS- und (U)EFI-Variante jeweils identisch: Der Bootmanager liest die Datei \Boot\BCD
ein und zeigt, normalerweise optional bzw. je nach Einstellung, ein Bootmenü zur Auswahl des zu startenden Betriebssystems an. Zudem wird die Disk-Signatur (beim MBR in den Bytes 440–443) mit den gespeicherten Booteinträgen aus der Boot Configuration Data (BCD) verglichen – wurde die Disk-Signatur verändert, verweigert Windows den Start mit einem “winload error”.[1] Das Bootmenü zeigt neben zusätzlichen Startoptionen auch unterschiedliche Windows-Installationen und -Versionen, wenn diese in der Konfiguration (BCD) eingetragen sind. Auch ist es damit möglich, statt Windows ein anderes Programm, etwa das zum Testen des Arbeitsspeichers (RAM) enthaltene Windows Memory Diagnostic Tool, zum Start auszuwählen.
Ist ein Windows-Volume zum Start ausgewählt, übergibt der Bootmanager im Anschluss im Fall eines BIOS oder bei aktiviertem CSM an winload.exe
bzw. bei EFI im nativen Modus, also ohne CSM, an winload.efi
der jeweiligen Installation.[2] Dieser Windows Loader, deutsch Windows-Ladeprogramm, lädt in der Folge (genau wie der Bootmgr-Vorgänger NTLDR) den Hardware Abstraction Layer (HAL), den Kernel sowie benötigte Kernel-Bibliotheken und Gerätetreiber. Zudem lädt er die Windows-Registrierungsdatenbank. Danach übergibt das Ladeprogramm die Kontrolle an den Windows-Kernel ab, der u a. weitere Systemdienste lädt und so das Betriebssystem startet.
Boot-Einstellungen
Alle Einstellungen für den Bootloader sind bei BIOS-Systemen in der Datei \Boot\BCD
, bei EFI-Systemen in der Datei \EFI\Microsoft\Boot\BCD
in der EFI-Systempartition abgelegt.[3] Die Boot Configuration Data ist in eine Binärdatei abgelegt und vom Aufbau her ein Hive der Windows-Registrierungsdatenbank. Microsoft bietet das Kommandozeilen-Tool bcdedit.exe
an, um Bootparameter zu ändern. Es ist auch möglich beim Booten von der Windows-CD über den Punkt „Computer reparieren/Systemwiederherstellungsoptionen“ das Tool bootrec.exe
aufzurufen. Alternativ kann das Programm EasyBCD von NeoSmart Technologies oder der Visual BCD Editor benutzt werden, um die BOOTMGR-Einstellungen zu ändern.
Die Details des neuen BCD-Formats sind undokumentiert.[4]
Vergleich mit dem NT-Loader
BOOTMGR bietet ähnliche Konfigurationsmöglichkeiten wie der NT-Loader:
- Booten von Windows Vista oder Windows 7 mit
winload.exe
- Windows wiederherstellen aus dem Ruhezustand mit
winresume.exe
- Windows NT 5.1 oder ältere Versionen, die NTLDR nutzen, starten
- Beliebige VBR oder MBR laden
- Beliebige Images laden
Unterschiede:
- Die Boot-Einstellungs-Datei im NT-Loader ist
boot.ini
im Hauptverzeichnis und lässt sich mit einem Texteditor bearbeiten.
Einzelnachweise
- Multibooters - Dual/Multi Booting With Vista bootmgr and BCD und Disk Signature
- windows-driver-content: BCD System Store Settings for UEFI. Abgerufen am 12. August 2019 (amerikanisches Englisch).
- Microsoft: Boot Configuration Data Reference Documentation. In: Microsoft Platform SDK. Archiviert vom Original am 15. März 2008. Abgerufen am 14. Dezember 2010. (englisch)
- Jonathan de Boyne Pollard: The Windows NT 6 boot process. In: Frequently Given Answers. Abgerufen am 14. Dezember 2010. (englisch)