GUIDパーティションテーブル (英: GUID Partition Table, GPT) は、ハードディスクドライブ上のパーティションテーブルの配置に関する標準規格である。

これはインテルの提案しているEFI標準の一部であり、旧来のBIOSで使用されているマスターブートレコード (MBR) の置き換えを意図している。

従来のMBRパーティションが、テーブルのパラメータから、1セクタ512Byteで定義した場合、最大2TiB迄の領域までしか管理できないのに対し、GPTでは、最大8ZiB迄の領域を定義、管理できる。

2013年頃には、PC用として一般に市販のHDDの大容量化で、2T越えが始まっておりGPT導入は必至の課題であったが、マザーボード上のROM内などのシステムソフトウェアのEFI対応もだいたい進んできていたことで、無事に導入が進んだという状況であった。

## 機能

GPTはLogical Block Addressing (LBA) を使ってディスク内の位置を示す。MBRではCHSによって位置を指定していた。古いMBR情報は LBA 0 に含まれていて、GPTヘッダーは LBA 1 に置かれ、その後にパーティションテーブルが続く。Windowsオペレーティングシステム (OS) では、16,384バイト(32セクター、16KiB)がGPT用に予約されていて、LBA 34 から通常の使い方ができるようになっている。

GPTは冗長性も提供している。GPTヘッダーとパーティションテーブルはディスクの先頭と最後部の両方に書き込まれている。

### 従来のMBR (LBA 0)

GPTを使用するディスクにもMBRが存在するのは、MBRを前提としたディスクユーティリティを利用した場合の事故の防止のため(誤って何も中身がないと判断されないため)である。MBRにはそのディスク全体がひとつのパーティションになっているという情報が記述されることになっている。

GPT自体がBIOSによるMBRパーティションの代替であるため、そのパーティション識別子はシステムIDとして 0xEE が設定され、GPTを使用していることを示すことになっているが、双方のパーティションテーブルに有効な値を定義し、それをハイブリッドMBRと呼称する向きもある。但し、これはGPTの「MBRパーティションに対する置き換え」という目的から標準化、明示的な定義がされていない実装であり、OSによって扱いが異なる。ハイブリッドMBRの構成では多くの場合GUIDパーティションの方が優先されるが、Windowsをベースとするシステムでは、GPTをサポートするものであっても有効なMBRが存在する場合は、そちらを優先して解釈する。また、本来EFIとセットの実装であるが、MBRからGPTを理解するローダへ処理を移すという手段により、比較的最近のLinuxではEFIが実装されていないシステムであっても、GPTからの起動や利用を可能としている。

### パーティションテーブル・ヘッダー (LBA 1)

パーティションテーブル・ヘッダーでは、ユーザが使用可能なディスクの範囲を定義している。また、パーティションテーブル内のパーティションエントリ数とサイズを定義している。Windowsマシンでは、128エントリであり、それぞれ128バイトである。したがって、最大128個のパーティションを作成できる。

ヘッダーはディスクのGUID (英: Globally Unique Identifier) を含んでいる。また、ヘッダー自身のサイズと位置(常に LBA 1)と、第二GPTヘッダーのサイズと位置(常にディスクの最後のセクター)を記録している。また重要な点として、自身のCRC32チェックサムを持っているので、専用のユーティリティ以外でGPTを変更するとチェックサムと不整合を起こす。チェックサムが不整合を起こすと、EFIは第二GPTを第一GPTにコピーする。第二GPTのチェックサムも不正だった場合はディスクにアクセスできなくなる。

### パーティションエントリ (LBA 2〜33)

パーティションエントリは単純である。最初の16バイトにパーティションの種類を表すGUIDが書き込まれている。たとえば、EFIシステムパーティションのGUIDは`{C12A7328-F81F-11D2-BA4B-00A0C93EC93B}`である。ただし先頭3項目(8バイト)は項目内でリトルエンディアンなので、実際には先頭から、`28 73 2A C1 1F F8 D2 11 BA 4B 00 A0 C9 3E C9 3B`のように書き込まれている。次の16バイトにはそのパーティション固有のGUIDが書き込まれている。続く8バイトにパーティションの最初のLBA、その次の8バイトにパーティションの最後のLBAがリトルエンディアンで書き込まれている。さらにその後に、パーティション名と属性を書き込めるようになっている。

## OSのサポート

### UNIX / Unix系

| OS | バージョン | アーキテクチャ | BIOS経由でGPTからの起動 | EFI経由でGPTからの起動 | 備考 |
| --- | --- | --- | --- | --- | --- |
| FreeBSD | 7.0以降 | - x86 - x86-64 | Yes | Yes | ハイブリッドMBRの構成ではGUID、MBRパーティションの両方が使われる。 |
| Linux | - ほとんどのx86 Linuxディストリビューション - Fedora 8以降 - Ubuntu 8.04以降 | - x86-64 - IA-64 - x86 | Yes | Yes | GPTを扱えないツールもある。gdisk、GNU GRUB、grub2などがGPTに対応。 |
| macOS | 10.4.0以降(一部機能は10.4.6以降) | - x86 - x86-64 | No | Yes |  |
| Solaris | Solaris 10 1/06以降 | - x86 - x86-64 | Yes | Yes | Sparc版は非対応。x86/x64版は1/06 (update 2) よりGRUBが標準ブートローダーとなる。よってGPT対応もそれ以降。 |

### Windows

#### 32ビット版

古いバージョンの32ビット版(x86版)Windowsでは、2TiB以上の容量のディスク、およびGUIDパーティション自体を扱えないという問題がある。これは各ベンダーの32ビット版デバイスドライバに起因する。

Vista以降では、32ビット版でもこれらの問題は修正されている。2TiB以上のパーティションを扱えないのはMBRパーティションの制限である。

下記の表にない、以前のOS(x86版)ではGPTはサポートされない。x86より以前のアーキテクチャでも同様。

| OS | バージョン | アーキテクチャ | BIOS経由でGPTからの起動 | EFI経由でGPTからの起動 | GPTへのアクセス | 備考 |
| --- | --- | --- | --- | --- | --- | --- |
| Windows XP | RTM | x86 | No | No | No |  |
| Windows Server 2003 | RTM | x86 | No | No | No |  |
| Service Pack 1以降 | x86 | No | No | データ用可、起動不可 | ハイブリッドMBRの構成でMBRパーティションの方が優先される。 |
| Windows Vista | RTM以降 | x86 | No | No | データ用可、起動不可 |
| Windows Server 2008 | RTM以降 | x86 | No | No | データ用可、起動不可 |
| Windows 7 | RTM以降 | x86 | No | No | データ用可、起動不可 | ハイブリッドMBRの構成でMBRパーティションの方が優先される。 |
| Windows 8 | RTM | x86 | No | Yes | Yes |
| Windows 8.1 | RTM | x86 | No | Yes | Yes |
| Windows 10 | TH1 RTM以降 | x86 | No | Yes | Yes |

#### 64ビット版

IA-64版とx86-64版を列挙している。下記の表にないOS(64ビット版)ではGPTはサポートされない。

IA-64アーキテクチャのOSでは当初から、EFIとGPTからの起動をサポートしている。

| OS | バージョン | アーキテクチャ | BIOS経由でGPTからの起動 | EFI経由でGPTからの起動 | GPTへのアクセス | 備考 |
| --- | --- | --- | --- | --- | --- | --- |
| Windows XP | 64-bit Edition, RTM | IA-64 | No | Yes | Yes | ハイブリッドMBRの構成でMBRパーティションの方が優先される。リムーバブルディスクはMBRだけサポート。 |
| 64-bit Edition, Version 2003 | IA-64 | No | Yes | Yes |
| Windows Server 2003 | RTM | IA-64 | No | Yes | Yes | ハイブリッドMBRの構成でMBRパーティションの方が優先される。起動ディスクはGPTが必須。 |
| x64, Service Pack 1 | x64 | No | No | データ用可、起動不可 | ハイブリッドMBRの構成でMBRパーティションの方が優先される。 |
| Windows XP | x64 Edition | x64 | No | No | データ用可、起動不可 | ハイブリッドMBRの構成でMBRパーティションの方が優先される。リムーバブルディスクはMBRだけサポート。 |
| Windows Vista | RTM | x64 | No | No | データ用可、起動不可 | ハイブリッドMBRの構成でMBRパーティションの方が優先される。 |
| Service Pack 1 | x64 | No | VGAだけ要CSM | Yes |
| Windows Server 2008 | RTM | - x64 - IA-64 | No | VGAだけ要CSM | Yes |
| Windows 7 | RTM | x64 | No | VGAだけ要CSM | Yes | ハイブリッドMBRの構成でMBRパーティションの方が優先される。 |
| Windows Server 2008 R2 | RTM | - x64 - IA-64 | No | VGAだけ要CSM | Yes | ハイブリッドMBRの構成でMBRパーティションの方が優先される。 |
| Windows 8 | RTM | x64 | No | Yes | Yes | ハイブリッドMBRの構成でMBRパーティションの方が優先される。 |
| Windows 8.1 | RTM | x64 | No | Yes | Yes |
| Windows Server 2012 | RTM | x64 | No | Yes | Yes |
| R2, RTM | x64 | No | Yes | Yes |
| Windows 10 | TH1 RTM以降 | x64 | No | Yes | Yes |
| Windows 11 | 21H2 RTM以降 | x64 | No | Yes | Yes |