MBR (Master Boot Record)

2017-10-15 von admin

Der Master Boot Record (MBR) ist ein Startprogramm und befindet sich im ersten Sektor eines bootfähigen Speichermediums (Festplatte, CD, USB, …). Unter Linux ist der MBR meist unter „/dev/hda“ oder „/dev/sda“ zu finden. Die Größe beträgt 512 Byte und unterteilt sich in die Bereiche:

Bereiche Größe
Bootloader 440 Byte
Datenträgersignatur 4 Byte
Null 2 Byte
Partitionstabelle  64 Byte
Bootsektor-Signatur  2 Byte

 

Mit dem Befehl „dd“ kann der MBR in eine separate Datei extrahiert werden.

Um die erstellte Datei anzuschauen, kann ein beliebiger Hex-Editor oder der Befehl „od“ verwendet werden.

 

Bootloader (440 Byte)

Die ersten 440 Byte gehören zum Bootloader und nach der Ausführung sucht dieser in der Partitionstabelle nach einer aktiven Partition. Je nach System kann es sein, dass der Bootloader größer als 440 Byte ist und sich somit auf dem Dateisystem einer Festplatte befindet oder das ein Bootmanager verwendet wird.

Wenn die aktive Partition gefunden wurde, wird das eigentliche Betriebssystem gestartet.

Datenträgersignatur (4 Byte)

Die Datenträgersignatur (Disk Signature oder Disk identifier) wird von Windows 2000 und XP verwendet, um Datenträger (Partitionen) eindeutig zu identifizieren, bspw. für die Zuordnung von Laufwerksbuchstaben zu einer Partition. Die Datenträgersignatur besteht aus einem zufällig generierten Wert.

Null (2 Byte)

Nach der Datenträgersignatur folgen zwei leere Bytes.

Partitionstabelle (64 Byte)

Die Partitionstabelle teilt sich in vier Sektionen zu 16 Byte auf. Die vier verfügbaren Partitionen sind in Orange, Grün, Magenta und Hellblau hervorgehoben. Die Bedeutung der einzelnen Bytes werden anhand der ersten Partition erläutert.

Byte Größe  Partition 1 Beschreibung
1 80 Gibt an, ob eine Partition gestartet werden kann.

0x80 = bootfähig

0x00 = nicht bootfähig

3 20 21 00 CHS-Eintrag des ersten Sektors
1 83 Kennzeichnung des Partitionstyps.

0x00 = leer/unbenutzt
0x01 = FAT12 ≤ 16MB (hauptsächlich Floppy Disks aber auch Speicherkarten)
0x04 = FAT16 ≤ 32 MiB
0x05 = erweiterte Partition
0x06 = FAT16 > 32 MiB
0x07 = NTFS (Windows NT/2000/XP/Vista/7/8), HPFS (OS/2) oder exFAT
0x0B = FAT32
0x0C = FAT32 mit BIOS-Extensions (LBA)
0x0E = FAT16 > 32 MiB mit BIOS-Extensions (LBA)
0x0F = erweiterte Partition mit BIOS-Extensions (LBA)
0x12 = OEM-Partition für Konfiguration, Diagnose, BIOS-Erweiterung
0x27 = Windows RE versteckte Partition
0x42 = Dynamischer Datenträger
0x82 = Linux Swap/Solaris 2.6 X86 bis Solaris 9 X86
0x83 = Linux Native
0x8E = Linux LVM
0xA5 = FreeBSD
0xA6 = OpenBSD
0xA9 = NetBSD
0xEE = Legacy MBR mit folgendem EFI-Header
0xEF = EFI-Dateisystem

mehr

3 fe ff ff CHS-Eintrag des letzten Sektors
4 00 08 00 00 Startsektor, relativ zum Anfang der Festplatte oder zur erweiterten Partition
4 00 08 e9 02 Anzahl der Sektoren in der Partition per LBA-Methode

 

Bootsektor-Signatur (2 Byte)

Die Bootsektor-Signatur wird auch „Magic Number“ genannt und schließt den MBR ab. Wird die Signatur von einem BIOS gefunden, wird der MBR als gültiger Bootsektor gehandhabt. Fehlt hingegen die Signatur, wird der Bootvorgang abgebrochen.

 

Weiter führende Links

Linux – Boot Prozess

Master Boot Record

Kategorie: IT Schlagwörter: ,