Boot Record

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, die die Aufteilung des Datenträgers beschreibt, und einen Boot-Loader, ein Programm, das ein Betriebssystem auf einer der Partitionen startet.

Speichermedien, die nicht in Partitionen unterteilt sind, z. B. Disketten oder CDs, enthalten keinen MBR. Hier wird der erste Datenblock als Bootsektor oder auch Boot Record bezeichnet. Da der MBR eine Partitionstabelle enthält, hat er die Eigenschaften eines Partitionssektors. Ein Löschen oder ein Defekt am MBR führt dazu, dass der Computer überhaupt nicht mehr booten kann bzw. die Partition falsch erkennt und in der Folge das Betriebssystem oder Daten nicht mehr findet.

Inhaltsverzeichnis

Historische Entwicklung

Zunächst waren Speichermedien nicht in Partitionen unterteilt und enthielten an Position 0:0:1 (Kopf 0, Spur 0, Sektor 1) den Bootsektor. Diese Konvention sollte bei Festplatten mit mehreren Betriebssystemen nicht verletzt werden. Daher wurde die Partitionstabelle am Ende des Bootsektors platziert. Die Funktion des Boot-Loaders wurde so ergänzt, dass er die Partitionstabelle auswertet.

Aufbau des MBR

Adresse Funktion / Inhalt Größe
(Bytes)
hex dez
0x0000 0 Boot-Loader max. 440
0x01B8 440 Disk-Signatur
(seit Windows 2000)
4
0x01BC 444 Null
(0x0000)
2
0x01BE 446 Partitionstabelle 64
0x01FE 510 55hex MBR-Signatur
(0xAA55)
2
0x01FF 511 AAhex
Gesamt: 512


Boot-Loader

Der Boot-Loader ist ein kleines Programm, das vom BIOS aufgerufen wird. Im Normalfall sucht dieses in der Partitionstabelle nach einer „aktiven Partition“, lädt den Boot-Sektor der ersten aktiven Partition und führt diesen aus. Dadurch wird dann das eigentliche Betriebssystem geladen. Es existieren auch Bootmanager, die sich nicht an diese Konvention halten und stattdessen ein Auswahlmenü oder ähnliches anzeigen und so z. B. das Booten von beliebigen Partitionen erlauben. Ein fehlender oder defekter Boot-Loader führt dazu, dass von der Festplatte überhaupt nicht gebootet werden kann, selbst wenn in einer der Partitionen ein Betriebssystem mit intaktem Bootsektor vorhanden ist.

Disk-Signatur

Die Disk-Signatur wird von Windows 2000 und XP verwendet, um Festplatten, die mit einer klassischen Partitionstabelle versehen sind (im Microsoft-Jargon Basisdatenträger), eindeutig zu identifizieren. Dadurch ist die Disk-Signatur z. B. bei der Zuordnung von Laufwerksbuchstaben zu Festplattenpartitionen von entscheidender Bedeutung: Während frühere Windows-Versionen auf die vom DOS-Unterbau ermittelten Laufwerksbuchstaben zurückgreifen, sind diese Zuordnungen ab Windows 2000 in Registry-Schlüsseln, u. a. HKLM\SYSTEM\MountedDevices, gespeichert. Bei bestimmten System-Konstellationen wird die Disk-Signatur auch in der Datei boot.ini verwendet, die Teil des Boot-Loaders von Windows NT (NTLDR) ist.[1] Windows vergibt die Disk-Signatur bei der Initialisierung einer neuen Festplatte.

Insbesondere nach Festplatten- oder Partitions-Backups können Probleme auftauchen, die mit der Disk-Signatur zusammenhängen:

  • Eine System-Konfiguration, in der zwei Festplatten mit identischen Signaturen existieren, etwa die Original-Platte und eine Platte mit einer geklonten Kopie, kann zu einem instabilen System führen.
  • Einer kopierten Systempartition wird unter bestimmten Umständen ein neuer Laufwerksbuchstabe zugewiesen. In solchen Fällen scheitert der Bootvorgang.[2]

Der Befehl fixmbr in der Wiederherstellungskonsole lässt die Signatur unverändert. Dagegen frischt der Befehl fdisk /mbr, der den Boot-Code neu schreibt, auch die Disk-Signatur auf.[3]

Der Linux-Befehl dd if=/dev/zero of=<Festplatten-Device> bs=1 count=4 seek=440 conv=notrunc überschreibt die Disk-Signatur mit Nullen.

Partitionstabelle

Die Partitionstabelle gibt Auskunft über die Partitionen auf einem Datenträger. Ist sie fehlerhaft oder fehlt sie gar vollständig, ist der Zugriff auf die Daten der Partitionen nicht ohne weiteres möglich. In vielen Fällen lässt sich jedoch die Partitionstabelle mit Programmen wie Testdisk wiederherstellen. Der Eintrag jeder Partition enthält eine CHS-Adresse sowie eine 32-Bit-lange LBA-Adresse. Dadurch lassen sich mit herkömmlichen Partitionstabellen maximal etwa 8 GiB (CHS) oder 2 TiB (LBA mit 32 Bit) große Festplatten nutzen. Um Festplatten oder Partitionen mit einer Größe von über 2 TiB anzusprechen, kann man die Nachfolgetechnologie GUID Partition Table (GPT) nutzen oder die Sektorengröße auf 1024 Bytes oder 2048 Bytes vergrößern.

MBR-Signatur

Die MBR-Signatur (auch Magic Number genannt) besteht aus den 2 Byte 55hex und AAhex. Auf Little-Endian-Systemen wird dies als 16-Bit-Zahl AA55hex interpretiert. Ist die Signatur vorhanden, so geht das BIOS davon aus, dass ein gültiger MBR vorhanden ist. Wird die Signatur nicht gefunden, vermutet das BIOS einen neuen bzw. gelöschten Datenträger. Der Bootvorgang wird dann abgebrochen und eine Fehlermeldung, etwa „Non-System or Non-Bootable Disk“ ausgegeben.[4] Natürlich ist eine korrekte Signatur keine Garantie für gültigen Boot-Code im MBR. Sie dient lediglich dazu, zu verhindern, dass leere MBRs oder MBRs mit Zufallsdaten ausgeführt werden.

Auch bei Datenträgern, die nicht zum Booten verwendet werden, kann eine fehlende Signatur Auswirkungen haben. Es gibt BIOS-Versionen, die Datenträger ohne gültige Signatur in einem langsameren Modus betreiben. Vor der Geschwindigkeitsmessung (Benchmark) z. B. einer neuen Festplatte empfiehlt sich daher, zunächst den MBR der betreffenden Platte zu initialisieren.[5]

MBR verschiedener Betriebssysteme

Viele verbreitete Betriebssysteme erstellen oder ergänzen bei der Installation standardmäßig den MBR so, dass das Betriebssystem gestartet werden kann.

DOS und MS-DOS-basierte Windows-Versionen

Unter DOS kann man sich den MBR bei nicht partitionierten Festplatten mit debug ansehen. Wenn die Festplatte partitioniert (z. B. aufgeteilt in C:, D:, …) ist, sieht man mit debug nur den Boot Record der jeweiligen logischen Partition. MS-DOS und die auf DOS aufbauenden Windowsvarianten (also Windows 95 bis Windows Me) überschreiben den Boot-Loader im MBR bei der Installation ohne Rücksicht auf seinen bisherigen Inhalt.

Im Falle eines Fehlers im MBR kann mit dem undokumentierten Befehl fdisk /mbr ein neuer Standard-Masterbootrecord geschrieben werden. Dabei wird der gesamte MBR überschrieben (mit Ausnahme der Partitionstabelle), wodurch Bootviren entfernt werden können, sofern das Virus nicht den Schreibzugriff auf den Master Boot Record erkennt und abfängt.[6] Allerdings kann auch ein eventuell vorhandener Bootmanager entfernt werden.

Windows-Versionen basierend auf Windows NT

Die Microsoft-Windows-Versionen der NT-Linie (z. B. NT 4, 2000 und XP) überschreiben den Boot-Loader (die ersten 446 Bytes des MBR) bei jeder Neuinstallation zwar auch, berücksichtigen aber noch vorhandene Informationen über ein älteres Microsoft-Betriebssystem, also MS-DOS und andere darauf basierende Windows-Versionen. In diesem Fall wird der NTLDR mit Auswahlmöglichkeit zwischen den verschiedenen installierten Microsoft-Betriebssystemen vorkonfiguriert.

Für Windows 2000 und XP gibt es die Wiederherstellungskonsole, hier dient der Befehl fixmbr zur Reparatur des MBR und fixboot zur Reparatur des Bootsektors einer Partition (nur für x86-Systeme).

Microsoft Windows Vista

Im Gegensatz zu älterern NT basierten Windows Systemen startet Vista aus dem MBR-Code den Bootloader "bootmgr" (unter NT/XP war dies "ntldr"). Bootmgr entnimmt die Informationen zum bootenden Betriebssystem nicht der (einfach editierbaren Textdatei) boot.ini, sondern speichert diese Informationen in der Datei \Boot\BCD (auf Extensible Firmware Interface-Systemen \EFI\Microsoft\Boot\Bootmgfw.efi). Im Bootprozess überprüft der Bootloader die Disk-Signatur (Bytes 440-443 im MBR) mit seinen gespeicherten Booteinträgen aus der BCD-Datei. Wurde die Disk Signatur verändert (z.B. beim Imaging) verweigert Vista den Start mit einem „winload error“. Die BCD Datei ist im Gegensatz zur boot.ini keine einfache Textdatei, sondern eine Binärdatei (genauer vom Aufbau her ein Hive) und kann nicht mit einem normalen Texteditor bearbeiten werden. Zur Bearbeitung des BCD-Datei gibt es ein eigenes Tool mit dem Namen bcdedit. Es kann in einem laufenden Vista (oder von einer entsprechenden Vista-PE CD) an der Kommandozeile aufgerufen werden. Alternativ kann man beim Booten von der Vista CD das Tool über den Punkt Repair your computer/Startup Repair das Tool bootrec aufrufen. [7]

Linux

Linux-Distributionen installieren meist auf Anfrage einen „intelligenten“ Bootmanager, der auch fremde Betriebssysteme (z. B. Microsoft Windows) aufnimmt. Mit dem Programm install-mbr, das z. B. in der Linux-Distribution Knoppix enthalten ist, kann ein funktionsfähiger Boot-Loader in den MBR geschrieben werden. Unter Linux kann man den MBR normalerweise zum Beispiel mit dem Befehl dd if=/dev/hda of=datei bs=512 count=1 (/dev/hda für E-IDE/ ATA; /dev/sda für SCSI-/ S-ATA-Festplatten) in eine Datei schreiben. Zum Wiederherstellen genügt analog dd of=/dev/hda if=datei bs=512. (Achtung: Dabei wird auch die Partitionstabelle überschrieben. Dies kann zu Datenverlusten führen, wenn nach der Sicherung des MBR die Partitionierung geändert wurde. Mit den Parametern bs=446 count=1 bleibt die Partitionstabelle erhalten.) Steht keine entsprechende Sicherungsdatei zur Verfügung, kann der MBR beispielsweise mittels des Bootloaders Linux Loader (LILO) mit folgendem Befehl neu und „leer“ geschrieben werden: lilo -M /dev/hda -s /dev/null.

Lückenhaft In diesem Artikel oder Abschnitt fehlen folgende wichtige Informationen: * Wie stehts um die *BSDs und die anderen *nixe? Hinweise zu GRUB fehlen ebenfalls.

Du kannst Wikipedia helfen, indem du sie recherchierst und einfügst.

MBR bei EFI-basierten Computern

Bei EFI-basierten Computern kommt statt der MBR-Partitionstabelle die neuere GUID Partition Table (GPT) zum Einsatz. Aus Gründen der Abwärtskompatibilität enthält jede GPT ein sogenanntes Schutz-MBR. Dieses sorgt dafür, dass Betriebssysteme bzw. Programme, die noch nicht mit GPT zurechtkommen, statt eines leeren Datenträgers eine einzige Partition sehen, die über den ganzen Datenträger geht. Dieses Schutz-MBR lässt sich außerdem dazu benutzen, um MBR-basierte Betriebssysteme auf EFI-basierten Computern zu installieren, indem die Partitionen der GPT auf die MBR-Partitionstabelle abgebildet werden. Diesen Trick benutzt Apple bei seiner Boot Camp-Software, die die Installation von Windows auf Intel-basierten Macs erlaubt. Auch die EFI-Applikation rEFIt kann mit dem Programm gptsync GPT und MBR-Partitionstabelle synchronisieren.

Quellen

  1. Microsoft Knowledge-Base, Artikel 227704: Windows May Use Signature() Syntax in the Boot.ini File. bzw. Windows 2000 verwendet Syntax „Signature()“ in Datei „Boot.ini“.
  2. c’t-Hotline (kav): Systemkopie bootet nicht. in c’t 3/2006, S. 180.
  3. Karsten Violka: Festplatten-ABC. Laufwerksbuchstaben unter Windows XP und 2000 bändigen. in c’t 9/2005, S. 184.
  4. Microsoft Knowledge Base, Artikel 149877: Boot Record Signature AA55 Not Found. bzw. MBR-Signatur AA55 wird nicht gefunden.
  5. c’t Hotline: Wundersame Plattenbeschleunigung. In c’t 19/1998 S. 218
  6. Microsoft Knowledge Base, Artikel 69013: FDISK /MBR rewrites the Master Boot Record. bzw. FDISK /MBR überschreibt Master Boot Record.
  7. Multibooters - Dual/Multi Booting With Vista bootmgr and BCD und Disk Signature

Siehe auch


Wikimedia Foundation.

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

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

  • Boot Record —   [dt. »Startaufzeichnung«], Bezeichnung für den Inhalt des Boot Sektors. Eine besondere Form des Boot Records ist der Master Boot Record …   Universal-Lexikon

  • Master boot record — A master boot record (MBR) is a type of boot sector popularized by the IBM Personal Computer.[1] It consists of a sequence of 512 bytes located at the first sector of a data storage device such as a hard disk. MBRs are usually placed on storage… …   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

  • Master Boot Record — Saltar a navegación, búsqueda Algunas veces se emplea para el arranque del sistema operativo con bootstrap, otras veces es usado para almacenar una tabla de particiones y, en ocasiones, se usa sólo para identificar un dispositivo de disco… …   Wikipedia Español

  • Master boot record — Almacenamiento de un master boot record estándar Dirección Descripción 0x0000 Área de código 0x01B8 4 bytes; firma del disco (opcional) 0x01BC 2 bytes; normalmente 0x0000 0x01BE Para entradas en la tabla de particiones primarias de 16 bytes… …   Wikipedia Español

  • Master Boot Record — Le Master Boot Record ou MBR (parfois aussi appelé Zone amorce ) est le nom donné au premier secteur adressable d un disque dur (cylindre 0, tête 0 et secteur 1, ou secteur 0 en adressage logique) dans le cadre d un partitionnement Intel. Sa… …   Wikipédia en Français

  • Extended boot record — An Extended Boot Record (EBR), or Extended Partition Boot Record (EPBR)fn|1, is a descriptor for a logical partition under the common DOS disk drive partitioning system. In that system, when one (and only one) partition record entry in the Master …   Wikipedia

  • Master boot record — Le Master Boot Record ou MBR (parfois aussi appelé Zone amorce ) est le nom donné au premier secteur adressable d un disque dur (cylindre 0, tête 0 et secteur 1, ou secteur 0 en adressage logique) dans le cadre d un partitionnement Intel. Sa… …   Wikipédia en Français

  • Volume boot record — A Volume Boot Record (also known as a volume boot sector or a partition boot sector, although the latter is not strictly correct) is a type of boot sector, stored in a disc volume on a hard disk, floppy disk, or similar data storage device, that… …   Wikipedia

Share the article and excerpts

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