Bootmanager: Grundlagen
Die Partitionstabelle
Ein einzelner Eintrag in einer Partitionstabelle hat ebenfalls einen festen Aufbau und ist 16 Byte lang.
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.
Die Bytes 1 bis 3 enthalten die Startposition der Partition: Kopf, Spur und Sektor. Das gilt für Festplatten bis zu einer Größe von 8 GByte. Größere Festplatten verwenden stattdessen die Bytes ab Position 7. Hier ist jeweils als 32-Bit-Zahl die Position des erstens Sektors der Partition (bezogen auf den Plattenanfang) und die Länge der Partition gespeichert. Mit den 32-Bit-Adressen sind Festplattengrößen bis 2048 GByte möglich.
Das Byte 4 spielt eine wichtige Rolle: Es enthält die Typkennung der Partition. Jedes Betriebssystem benutzt ein Dateisystem, um seine Verzeichnisse und Dateien auf der Festplatte zu organisieren. Der Typ gibt an, um welche Art Dateisystem es sich handelt. Die gebräuchlichsten Systeme sind:
00h Partition ist nicht belegt
01h DOS FAT12
04h DOS FAT16 kleiner als 32 MByte
05h erweiterte Partition
06h DOS FAT16 größer als 32 MByte
07h IFS (HPFS, NTFS)
08h OS/2, AIX, Dell, QNX
09h AIX, Coherent, QNX
0Ah OS/2 Bootmanager
0Bh Win9x FAT32
0Ch Win9x FAT32 (LBA)
0Eh Win9x FAT16 (LBA)
0Fh erweiterte Partition (LBA)
Manche Betriebssysteme wie Windows NT/2000 kümmern sich nicht um die Typkennung. Sie analysieren den Inhalt der Partition (genau gesagt: deren Partitionssektor/Bootsektor) und binden eine erkannte Partition, auf die sie zugreifen können, automatisch ein.
Es ist nicht notwendig, dass die Reihenfolge in der Partitionstabelle der physikalischen Reihenfolge auf der Festplatte entspricht. Die erste Partition im MBR kann durchaus in der Mitte der Festplatte bei Spur 600 beginnen.