Partitionstabelle
aus Wikipedia, der freien Enzyklopädie
Die Partitionstabelle gibt die Aufteilung einer Festplatte in Partitionen an. Partitionen sind mehrere unabhängig voneinander benutzbare Teile der Festplatte. Auch wenn nur eine Partition eingerichtet ist, ist eine Partitionstabelle im Master Boot Record vorhanden.
Unter den meisten Betriebssystemen wird sie mit dem Programm fdisk eingerichtet. Es gibt auch eine Vielzahl weiterer Programme, um eine Festplatte zu partitionieren.
[Bearbeiten] Aufbau der Partitionstabelle bei IBM-PC kompatiblen Computern
Auf Festplatten für IBM-PC kompatible Computer wird üblicherweise der unten beschriebene Aufbau der Partitionstabelle verwendet. Auf zu PC kompatiblen Speichermedien (z. B. Compact Flash Karten, USB-Stick, Zip-Diskette) ist diese Art von Partitionierung möglich, aber nicht nötig. Auf Speichermedien anderer Systeme (z. B. Workstations, Apple Macintosh) werden andere Partitionstabellen verwendet, die hier nicht beschrieben werden.
Offset | *0 | *1 | *2 | *3 | *4 | *5 | *6 | *7 | *8 | *9 | *A | *B | *C | *D | *E | *F |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0000 | eb | 48 | 90 | 10 | 8e | d0 | bc | 00 | b0 | b8 | 00 | 00 | 8e | d8 | 8e | c0 |
0010 | fb | be | 00 | 7c | bf | 00 | 06 | b9 | 00 | 02 | f3 | a4 | ea | 21 | 06 | 00 |
. . . | ||||||||||||||||
0190 | 61 | 64 | 00 | 20 | 45 | 72 | 72 | 6f | 72 | 00 | bb | 01 | 00 | b4 | 0e | cd |
01a0 | 10 | ac | 3c | 00 | 75 | f4 | c3 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 |
01b0 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 01 |
01c0 | 01 | 00 | 83 | fe | ff | ff | 3f | 00 | 00 | 00 | 41 | 29 | 54 | 02 | 00 | fe |
01d0 | ff | ff | 82 | fe | ff | ff | 80 | 29 | 54 | 02 | fa | e7 | 1d | 00 | 00 | fe |
01e0 | ff | ff | 83 | fe | ff | ff | 7a | 11 | 72 | 02 | fa | e7 | 1d | 00 | 00 | fe |
01f0 | ff | ff | 05 | fe | ff | ff | 74 | f9 | 8f | 02 | 0c | 83 | 6c | 04 | 55 | aa |
Wie unten erläutert, gibt es primäre und erweiterte Partitionstabellen. Ihr Aufbau ist identisch. Die Tabelle befindet sich an Byte 446 (1BEhex) des jeweiligen Sektors und hat maximal 4 Einträge à 16 Bytes, sie ist also 64 Byte groß. Daran anschließend folgt die Magic Number, die aus den beiden Bytes 55hex und AAhex in den letzten zwei Bytes des Sektors besteht.
Die nebenstehende Tabelle veranschaulicht die Lage der Partitionstabelle (innerhalb des Bootsektors). Die vier Partitionseinträge sind farblich hervorgehoben. Gelb, grün, cyan und blau sind die Einträge für die vier primären Partitionen. Die Signatur ist rot hinterlegt.
Ein solcher Eintrag ist wie folgt gegliedert:
-
Speicherplatzadresse
(Hexadezimal)Größe
(Bytes)Inhalt 0x00 1 bestimmt ob Partition gestartet werden kann oder nicht
(80hex=bootfähig, 00hex=nicht bootfähig)0x01 3 CHS-Eintrag des ersten Sektors 0x04 1 Typ der Partition (Dateisystem / Partitionstyp) 0x05 3 CHS-Eintrag des letzten Sektors 0x08 4 Startsektor (Little Endian, relativ zum Anfang der Festplatte, oder zu erweiterten Partitionstabellen) 0x0C 4 Anzahl der Sektoren in der Partition (Little Endian)
Unbenutzte Einträge sind mit Nullen gefüllt.
Die CHS-Einträge sind wie folgt kodiert:
Da bei modernen Festplatten die Adressierung durch CHS (255 Heads × 63 Sektoren × 1023 Zylinder × 512 Bytes = ca. 8 GiB) nicht ausreicht, wird ab dieser Größe immer 255, 63 und 1023 für die CHS-Werte angegeben (also alle Bits auf 1) und Position und Größe werden dann ausschließlich durch die Sektorangaben festgelegt. Somit ergibt sich auch die maximale Größe von 2 TiB für eine Partition und 4 TiB für eine Festplatte. (232-1 × 512 Bytes = ca. 2 TiB)
[Bearbeiten] Wichtige Partitionstypen mit ihren Kennnummern
Der Eintrag an Offset 0x04 steht u. a. für:
-
Typbyte (hex) Dateisystem 0x00 leer/unbenutzt 0x01 FAT12 (Floppy Disks) 0x04 FAT16 < 32 MiB 0x05 erweiterte Partition 0x06 FAT16 > 32 MiB 0x07 HPFS (OS/2) oder NTFS (Windows NT) 0x0B FAT32 0x0C FAT32 mit BIOS-Extensions 0x0E FAT16 > 32 MiB mit BIOS-Extensions 0x0F erweiterte Partition mit BIOS-Extensions 0x12 EISA Partition 0x42 Dynamischer Datenträger 0x82 Linux Swap 0x83 Linux Native 0x8E Linux LVM 0xA5 FreeBSD 0xA6 OpenBSD 0xA9 NetBSD
[Bearbeiten] Primäre + Erweiterte Partitionstabelle
Bei einem am PC partitionierten Medium wird die primäre Partitionstabelle vor der Signatur am Ende von Sektor 1 (Master Boot Record) abgelegt. Die Partitionen in der Partitionstabelle des MBR heißen Primärpartitionen. Eine einzige Partition im MBR kann jedoch auch als erweitert (extended, Typ 5 oder Fhex) markiert sein. Diese verweist dann im Eintrag Startsektor auf die erste erweiterte Partionstabelle.
Diese befindet sich im ersten Sektor der erweiterten Partition. Jede erweiterte Partitionstabelle definiert genau eine logische Partition und verweist bei Bedarf auf die nächste erweiterte Partitionstabelle. Die erweiterten Partitionstabellen funktionieren nach dem Prinzip der verketteten Liste, daher sind hinter den primären Partitionen beliebig viele logische Partitionen möglich. Als Länge des Eintrags der Typ 5 Partition im MBR ist die Summe aller verketteten erweiterten Partitionen eingetragen. Da immer ein Sektor von der erweiterten Partitionstabelle eingenommen wird, können erweiterte und logische Partition unmöglich gleich groß sein.
Eine erweiterte Partitionstabelle benutzt somit maximal die zwei ersten Einträge der Partitionstabelle. Die Startsektoren werden hier nicht mehr relativ zum Anfang der Festplatte angegeben:
- Der erste Eintrag beschreibt die logische Partition. Dessen Startsektor wird immer relativ zur Position der aktuellen Partitionstabelle angegeben.
- Der zweiten Eintrag kann eine Verkettung zu einer weiteren erweiterten Partitionstabelle enthalten und hat immer den Typ 5. Im Startsektor dieses Eintrags wird immer relativ zum Sektor der ersten erweiterten Partition verwiesen.
Alte Betriebssysteme erwarten den Start einer Partition immer an den Zylindergrenzen. Daher ergibt sich auch heute noch bei verbreiteten Betriebssystemen eine Lücke von 63 Sektoren zwischen erweiterter Partitionstabelle und dem Startsektor der entsprechenden logischen Partition. Diese Sektoren in der Lücke können z. B. für einen Bootmanager oder zum Verstecken von „geheimen“ Daten, aber auch von Bootsektorviren verwendet werden. Auch wurde dort früher eine BIOS-Erweiterung untergebracht, um auch Festplatten mit mehr als 8 GiB zu unterstützen, falls das BIOS des Mainboards dazu nicht imstande war.