mbr

Master Boot Record (MBR)

Der MBR hat eine Länge von 512 Byte und befindet sich in Seite 0, Spur 0, Sektor 1 auf der Festplatte. Er nimmt darin ein Bootprogramm auf (Programmcode, auch IPL = Initial Programm Loader genannt).

Wenn nach dem Einschalten des Rechners der "Power On Self Test" erfolgreich ausgeführt wurde, wird das Bootpragramm gestartet und sucht in der Partitionstabelle innerhalb des MBR nach einem Eintrag für die aktive Partition.

Ist dort ein Eintrag vorhanden, wird der Boot-Sektor der aktiven Partition - also deren erster Sektor, geladen. Danach wird die Kontrolle an den Bootsektor übergeben, der dann den dort eingetragenen Boot - Loader ausführt und so das entsprechenede Betriebssystem startet. das vom BIOS aufgerufen wird, um das eigentliche Betriebssystem zu laden. Des weiteren befindet sich im MBR die Partitionstabelle.

Aufbau des Master Boot Records
Adresse Länge Inhalt
0x0 446 Bytes Bootprogramm (Bootcode)
0x1BE 16 Bytes 1. Eintrag in der Partitionstabelle
0x1CE 16 Bytes 2. Eintrag in der Partitionstabelle
0x1DE 16 Bytes 3. Eintrag in der Partitionstabelle
0x1EE 16 Bytes 4. Eintrag in der Partitionstabelle
0x1FE 2 Bytes Partitionssektorkennung "AA55h"
Summe 512 Bytes  



Die ersten 446 Byte sind für das Bootprogramm reserviert. Die nächsten 64 Byte bieten Platz für die Partitionstabelle, die maximal 4 Einträge mit jeweils 16 Bytes aufnehmen kann. Daraus folgt, das je Festplatte nur 4 primäre Partitionen angelegt werden können.
Die Partitionstabelle enthält eine Beschreibung, ob bzw. wie die Festplatte in unterschiedliche Bereiche (Partitionen) aufgeteilt ist. Jede Partition erhält einen Eintrag.
Die letzten zwei Byte im 512-Byte-großen MBR müssen immer den Wert AA55h enthalten, die den MBR als solchen identifizieren. Sonst könnten manche Programme den Sektor nicht als MBR akzeptieren.

Ohne die Partitionstabelle gibt es keine Dateisysteme (Laufwerke), d.h. die Festplatte ist praktisch nicht zu verwenden.

Der MBR wird normalerweise vom Betriebssystem installiert. Ein Bootmanager kann den MBR ganz oder teilweise mit seinem eigenen Code überschreiben. So kann der Bootmanager beim Starten des Computers ein Menü anzeigen, in dem die Partition bzw. das Betriebssystem ausgewählt werden kann, das gebootet werden soll.

Die Partitionstabelle

Für jede der vier möglichen primären Partitionen existiert ein 16-Byte-langer Eintrag.
Jeder der vier Einträge enthält die folgenden Daten:


Aufbau eines Eintrages in der Partitionstabelle
Adresse Länge Inhalt
0x0 1 Byte
Partitionsstatus
0x0 = inaktiv
0x80 = Boot-Partition
+0x1 3 Bytes
CHS-Adresse des Beginns der Partition
+0x4 1 Byte
Partitionstyp
+0x5 3 Bytes
CHS-Adresse des Endes der Partition
+0x8 4 Bytes
lineare Adresse des ersten Blocks der
Partition (Bootblock)
+0xC 4 Bytes
Größe der Partition in Blöcken
Summe 16 Bytes  


In Byte 0 zeigt der Wert 80h (das oberste Bit ist gesetzt) an, dass diese Partition die Bootpartition mit einem Betriebssystem ist. Die Master-Boot-Routine wertet dieses Byte aus, um das Betriebssystem zu finden.

Bei Festplatten bis zu einer Größe von 8 Gbyte enthalten die Bytes 1 bis 3 die Startposition der Partition: Byte 1 = Kopf/Seite, Byte 2 = Spur/Zylinder, Byte 3 = Sektor (CHS).

Das Byte 4 enthält die Typkennung der Partition. Jedes Betriebssystem benutzt ein Dateisystem, um seine Dateien und Verzeichnisse auf der Festplatte zu organisieren. Der Typ gibt an, um welche Art Dateisystem es sich handelt. Eine Liste der gängigen Typen im Abschnitt Partitionstypen

Bei Festplatten mit einer Größe über 8 Gbyte werden stattdessen die Bytes ab Position 7 verwendet. Hier ist jeweils in einer 32-Bit-Zahl die Position des erstens Sektors der Partition (bezogen auf den Plattenanfang) und die Länge der Partition gespeichert. Diese Adressiermethode nennt sich auch Logical Block Adressing (LBA). Mit den 32-Bit-Adressen sind Festplattengrößen bis 2048 GByte möglich.

Unter Linux kann man sich mit dem Programm FDISK die Aufteilung einer Festplatte mit der jeweiligen Typenbezeichnung ansehen. Hier ein Beispiel:

                          fdisk

In der Spalte "Id" ist die Hexadezimale Nummer der auf dieser Festplatte vorhandenen Dateisystemtypen zu erkennen.