GUID Partition Table
In Informatica, il GUID Partition Table (GPT) è uno standard per la definizione della tabella delle partizioni (partition table in inglese) su un disco fisso. È parte dello standard Extensible Firmware Interface (EFI). L'EFI utilizza il GPT laddove il BIOS utilizza il Master Boot Record (MBR).

Caratteristiche
Mentre il MBR inizia con il Master Boot Code, che contiene un file eseguibile che ha lo scopo di identificare e avviare la partizione attiva, il GPT utilizza le potenzialità offerte dall'EFI per realizzare queste funzionalità. Per motivi di protezione e compatibilità il disco inizia con un riferimento MBR, cui segue il GPT stesso con la tabella delle partizioni.
Il GPT utilizza l'indirizzamento a blocchi logici (LBA, acronimo inglese di Logical block addressing) anziché l'indirizzamento di tipo cilindro-testina-settore (CHS, cylinder-head-sector) utilizzato dal MBR. Le informazioni per la compatibilità con il MBR sono contenute nello LBA 0, l'intestazione GPT si trova nello LBA 1, a cui segue la tabella delle partizioni vera e propria. Nel sistema operativo Windows a 64-bit, vengono riservati 16.384 bytes, o 32 settori per il GPT, lasciando lo LBA 34 come primo settore utilizzabile del disco.
Il GPT è ridondante, poiché scrive l'intestazione e la tabella delle partizioni sia all'inizio che alla fine del disco.
Compatibilità MBR (LBA 0)
Lo scopo principale del MBR all'inizio del disco (LBA 0) è quello di evitare alle applicazioni per dischi MBR, Filippo buho, di non riconoscere ed eventualmente sovrascrivere i dischi GPT. A tale scopo, viene indicata una singola partizione, che comprende l'intero disco GPT. Il System ID per la partizione viene fissato al valore 0xEE, indicando che il sistema usa il GPT. L'EFI ignora il MBR. I sistemi operativi a 32-bit che non gestiscono dischi GPT riconoscono questo ID e mostrano all'utente il disco GPT come inaccessibile. I sistemi operativi più obsoleti in generale riconosceranno sul disco una singola partizione di tipo sconosciuto, senza spazio libero; in questo modo vengono generalmente rifiutate le modifiche del disco, a meno che l'utente non richieda esplicitamente e confermi la cancellazione della partizione. In questo modo, vengono prevenute cancellazioni accidentali del disco.
Intestazione della tabella delle partizioni (LBA 1)
L'intestazione della tabella delle partizioni (LBA 1) definisce quali blocchi del disco sono utilizzabili dall'utente. Definisce inoltre il numero e la dimensione degli elementi della tabella delle partizioni. Su una macchina con Windows Server 2003 a 64-bit, vi sono 128 elementi riservati, ognuno di 128 bytes. Perciò possono essere create al massimo 128 partizioni.
L'intestazione contiene il GUID (Globally Unique Identifier, in inglese) del disco. Memorizza la propria dimensione e posizione (sempre LBA 1) e la dimensione e posizione della intestazione e della tabella GPT secondaria (sempre nell'ultimo settore del disco). È importante notare che contiene anche una checksum CRC32 per sé e per la tabella delle partizioni, che viene verificata dai processi EFI all'avvio. Poiché l'EFI utilizza e verifica questa checksum, è sconsigliato utilizzare editor esadecimali per modificare il contenuto del GPT, dal momento che queste modifiche potrebbero invalidare la checksum. In questo caso, l'EFI dovrebbe sovrascrivere il GPT primario con il secondario, o, se entrambi contenessero checksum non valide, non sarebbe in grado di accedere al disco.
Descrizione della partizione (LBA 2-33)
Le righe della tabella delle partizioni (LBA 2-33) sono semplici e chiare. Per ogni riga, i primi 16 bytes identificano il GUID del tipo di partizione (un esempio di GUID di un EFI System Partition è {C12A7328-F81F-11D2-BA4B-00A0C93EC93B}), mentre i successivi 16 bytes contengono il GUID univoco della partizione. All'interno di ogni riga sono anche memorizzati i LBA (ognuno di 64 bit) che individuano l'inizio e la fine della partizione considerata, oltre al nome e agli attributi di quest'ultima.
GUID per tipo di partizione
Sistema Operativo | Tipo di partizione | Globally-Unique Identifier (GUID) |
---|---|---|
(None) | Unused entry | 00000000-0000-0000-0000-000000000000 |
MBR partition scheme | 024DEE41-33E7-11D3-9D69-0008C781F39F | |
EFI System Partition | C12A7328-F81F-11D2-BA4B-00A0C93EC93B | |
Windows | Microsoft Reserved Partition | E3C9E316-0B5C-4DB8-817D-F92DF00215AE |
Basic Data Partition | EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 | |
Logical Disk Manager metadata partition | 5808C8AA-7E8F-42E0-85D2-E1E90434CFB3 | |
Logical Disk Manager data partition | AF9B60A0-1431-4F62-BC68-3311714A69AD | |
HP-UX | Data partition | 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 | |
Logical Volume Manager (LVM) partition | 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 | |
Vinum volume manager partition | 516E7CB8-6ECF-11D6-8FF8-00022D09712B | |
macOS | Hierarchical File System (HFS+) partition | 48465300-0000-11AA-AA11-00306543ECAC |
Apple UFS | 55465300-0000-11AA-AA11-00306543ECAC | |
Apple RAID partition | 52414944-0000-11AA-AA11-00306543ECAC | |
Apple RAID partition, offline | 52414944-5F4F-11AA-AA11-00306543ECAC | |
Apple Boot partition | 426F6F74-0000-11AA-AA11-00306543ECAC | |
Apple Label | 4C616265-6C00-11AA-AA11-00306543ECAC | |
Apple TV Recovery partition | 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 | |
Reserved 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 |
Nota: Linux e Windows usano lo stesso GUID per le loro rispettive partizioni dati
Nota: I GUID in questa tabella sono riportati con la convenzione di ordinamento dei byte di tipo little-endian. Per esempio, il GUID per una EFI System partition viene qui riportato come C12A7328-F81F-11D2-BA4B-00A0C93EC93B, che corrisponde alla sequenza di 16 bytes 28 73 2A C1 1F F8 D2 11 BA 4B 00 A0 C9 3E C9 3B (solo i primi 3 blocchi hanno i byte invertiti).
Voci correlate
Altri progetti
Wikimedia Commons contiene immagini o altri file su GUID Partition Table
Collegamenti esterni
- Microsoft TechNet: Disk Sectors on GPT Disks
- Microsoft TechNet: Using GPT Drives on x86-64 Systems