GUID Partition Table

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

Il GUID Partition Table (GPT), in informatica, è uno standard per la definizione della tabella delle partizioni (in inglese partition table) su una unità di memoria (unità di memoria a stato solido o disco fisso). È parte dello standard Extensible Firmware Interface (EFI). L'EFI utilizza il GPT laddove il BIOS utilizza il Master Boot Record (MBR).

Diagramma dello schema GUID Partition Table. Ogni blocco logico (logical block in inglese) (LBA) ha una dimensione di 512 byte. Indirizzi negativi di LBA indicano le posizioni dalla fine del disco, essendo −1 l'ultimo blocco indirizzabile.

Caratteristiche[modifica | modifica wikitesto]

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à l'unità 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 dell'unità.

Il GPT è ridondante, poiché scrive l'intestazione e la tabella delle partizioni sia all'inizio che alla fine dell'unità.

Compatibilità MBR (LBA 0)[modifica | modifica wikitesto]

Lo scopo principale del MBR all'inizio dell'unità (LBA 0) è quello di evitare alle applicazioni per unità MBR di non riconoscere ed eventualmente sovrascrivere unità GPT. A tale scopo, viene indicata una singola partizione, che comprende l'intera unità 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 unità GPT riconoscono questo ID e mostrano all'utente l'unità GPT come inaccessibile. I sistemi operativi più obsoleti in generale riconosceranno sull'unità una singola partizione di tipo sconosciuto, senza spazio libero; in questo modo vengono generalmente rifiutate le modifiche dell'unità, a meno che l'utente non richieda esplicitamente e confermi la cancellazione della partizione. In questo modo, vengono prevenute cancellazioni accidentali dell'unità.

Intestazione della tabella delle partizioni (LBA 1)[modifica | modifica wikitesto]

L'intestazione della tabella delle partizioni (LBA 1) definisce quali blocchi dell'unità 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) dell'unità. 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 dell'unità). È 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 all'unità.

Descrizione della partizione (LBA 2-33)[modifica | modifica wikitesto]

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[modifica | modifica wikitesto]

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 (Esp) 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[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica