Das MBR und der Bootstrap Code
Der Begriff MBR, oder auch Master Boot Record, ist vor allem in Verbindung mit älteren Computersystemen bekannt. Er bezeichnet die physisch ersten 512 Bytes auf einem Datenträger und enthält wesentliche Informationen über dessen Partitionierung sowie einen Abschnitt von Code.
Der Master Boot Record wird bei einem System mit BIOS benötigt, um das Starten des Betriebssystems zu ermöglichen.
Das BIOS (Basic Input Output System) ist im Grunde die erste Software, die auf einem Computersystem ausgeführt wird. Hierbei handelt es sich vorrangig um das Initiieren des eigentlichen Betriebssystems und die Kommunikation zwischen externer (z. B. Tastatur, Maus) und interner Hardware (wie dem Prozessor).
Mittlerweile gibt es eine moderne Alternative zum BIOS, das UEFI (Unified Extensible Firmware Interface). Dies ist der Nachfolger des BIOS und bringt zahlreiche Vorteile mit sich, wie intuitive Benutzeroberflächen, erhöhte Sicherheitsstandards und weitere praktische Funktionen. Aufgrund seiner geringeren Komplexität im Vergleich zum UEFI ist das BIOS besonders bei älterer Hardware und im Embedded-Bereich noch weit verbreitet.
Die MBR Struktur
Um die Funktion des MBRs zu verstehen, ist es notwendig, sich mit seinem Aufbau vertraut zu machen. Der MBR umfasst die ersten 512 Bytes auf dem Datenträger und hat folgende Struktur:
Adresse | Funktion | Größe |
---|---|---|
0x000 bis 0x1B7 | Bootstrap Code (z.B. minimaler Boot Loader) | 440 Bytes (0x1B8) |
0x1B8 bis 0x1BB | Datenträgersignatur | 4 Bytes (0x04) |
0x1BC bis 0x1BD | Leere Bytes (NULL, 0x00) | 2 Bytes (0x02) |
0x1BE bis 0x1FD | Partitionstabelle 1 bis 4 | 64 Bytes (0x40) -> 16 Byte pro Tabelle |
0x1FE bis 0x1FF | Signatur (0x55 0xAA) | 2 Bytes (0x02) |
Der Master Boot Record setzt sich aus drei Hauptkomponenten zusammen:
- Bootstrap Code
- Partitionstabellen
- Signatur
Partitionstabelle
Die Partitionstabelle, wie in der Liste oben zu sehen, bietet im MBR 64 Bytes Platz für vier Partitionseinträge. Jeder dieser Einträge beschreibt die Aufteilung des Datenträgers in einem 16-Byte-Format. Es können bis zu vier solcher Einträge erstellt werden.
Die Partitionstabellen fungieren quasi als Inhaltsverzeichnis und informieren das BIOS und das Betriebssystem darüber, wo auf dem Datenträger eine bestimmte Partition zu finden ist, wo sie endet und welches Dateisystem sie nutzt. Dank der Partitionstabelle können unterschiedliche Dateisysteme auf demselben Datenträger erstellt werden, beispielsweise eine Boot-Partition im FAT32-Format und eine Linux-Partition im ext4-Format.
Jede Partition kann zudem über einen Bootsektor oder auch Volume Boot Record verfügen (bei FAT, HPFS und NTFS). Dieser liegt am Anfang einer Partition, während der MBR sich am Start des Datenträgers befindet. Im Unterschied zum MBR enthält der Bootsektor allerdings keine Partitionstabelle. Daher kann man sagen, dass der MBR der erste Bootsektor auf dem Datenträger ist, aber es gibt noch weitere Bootsektoren auf den einzelnen Partitionen.
Bootstrap Code
Der Bootstrap Code ist, abgesehen von der Signatur, das erste, was das BIOS beim Start liest und ausführt. Üblicherweise besteht dieser Code aus Assembler-Anweisungen, die direkt von der CPU verarbeitet werden. Kurz gesagt, ist es der Anfangscode für den Start des Betriebssystems.
Oftmals beinhaltet dieser Code nur einen kleinen Teil des Bootloaders, der dem BIOS dann mitteilt, wo sich die Dateien für das Betriebssystem (z. B. Windows, Linux, etc.) befinden, sodass es gestartet werden kann. Dieser Code wird in der Regel beim Installieren eines Systems oder bei der Formatierung des Datenträgers erstellt.
Checksumme
In den letzten zwei Bytes des MBRs steht der Wert 0x55 und 0xAA. Dies stellt eine einheitliche Signatur in der MBR-Struktur dar und funktioniert wie eine Prüfsumme. Wenn diese Signatur nicht vorhanden ist, wird das BIOS den Bootstrap-Code nicht ausführen.
Zusammenfassung
Das MBR ist im Grunde leicht zu verstehen, sobald man die Funktionen der einzelnen Komponenten erfasst hat. Man kann es als das Inhaltsverzeichnis eines Datenträgers betrachten. Außerdem dient es als Anleitung für das BIOS, wie es das System starten soll und wo sich die verschiedenen Datenblöcke befinden.
Der MBR wird hauptsächlich bei Systemen mit BIOS verwendet. Neuere Systeme setzen in der Regel auf ein UEFI-System und nutzen meistens einen moderneren Partitionstyp namens GPT (GUID Partition Table). Das UEFI ist jedoch in den meisten Fällen auch mit dem älteren MBR kompatibel.
0 Comments