Bootmgr
| BOOTMGR (Boot Manager) | |
|---|---|
| Basisdaten
| |
| Entwickler | Microsoft |
| Aktuelle Version | siehe Microsoft Windows |
| Betriebssystem | Windows ab Vista/Server 2008 |
| Kategorie | Bootmanager |
| Lizenz | Proprietar |
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).
Ablauf
[Bearbeiten | Quelltext bearbeiten]Wird der Computer eingeschaltet, wird zuerst die System-Firmware des Computers geladen, etwa das BIOS (fur 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 ladt 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 fuhrt ihn aus. Bei einem Standard-MBR, wie er seit MS-DOS 2.0 von Microsoft fast unverandert 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 ausgefuhrt. Der Code aus dem Bootsektor des VBR einer Partition, auf der sich eine entsprechende Windows-Installation befindet, ist nun fahig, die Datei
bootmgrim Wurzelverzeichnis eines NTFS-Dateisystems zu finden und auszufuhren.
- (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 uberflussig, da stattdessen nur die GUID-Partitionstabelle (GPT) ausgewertet wird. Der Bootmanager ist in der Datei
\EFI\Microsoft\Boot\bootmgfw.efiauf der EFI-Systempartition (ESP) gespeichert und wird von der Firmware direkt geladen und ausgefuhrt. Als Fallback dienen, nach dem EFI-Standard,\EFI\BOOT\bootia32.efibei 32-Bit-x86 (IA-32) bzw.\EFI\BOOT\bootx64.efibei 64-Bit-x86 (x64, genau genommen jedoch weiterhin der IA-32-Architektur zugehorig) - der Fallback-EFI-Bootloader der jeweiligen Architektur erhalt bei einer Installation von Windows daher eine Kopie vonbootmgfw.efi, wenn diese Dateien nicht schon vorher vorhanden waren.
Die Funktionalitat 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 Bootmenu zur Auswahl des zu startenden Betriebssystems an. Zudem wird die Disk-Signatur (beim MBR in den Bytes 440-443) mit den gespeicherten Booteintragen aus der Boot Configuration Data (BCD) verglichen - wurde die Disk-Signatur verandert, verweigert Windows den Start mit einem "winload error".[1] Das Bootmenu zeigt neben zusatzlichen Startoptionen auch unterschiedliche Windows-Installationen und -Versionen, wenn diese in der Konfiguration (BCD) eingetragen sind. Auch ist es damit moglich, statt Windows ein anderes Programm, etwa das zum Testen des Arbeitsspeichers (RAM) enthaltene Windows Memory Diagnostic Tool, zum Start auszuwahlen.
Ist ein Windows-Volume zum Start ausgewahlt, ubergibt 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, ladt in der Folge (genau wie der Bootmgr-Vorganger NTLDR) den Hardware Abstraction Layer (HAL), den Kernel sowie benotigte Kernel-Bibliotheken und Geratetreiber. Zudem ladt er die Windows-Registrierungsdatenbank. Danach ubergibt das Ladeprogramm die Kontrolle an den Windows-Kernel ab, der u a. weitere Systemdienste ladt und so das Betriebssystem startet.
Boot-Einstellungen
[Bearbeiten | Quelltext bearbeiten]Alle Einstellungen fur 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 Binardatei abgelegt und vom Aufbau her ein Hive der Windows-Registrierungsdatenbank. Microsoft bietet das Kommandozeilen-Tool bcdedit.exe an, um Bootparameter zu andern. Es ist auch moglich beim Booten von der Windows-CD uber 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 andern.
Die Details des neuen BCD-Formats sind undokumentiert.[4]
Vergleich mit dem NT-Loader
[Bearbeiten | Quelltext bearbeiten]BOOTMGR bietet ahnliche Konfigurationsmoglichkeiten 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 altere Versionen, die NTLDR nutzen, starten
- Beliebige VBR oder MBR laden
- Beliebige Images laden
Unterschiede:
- Die Boot-Einstellungs-Datei im NT-Loader ist
boot.iniim Hauptverzeichnis und lasst sich mit einem Texteditor bearbeiten.
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- | 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. Marz 2008; abgerufen am 14. Dezember 2010 (englisch).
- | Jonathan de Boyne Pollard: The Windows NT 6 boot process. In: Frequently Given Answers. Archiviert vom Original am 31. Dezember 2020; abgerufen am 14. Dezember 2010 (englisch).