- GPT-Datenträger
-
GUID Partition Table (GPT), zu deutsch GUID-Partitionstabelle, ist ein Standard für das Format von Partitionstabellen auf Festplatten oder anderen Datenträgern. Die Spezifikation ist Teil des EFI-Standards, der das BIOS in PCs ersetzen sollte. GPT ist somit der Nachfolger der MBR-Partitionstabellen.
Inhaltsverzeichnis
Aufbau
Das GPT-Schema teilt einen Datenträger in folgender Bereiche ein:
- MBR
- primäre GPT bestehend aus Header und Partitionseinträgen
- Partitionen
- sekundäre GPT bestehend aus Partitionseinträgen und Header
Die sekundäre GPT am Ende des Datenträgers ist eine Kopie der primären GPT am Anfang des Datenträgers. Durch diese Redundanz kann im Fehlerfall die Partitionstabelle wiederhergestellt werden. Da die GPT eine Prüfsumme enthält, kann festgestellt werden, welcher der beiden GPT konsistent ist.
MBR-Partitionstabelle
Im ersten Block des Datenträgers (LBA 0), d. h. in den ersten 512 Bytes, befindet sich der Master Boot Record (MBR). Dort befindet sich eine klassische MBR-Partitionstabelle mit einem Eintrag, der den Datenträgers belegt. Für ein Betriebssystem, das nur MBR- aber keine GPT-Partitionstabellen lesen kann, erscheint der gesamte Platz des Datenträgers als belegt.
Header der GUID-Partitionstabelle
Im zweiten Block (LBA 1) befindet sich der Header der primären GPT. Der Header der sekundären GPT befindet sich im letzten Block (LBA −1).
Im Header der GPT sind folgende Informationen abgelegt:
- Signatur (8 Bytes) – „EFI PART“
- Revision (4 Bytes) – 0x00010000
- Header-Größe (4 Bytes)
- Header-Prüfsumme (4 Bytes)
- Reservierter Platz (4 Bytes) – darf nicht belegt sein
- Position der primären Partitionstabelle (8 Bytes)
- Position der sekundären Partitionstabelle (8 Bytes)
- Position des ersten benutzbaren Blocks (8 Bytes)
- Position des letzten benutzbaren Blocks (8 Bytes)
- GUID (16 Bytes)
- Position der Partitionstabelle (8 Bytes)
- Anzahl der Partitionen (4 Bytes)
- Größe des Partitionseintrags (4 Bytes)
- Partitionstabellen-Prüfsumme (4 Bytes) – CRC32
Partitionseintrag
Die Partitionseinträge werden in den darauffolgenden 32 Blöcken (LBA 2 bis 33 bzw. LBA −33 bis −2) abgelegt. Ein Partitionseintrag besteht aus 128 Byte. Somit werden vier Partitionseinträge pro Block abgelegt.
Im Partitionseintrag selbst sind folgende Daten hinterlegt:
- Partitionstyp (ID) (16 Bytes)
- GUID der Partition (16 Bytes)
- Beginn der Partition (8 Bytes)
- Ende der Partition (8 Bytes)
- Attribute (8 Bytes)
- Partitionsname (72 Bytes)
Begrenzungen
Die GPT verwendet Logical Block Addressing (LBA) mit 64 Bit, so dass Festplatten bei 512 Byte Sektorgröße bis zu einer Gesamtgröße von 8192 Exabyte adressiert werden und diese in bis zu 128 Partitionen aufgeteilt werden können.
Unterstützung in Betriebssystemen
Für Betriebssysteme, die auf der IA64-Architektur laufen, ist die Unterstützung von GPT zwingend notwendig, da diese Rechner EFI zum Booten verwenden. Darunter fallen die entsprechenden 64-Bit-Versionen von FreeBSD, HP-UX, Linux, NetBSD, OpenVMS und Microsoft Windows. Auch Mac OS X unterstützt es seit Einführung der auf Intel-Doppelkern-Prozessoren basierenden Apple Macintosh Anfang 2006, sowie die seit Anfang 2005 verfügbare, auf IA64-Architektur angepasste Version von Solaris.
Die normalen, abwärtskompatiblen Versionen von Microsoft Windows XP, die noch für die 32-Bit-i386-Architektur entwickelt wurden, können auf einer GPT-Festplatte nur mit Einschränkungen installiert werden. Unter anderem benutzen sie nur den Master Boot Record (MBR), um Partitionierungsdaten zu erhalten. Es stehen so nur maximal drei Partitionen zur Verfügung, da der MBR nicht mehr als vier Einträge zulässt, die erste Partition für die EFI-Firmware reserviert ist, und erweiterte Partitionen, die mehrere logische Partitionen enthalten konnten, bei der GPT nicht mehr unterstützt werden.
Bis zum Erscheinen von Windows Vista Anfang 2007 gab es keine 64-Bit-Windows-Version, die an normale Anwender gerichtet war, trotz der bereits 2005 erschienenen Windows XP Professional x64 Edition. Jedoch war bei dessen Erscheinen die entsprechende Treiberunterstützung nur bei ausgesuchter Hardware vorhanden. Seit für die meiste Hardware auch 64-Bit-Vista-Treiber erscheinen ist die Unterstützung der x64-Version von XP deutlich besser geworden. Leider scheint sich auch das Treiberproblem bei der 2-TB-Grenze bei Festplatten größer 2 TB, wie bereits bei 128 GB, zu wiederholen[1] bei dem Daten in den ersten 2 TB überschrieben werden wenn auf einem Bereich über 2 TB geschrieben wird. Dies ist nur für die GPT unterstützenden Windows Versionen relevant, da frühere Versionen in 32 Bit, außer den letzten Serverversionen der 32-Bit-Versionen auf Windows XP basierend, keine GPT[2] Datenträger lesen können, und somit auch keine Unterstützung von Partitionen größer 2 TB bieten.
GUIDs und deren Zuordnung
Betriebssystem Partitionstyp GUID (Kein Betriebssystem) Unbenutzt 00000000-0000-0000-0000-000000000000 MBR 024DEE41-33E7-11D3-9D69-0008C781F39F EFI System-Partition C12A7328-F81F-11D2-BA4B-00A0C93EC93B Windows von Microsoft reservierte Partition E3C9E316-0B5C-4DB8-817D-F92DF00215AE Basic Data Partition EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 Logical Disk Manager Partition für Meta-Daten 5808C8AA-7E8F-42E0-85D2-E1E90434CFB3 Logical Disk Manager Partition für Daten AF9B60A0-1431-4F62-BC68-3311714A69AD HP-UX Partition für HP-UX-LVM 75894C1E-3AEB-11D3-B7C1-7B03A0000000 Service Partition E2A1E728-32E3-11D6-A682-7B03A0000000 Linux Data partition EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 RAID partition A19D880F-05FC-4D3B-A006-743F0F84911E Swap partition 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F Partition für Linux-LVM E6D6D379-F507-44C2-A23C-238F2A3DF928 Reserved 8DA63339-0007-60C0-C436-083AC8230908 FreeBSD Data partition 516E7CB4-6ECF-11D6-8FF8-00022D09712B Swap partition 516E7CB5-6ECF-11D6-8FF8-00022D09712B Unix File System (UFS) partition 516E7CB6-6ECF-11D6-8FF8-00022D09712B Partition für FreeBSD-LVM (Vinum) 516E7CB8-6ECF-11D6-8FF8-00022D09712B ZFS partition 516E7CBA-6ECF-11D6-8FF8-00022D09712B Mac OS X Partition für Hierarchical File System (HFS+) 48465300-0000-11AA-AA11-00306543ECAC Partition für UFS 55465300-0000-11AA-AA11-00306543ECAC Partition für Software-RAID 52414944-0000-11AA-AA11-00306543ECAC Partition für Apple TV Recovery 5265636F-7665-11AA-AA11-00306543ECAC Solaris Boot partition 6A82CB45-1DD2-11B2-99A6-080020736631 Root partition 6A85CF4D-1DD2-11B2-99A6-080020736631 Swap partition 6A87C46F-1DD2-11B2-99A6-080020736631 Backup partition 6A8B642B-1DD2-11B2-99A6-080020736631 /usr partition 6A898CC3-1DD2-11B2-99A6-080020736631 /var partition 6A8EF2E9-1DD2-11B2-99A6-080020736631 /home partition 6A90BA39-1DD2-11B2-99A6-080020736631 EFI_ALTSCTR 6A9283A5-1DD2-11B2-99A6-080020736631 Reservierte Partition 6A945A3B-1DD2-11B2-99A6-080020736631 6A9630D1-1DD2-11B2-99A6-080020736631 6A980767-1DD2-11B2-99A6-080020736631 6A96237F-1DD2-11B2-99A6-080020736631 6A8D2AC7-1DD2-11B2-99A6-080020736631 Quellen
- ↑ c’t 2/2009 RAID-System: 4 TByte in einem Gehäuse, S. 54 http://www.heise.de/ct/09/02/006/ Unendliche Weiten c’t S. 54
- ↑ Microsoft technet GUID-Partitionstabelle http://technet.microsoft.com/de-de/library/cc773223.aspx
Wikimedia Foundation.