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.