Next: 10.2.2 MBR anschauen
Up: 10.2 Master Boot Record
Previous: 10.2 Master Boot Record
Unterabschnitte
Da der MBR genau einen Sektor umfaßt ist er normalerweise 512 Bytes groß.
Er besteht aus drei Teilen: Dem
Mini-Startprogramm, der
Partitionstabelle und der
Magischen Nummer.
10.2.1.1 Mini-Startprogramm
Dieses kleine Programm, das in den ersten 446 Bytes des MBR liegt, sorgt dafür das ein Betriebssystem geladen wird. Als Standardeinstellung steht dort ein Programm, das die Ausführung einfach an den Boot-Record der als aktiv gekennzeichneten Partition übergibt. Hier kann sich auch der erste Teil von Bootloadern wie GRUB (
12.2) oder LILO (
12.3) befinden.
10.2.1.2 Partitionstabelle
Die Partitionstabelle nimmt ingesamt 64 Bytes ab Speicherstelle
0x1BE ein. Hier können maximal 4 Partitionen eingetragen werden für die jeweils 16 Byte zur Verfügung stehen. Dabei teilen sich die 16 Byte wie in Tabelle
10.1 zu sehen auf.
Tabelle 10.1:
Aufbau eines Partitionseintrags im MBR
Größe |
Typ |
Name |
Erklärung |
1 Byte |
char |
boot_flag |
Kennzeichnung für Bootpartition |
1 Byte |
char |
begin_head |
Partitionsanfang nach CHS |
1 Byte |
char |
begin_sector |
Partitionsanfang nach CHS |
1 Byte |
char |
begin_cylinder |
Partitionsanfang nach CHS |
1 Byte |
char |
partition_type |
Partitionstyp |
1 Byte |
char |
end_head |
Partitionsende nach CHS |
1 Byte |
char |
end_sector |
Partitionsende nach CHS |
1 Byte |
char |
end_cylinder |
Partitionsende nach CHS |
4 Byte |
long |
start_sector |
Beginn der Partition nach LBA |
4 Byte |
long |
sector_count |
Größe der Partition |
|
Das Bootflag kennzeichnet, ob die Partition aktiv ist und daß ihr Boot-Record einen Boatloader enthält. Normalerweise steht dort der Wert 0x00. Ist die Partition aktiv dann steht an dieser Stelle der Wert 0x80. Natürlich kann, was zwar falsch aber trotzdem möglich ist, eine Partition als aktiv gekennzeichnet sein, obwohl sie keinen funktionsfähigen Boot-Record besitzt.
In der Partitionstabelle wird auch festgehalten, für welches Dateisystem die Partition gedacht ist bzw. ob es sich um eine erweiterte Partition handelt. So steht z. B. der Wert 0x83 für eine Linuxpartition, egal ob ext2, ext3, ReiserFS oder andere. Dagegen steht 0x82 für die Swap-Partition.
Die 6 Bytes für den Partitionsanfang und das Partitionsende nach der CHS-Zählung sind heute veraltet. Mit dieser Notations sind maximal Platten von 8 GB Größe verwaltbar, wenn man davon ausgeht, daß diese 256 Leseköpfe haben. Da Partitionen heute sowieso nur nach an Zylindergrenzen festgemacht werden, haben diese Werte keine weitere Bedeutung. Am Ende des Partitionseintrags liegen 8 Byte, die Anfang und Anzahl der Sektoren der Partition anzeigen. Mit dieser Methode sind Platten bis zu 2 TB (2048 GB) verwaltbar.
Übrigens fehlt bei Disketten die Partitionstabelle im MBR. Wer würde auch schon auf die Idee kommen eine Diskette zu partitionieren?
10.2.1.3 Magische Nummer
Die letzten zwei Bytes bilden die magische Nummer des Master Boot Records. Hier steht immer der Wert
0xAA55 drin.
Next: 10.2.2 MBR anschauen
Up: 10.2 Master Boot Record
Previous: 10.2 Master Boot Record