Bootmgr

Bootmgr
BOOTMGR (Boot Manager)
Entwickler Microsoft
Aktuelle Version Windows 7
Betriebssystem ab Windows Vista
Kategorie Bootmanager
Lizenz Proprietär

BOOTMGR ist der Bootloader von Microsoft Windows Vista, Windows Server 2008 und Windows 7. Er unterscheidet sich wesentlich von seinem Vorgänger NTLDR.

Inhaltsverzeichnis

Boot-Vorgang BIOS

Wird der Computer eingeschaltet, wird zuerst das BIOS oder das EFI geladen. Im Fall von BIOS liest dieses den MBR der Festplatte oder eines anderen Speichermediums ein und führt ihn aus. Durch den dort befindlichen Code wird dann der Bootsektor der als aktiv markierten Partition geladen und ausgeführt. Der Code aus dem Bootsektor einer Partition, auf der eine entsprechende Windows-Installation installiert wurde, ist nun fähig, die Datei bootmgr im Wurzelverzeichnis eines NTFS-Dateisystems zu finden und auszuführen. Das Programm bootmgr liest die Datei \Boot\BCD ein und zeigt ein Bootmenü zur Auswahl des zu startenden Betriebssystems an. Zudem überprüft der BOOTMGR die Disk-Signatur (Bytes 440-443 im MBR) mit seinen gespeicherten Booteinträgen aus der BCD. Wurde die Disk-Signatur verändert, verweigert Windows den Start mit einem „winload error“.[1]

Boot-Vorgang EFI

Liegt kein BIOS, sondern ein EFI vor, so sind die ersten beiden Teile aus dem MBR und VBR überflüssig. Der ganze BOOTMGR wird im File \Boot\BCD in der EFI-System-Partition gespeichert und von EFI direkt geladen und ausgeführt. BOOTMGR ist hier ein EFI-Programm, liest selbst ebenfalls die boot.ini ein, zeigt ein Bootmenü an und prüft die Disk-Signatur.

Windows-Loader

Sollen Windows Vista oder Windows 7 gestartet werden, so startet BOOTMGR als nächstes winload.exe. Es lädt in der Folge genau wie NTLDR den HAL, den Kernel und seine Bibliotheken und Gerätetreiber. Zudem lädt er die Windows-Registrierungsdatenbank. Danach übergibt winload.exe die Kontrolle dem Kernel, der sich initialisiert und weitere System-Dienste lädt.

Boot-Einstellungen

Wie bei NTLDR sind alle Einstellungen für den Bootloader in einer Datei gespeichert, aber nicht mehr in der boot.ini, sondern in der Datei \Boot\BCD. Bei einem EFI-System wird BCD in der EFI-System-Partition abgelegt.[2] Diese ist aber keine einfache Textdatei mehr, sondern eine Binärdatei (genauer vom Aufbau her ein Hive) im selben Format wie die ganze Windows-Registrierungsdatenbank. Dies macht es sehr viel komplizierter, Bootparameter zu ändern. Microsoft bietet einzig das nicht ganz einfach zu bedienende 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 benutzt werden, um die BOOTMGR-Einstellungen zu ändern.

BOOTMGR bietet ähnliche Konfigurationsmöglichkeiten wie NTLDR:

  • 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

Die Details des neuen BCD-Formats sind undokumentiert.[3]

Beispiel Windows Vista oder 7

Normalerweise werden alle Optionen, die nötig sind, um das installierte Windows-System zu starten, von der Windows-Installation in der Datei BCD eingetragen. Will man aber mehrere Windows-Systeme oder andere Betriebssysteme auf dem gleichen Computer nutzen, so kommt man schnell in die Lage, dass man die Konfiguration von BOOTMGR selbst vornehmen muss. In der Windows-Befehlszeile kann der Bootmenüeintrag für Windows Vista und 7 mit folgenden Befehlen erstellt werden:

bcdedit /set {current} /d "Windows"
bcdedit /set {####} device partition=X:
bcdedit /displayorder {####} /addlast
bcdedit -v 

Der Eintrag "Windows" bezeichnet den Text der im Bootmenü angezeigt wird. #### ist der Rückgabewert der ersten Befehlszeile. Es handelt sich um die 20-stellige Disk-Signatur. device partition=X: legt das Laufwerk X:\ als Bootpartition fest. /displayorder und /addlast legen die Sortierung der Einträge im Bootmenü fest. Der Befehl bcdedit -v zeigt das Resultat der Konfiguration an.[4]

Beispiel Linux-System

Nach der Installation von Linux (mit LILO oder GRUB, installiert im MBR, z. B. /dev/sda1) kann man mit einem Image (z.B. linux.img) davon BOOTMGR anweisen ein Linux-System zu starten. Das Image erstellt man am besten unter Linux mit dem Befehl: dd if=/dev/hda1 of=linux.img bs=512c count=1 In der Windows Befehlszeile kann der Bootmenueintrag für Linux mit folgenden Befehlen erstellt werden:

bcdedit /copy {ntldr} /d "Linux" 
bcdedit /set {####} device boot
bcdedit /set {####} path \linux.img
bcdedit /displayorder {####} /addlast
bcdedit -v

Der Eintrag "Linux" bezeichnet den Text der im Bootmenü angezeigt wird. #### ist der Rückgabewert der ersten Befehlszeile. Es handelt sich um die 20-stellige Disk-Signatur. path \linux.img gibt das zu ladenden Image an. /displayorder und /addlast legen die Sortierung der Einträge im Bootmenü fest fest. Der Befehl bcdedit -v zeigt das Resultat der Konfiguration an.[5]

Wenn der Linux-Bootloader GRUB in den Bootsektor der Linux-Partition (z.B. /dev/sda6) installiert wurde, kann wie folgt ein Booteintrag in Windows Vista bzw. Windows 7 mittels des Kommandos bcdedit eingerichtet werden:

bcdedit /create /d "Linux" /application bootsector 
bcdedit /set {####} device partition=C:
bcdedit /set {####} path \bootlin.bin
bcdedit /displayorder {####} /addlast

Anstatt #### ist wie oben der Rückgabewert der ersten Befehlszeile (bcdedit /create ...) zu verwenden. Im angeführten Beispiel muss sich der Linux Bootsektor in einer Datei mit Namen bootlin.bin im Wurzelverzeichnis des Windowslaufwerkes C: befinden. Der Linux-Bootsektor kann mit dem o .a. Linuxkommando dd in eine Datei kopiert werden (z. B. dd if=/dev/sda6 of=bootlin.bin bs=512 count=1 für den Bootsektor in Partition /dev/sda6).

Siehe auch

Einzelnachweise

  1. Multibooters - Dual/Multi Booting With Vista bootmgr and BCD und Disk Signature
  2. Microsoft: Boot Configuration Data Reference Documentation. Microsoft Platform SDK. Abgerufen am 14. Dezember 2010. (englisch)
  3. Jonathan de Boyne Pollard: The Windows NT 6 boot process. Frequently Given Answers. Abgerufen am 14. Dezember 2010. (englisch)
  4. gries818 (Tue Jul 04, 2006 9:12): How To: Edit the Windows Vista Boot Menu Options. www.pronetworks.org/forums. Abgerufen am 14. Dezember 2010. (englisch)
  5. Thomas Leichtenstern: Vista-Bootloader für Linux einrichten. LinuxUser 4/2007. Abgerufen am 14. Dezember 2010.

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Boot-Sektor — Der Master Boot Record (kurz: MBR) ist bei BIOS basierten Computern der x86 Architektur der erste Datenblock (512 Byte) eines in Partitionen aufgeteilten Speichermediums, wie beispielsweise einer Festplatte. Der MBR enthält eine Partitionstabelle …   Deutsch Wikipedia

  • Boot Record — Der Master Boot Record (kurz: MBR) ist bei BIOS basierten Computern der x86 Architektur der erste Datenblock (512 Byte) eines in Partitionen aufgeteilten Speichermediums, wie beispielsweise einer Festplatte. Der MBR enthält eine Partitionstabelle …   Deutsch Wikipedia

  • Bootcode — Der Master Boot Record (kurz: MBR) ist bei BIOS basierten Computern der x86 Architektur der erste Datenblock (512 Byte) eines in Partitionen aufgeteilten Speichermediums, wie beispielsweise einer Festplatte. Der MBR enthält eine Partitionstabelle …   Deutsch Wikipedia

  • Bootsektor — Der Master Boot Record (kurz: MBR) ist bei BIOS basierten Computern der x86 Architektur der erste Datenblock (512 Byte) eines in Partitionen aufgeteilten Speichermediums, wie beispielsweise einer Festplatte. Der MBR enthält eine Partitionstabelle …   Deutsch Wikipedia

  • Master-Boot-Record — Der Master Boot Record (kurz: MBR) ist bei BIOS basierten Computern der x86 Architektur der erste Datenblock (512 Byte) eines in Partitionen aufgeteilten Speichermediums, wie beispielsweise einer Festplatte. Der MBR enthält eine Partitionstabelle …   Deutsch Wikipedia

  • Master Boot Record — Der Master Boot Record (kurz: MBR) ist bei BIOS basierten Computern der x86 Architektur der erste Datenblock (512 Byte) eines in Partitionen aufgeteilten Speichermediums, wie beispielsweise einer Festplatte. Der MBR enthält eine Partitionstabelle …   Deutsch Wikipedia

  • Nullsektor — Der Master Boot Record (kurz: MBR) ist bei BIOS basierten Computern der x86 Architektur der erste Datenblock (512 Byte) eines in Partitionen aufgeteilten Speichermediums, wie beispielsweise einer Festplatte. Der MBR enthält eine Partitionstabelle …   Deutsch Wikipedia

  • NTFS — Developer Microsoft Full name New Technology File System[1] Introduced July 1993 (Windows NT 3.1) Partition identifier 0x07 (MBR) EBD0A0A2 B9E5 4433 87C0 68B6 …   Wikipedia

  • Booting — This article is about bootstrapping operating systems. For the general concept, see Bootstrapping. For other uses, see Booting (disambiguation). In computing, booting (also known as booting up) is a process that begins when a user turns on a… …   Wikipedia

  • EasyBCD — Original author(s) Mahmoud H. Al Qudsi Developer(s) …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”