Top Qs
Chronologie
Chat
Contexte

GUID Partition Table

décrit la table de partitionnement d'un disque dur De Wikipédia, l'encyclopédie libre

GUID Partition Table
Remove ads

Dans le domaine du matériel informatique, une table de partitionnement GUID, en anglais GUID Partition Table (GPT), soit Globally Unique Identifier Partition Table, est un standard pour décrire la table de partitionnement d'une mémoire de masse (ex. disque dur). Bien qu'il fasse partie du standard EFI Extensible Firmware Interface (qu'Intel propose en remplacement du PC BIOS), il est aussi utilisé sur certains BIOS à cause des limitations de la table de partitionnement du MBR qui limite la taille des partitions à 2,2 To (41 octets)[1]. GPT gère les disques durs et partitions jusqu'à 9,4 Zo (9,4 × 1021 octets ou 9,4 trilliards d'octets soit 9,4 × 109 To ou 73 octets)[1],[2].

La prise en charge de GPT parmi les principaux systèmes reste limitée (voir OS et GPT).[Passage à actualiser]

Thumb
Schémas illustrant la structure de la table de partition GUID. Sur cet exemple, chaque bloc logique (LBA) fait 512 octets, et chaque champ partition fait 128 octets. Les adresses LBA négatives indiquent la position à partir de la fin du volume, −1 étant le dernier bloc adressable.
Remove ads

Historique

La table de partitionnement du MBR date du début des années 1980. Dès la fin des années 1990, les limitations qu'elle impose sont apparues trop contraignantes pour les matériels les plus modernes. Intel a alors développé un nouveau format de table de partitionnement, format qui fait partie de ce qui devint UEFI. La GPT est un sous-ensemble des spécifications de UEFI[3].

Caractéristiques

Résumé
Contexte

La table de partitionnement basée sur le MBR est située à l'intérieur de ce MBR, qui, dans le cas d'un système utilisant BIOS, contient aussi le programme de démarrage du système. En mode GPT, les informations concernant la table de partitionnement sont stockées dans un entête GPT, mais pour garantir une compatibilité (avec les logiciels gérant MBR mais non GPT), GPT maintient une entrée MBR (dite protectrice car empêchant les systèmes ne prenant pas en charge d'écrire sur la totalité du disque) suivie de l'entête d'une partition primaire, le véritable début de la table de partitionnement.

Comme les MBR modernes, GPT utilise l'adressage logique des blocs (LBA) et non l'adressage historique CHS (cylinder-head-sector). Les informations du MBR sont à l'adresse 0 (LBA 0), l'entête GPT se trouve à l'adresse 1 (LBA 1), et la table de partitionnement en elle-même suit à partir de l'adresse 2 (LBA 2). Sur les versions 64-bit de Windows, le système d'exploitation réserve 16 384 octets (ou 32 secteurs) pour la GPT, le premier secteur utilisable du disque se trouve donc à l'adresse 34 (LBA 34).

Avertissement d'Apple [4]: « Il ne faut pas présupposer que la taille d'un bloc sera toujours de 512 octets. » Les périphériques de stockage moderne comme les SSD peuvent contenir des LBA de 1 024 octets et certains disques magnéto-optiques (MO) utilisent des secteurs de 2 048 octets (néanmoins les disques MO sont typiquement non-partitionnés). Les fabricants de disques durs envisagent de passer à des secteurs de 4 096 octets. Début 2010 le premier à vendre de tels disques utilise un middleware qui peut donner l'illusion au système d'exploitation d'un disque de secteurs de 512 octets[5].

Typiquement, les disques démarrant les Macintosh sous processeur Intel sont formatés avec une table de partitionnement GUID plutôt qu'avec l'Apple Partition Map (APM).

GPT offre aussi de la redondance en écrivant l'entête et la table de partitionnement au début et à la fin du disque.

Remove ads

L'héritage du MBR (LBA 0)

Résumé
Contexte

Sur un disque MBR, le MBR se trouve à l'adresse 0 (LBA). Dans les spécifications de GPT, à cette même adresse se trouve une structure qui protège les disques GPT des écritures provenant d'utilitaires disques qui ne (re)connaissent pas les informations de GPT. Cette structure est appelée MBR protecteur (protective MBR). Ce MBR protecteur décrit une seule partition de type 0xEE qui recouvre tout le disque GPT. Si la taille du disque excède 2 To, correspondant à la taille maximum représentable avec une adresse (LBA) 32 bits et des blocs de 512 octets, le MBR protecteur décrit alors une partition de 2 To, ignorant le reste du disque. Les systèmes ou logiciels qui ne connaissent pas GPT voient le disque complètement plein ayant une seule partition d'un type inconnu et refusent de modifier le disque à moins d'effacer cette partition. Cela permet de minimiser les risques d’effacement accidentel. De plus sur les systèmes compatibles avec GPT, la moindre anomalie concernant le MBR protecteur (type non 0xEE ou encore la présence de plusieurs partitions) devrait empêcher la manipulation des informations concernant GPT.

Le MBR protecteur contient aussi le programme de démarrage (bootloader) utilisé par les systèmes BIOS (non-EFI) capables de démarrer sur de tels disques.

Emplacement de GPT

Pour éviter une confusion dans le vocabulaire, précisons ici que :

  • GPT : signifiant Table de Partitionnement GUID, désigne l'ensemble formé de l’entête et du tableau des partitions ;
  • entête : désigne l'entête de GPT ;
  • tableau des partitions (ou tableau de descripteurs de partition) : désigne la liste des descripteurs de chaque partition ((en) Partition Entry Array).

Comme l'indique le schéma, il y a deux GPT sur le disque dur, l'un primaire, l'autre secondaire (sauvegarde du premier). Le primaire se situe au début du disque alors que le secondaire se situe à la fin du disque, leurs structures entête/descripteurs étant inversées.

Structure globale du disque :

  • MBR protecteur (début du disque dur)
  • GPT primaire : entête
  • GPT primaire : tableau de partitions
  • Partitions : début de la partition 1
  • ...
  • Partitions : fin de la partition n
  • GPT secondaire : tableau de partitions
  • GPT secondaire : entête (fin du disque dur)
Remove ads

L'entête de GPT (LBA 1 et -1)

Résumé
Contexte

L'entête de GPT définit les blocs utilisables sur le disque ainsi que les nombres et la taille des descripteurs de la table de partitionnement. Sur les ordinateurs sous Windows Serveur 64-bit, 128 partitions peuvent être créées. Il y a 128 descripteurs réservés de 128 octets chacun. La spécification de EFI impose que la table de partitionnement fasse au moins 16 384 octets ce qui laisse la place pour 128 descripteurs.

L'entête de GPT contient le GUID du disque (Globally Unique Identifier, identifiant globalement unique). Il enregistre sa taille et son emplacement (toujours LBA 1 pour l'entête primaire) ainsi que la taille et l'emplacement de l'entête de GPT secondaire (le dernier secteur du disque pour l'entête primaire ; ces deux valeurs sont inversées pour l'entête secondaire). Il contient aussi deux checksums CRC32, l'un pour l'entête lui-même, l'autre pour le tableau de partitions. Ils peuvent être vérifiés au démarrage par le firmware, par le programme de démarrage (bootloader) et/ou par le système d'exploitation. Lorsqu'un des checksums CRC32 de l'entête primaire est incorrect, le contenu du GPT secondaire est recopié sur le GPT primaire, normalement sous contrôle de l'utilisateur ou de l'exploitant de la machine, avec enregistrement dans un journal d'évènements. Dans le cas où les deux GPT seraient invalides le disque devient inutilisable. À cause des CRC, les éditeurs hexadécimaux ne doivent pas être utilisés pour modifier le contenu du GPT, une telle modification rendant le CRC32 invalide.

Davantage d’informations Offset, Longueur ...
Remove ads

Descripteurs de partitions ou éléments du Tableau des partitions (LBA 2 à 33 et -33 à -2)

Résumé
Contexte

GPT reste simple et direct pour décrire les partitions. Les 16 premiers octets désignent le type GUID de la partition. Par exemple, le GUID pour une partition EFI est {C12A7328-F81F-11D2-BA4B-00A0C93EC93B}. Les 16 octets suivants contiennent un GUID unique de la partition. Viennent ensuite 2×8 octets pour les adresses de début et de fin de la partition. Enfin de la place est allouée pour stocker les noms et attributs des partitions. Comme c'est le but et la nature même des GUID et selon la RFC 4122 qui les décrit, il n'est nul besoin de registre central pour s'assurer de l'unicité des GUID des partitions.

Davantage d’informations Offset, Longueur ...

Avertissement d'Apple : « Il ne faut pas coder en dur une taille de descripteur de 128 octets »[6] la taille d'un descripteur est en effet fournie dans l'en-tête GPT à l'offset 84. Microsoft TechNet considère que les attributs sont divisés en deux moitiés : les 4 premiers octets représentent des attributs indépendants des partitions, et les 4 octets suivants des attributs dépendants des partitions. Microsoft utilise les bits suivants en général.

Davantage d’informations Bit, Contenu ...
Remove ads

Compatibilité des OS et GPT

Résumé
Contexte

Les MBR hybrides ne sont pas standard et peuvent être interprétés de différentes façons par différents OS[8]. Sauf indication contraire, les OS considèrent en priorité les informations de GPT lorsqu'ils se trouvent en présence d'un MBR hybride.

Le terme Aucune prise en charge sur cette architecture et version. doit être compris comme :

Non pris en charge en tant que disque de données[9], seules les partitions trouvées dans le MBR protecteur sont accessibles par l'OS.
Gère le partitionnement MBR dans le cas des disques amovibles.
Pas d'accès aux données pour les applications des utilisateurs. Les données brutes contenues dans les partitions GPT sont accessibles via des outils d'administration disque de bas niveau fournis par des tiers. L'accès en lecture ou en écriture au système de fichiers peut être réalisé grâce à des logiciels tiers.

Les systèmes d'exploitation basés sur Unix

Davantage d’informations OS, Version/ Édition ...

Windows 32-bit

Il existe un problème, documenté[réf. souhaitée], concernant les versions précédentes[Lesquelles ?] de Windows 32-bit, qui touche les disques durs de plus de deux téraoctets originellement partitionnés via GPT sous un Windows Server 64-bit[Lequel ?] sur lequel les données écrites au-delà de ses limites se retrouvaient écrites au début du disque dur détruisant ainsi les données utilisateurs, la structure du file system et même les informations du format du disque dur (NdT : the harddisk formatting information). Ceci était dû aux pilotes 32-bit des fabricants, et cela même malgré la bonne réputation de certains[Lesquels ?]. Avec l'arrivée de Windows Vista et des mises à jour des pilotes compatibles avec les anciennes versions de l'OS, ce problème des deux téraoctets a plus ou moins disparu depuis 2006. Ce problème n'est pas vraiment du fait de GPT mais a suivi GPT puisque GPT est la seule manière de gérer plus de deux téraoctets d'espace sur un disque.


Détails du support GPT sur les éditions 32-bit de Microsoft Windows[20],[21]

Davantage d’informations OS, Version/ Édition ...

Windows 64-bit

La table ci-dessous énumère seulement[précision nécessaire] les versions Windows 64-bit qui prennent en charge GPT. Celles-ci sont les versions 64-bit pour les machines basées sur les processeurs IA-64, ayant donc un firmware EFI et permettant d'amorcer sur un disque avec GPT, ce dernier étant le choix de partitionnement par défaut. Les machines x64, avec processeurs x86-64 également dénommés AMD64, EM64T ou Intel64, dont la prise en charge de GPT était initialement limitée, sont capables d'amorcer à partir d'un firmware UEFI depuis un disque GPT avec l'arrivée de Windows Server 2008 et le service pack 1 de Windows Vista.

Les prétendues versions « Windows XP » listées ci-dessous sont en fait, techniquement, plus proches de la version de Windows Server mentionnée conjointement.


Détails du support GPT sur les éditions 64-bit de Microsoft Windows[20],[21]

Davantage d’informations OS, Version/ Édition ...
Remove ads

GUID des types de partition

Davantage d’informations Assoc. OS, Type de partition ...
  1. a  Linux utilisait le même GUID de type de partition pour la partition de données de base que Windows avant l'introduction d'un GUID de partition de données spécifique à Linux.
  2. a b  Le GUID pour /usr sur Solaris est utilisé en tant que GUID générique sur ZFS par Mac OS X.
  3. ^  Les définitions sont sur src/sys/sys/disklabel_gpt.h.NetBSD a utilisé les GUID de FreeBSD avant de créer ses propres uniques GUID.
Remove ads

Voir aussi

Articles connexes

Liens externes

Références

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads