Master Boot Record
Der Begriff Master Boot Record (MBR) bezeichnet in der x86-Architektur den ersten Datenblock (512 Byte) eines in Partitionen aufgeteilten, bootfähigen 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 er eine Partitionstabelle enthält, hat ein MBR 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.
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
Boot-Loader
Dies 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 statt dessen 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.
siehe auch Boot-Loader
Disk-Signatur
Wird von Windows 2000 und XP verwendet, um Festplatten zu identifizieren. Situationen, in denen mehrere MBRs mit identischen Signaturen existieren, sollten vermieden werden, da diese Systeme möglicherweise fehlerhaft darauf reagieren.
dd if=/dev/null of=/dev/hd[alte] bs=1 count=4 seek=440
. alte>=b
empfohlen.
Partitionstabelle
Gibt Auskunft über die Partitionen auf einem Datenträger. Ist die Partitionstabelle 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 wieder herstellen.
siehe Hauptartikel Partitionstabelle
MBR-Signatur
Diese Signatur wird auch Magic Number genannt und 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.[1]
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.[2]
MBR verschiedener Betriebssysteme
Jedes Betriebssystem erstellt bzw. ergänzt bei der Installation standardmäßig den MBR, damit es geladen werden kann.
DOS und 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 von 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 jegliche Rücksicht auf seinen bisherigen Inhalt.
Im Falle eines Fehlers im MBR kann unter MS-DOS und Windows 9x mit dem undokumentierten Befehl fdisk /mbr
ein neuer Standard-Masterbootrecord für jeweils diese Betriebssysteme geschrieben werden. Dabei wird der MBR komplett überschrieben (mit Ausnahme der Partitionstabelle), wodurch Bootviren vernichtet werden können, sofern das Virus nicht den Schreibzugriff auf den Master Boot Record erkennt und abfängt.[3] Allerdings wird auch ein eventuell vorhandener Bootmanager vernichtet.
Windows-Versionen basierend auf Windows NT
Die Microsoft-Windows-Versionen der NT-Linie (z. B. NT 4, W2K 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 anderes Betriebssystem aus dem Hause Microsoft, also MS-DOS und andere Windowsversionen. In diesem Fall wird dann ein kleiner Bootmanager mit Auswahlmöglichkeit zwischen den verschiedenen installierten Microsoft-Betriebssystemen aktiviert.
Für Windows 2000 und XP gibt es die Wiederherstellungskonsole, hier dienen die Befehle fixmbr
und fixboot
(nur für x86-Systeme) zur Reparatur des MBR.
Linux
Linux-Distributionen installieren meist auf Anfrage einen „intelligenten“ Bootmanager, der auch fremde Betriebssysteme (z. B. MS-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 mittels dd if=/dev/hda of=datei bs=512 count=1
(/dev/hda für E-IDE/ ATA; /dev/sda für SCSI Festplatten) in eine Datei schreiben. Zum Wiederherstellen genügt analog dd of=/dev/hda if=datei bs=512
.
Steht keine entsprechende Sicherungsdatei zur Verfügung, kann der MBR mittels des Bootloaders LILO mit folgendem Befehl neu und „leer“ geschrieben werden: lilo -M /dev/hda -s /dev/null
.
Quellen
- ↑ Microsoft Knowledge Base - Artikel 149877: MBR-Signatur AA55 wird nicht gefunden
- ↑ c't Hotline: Wundersame Plattenbeschleunigung. aus c't Nr. 19/1998 S. 218
- ↑ Microsoft Knowledge Base - Artikel 69013: FDISK /MBR überschreibt Master Boot Record