GUIDパーティションテーブル(GPT) は、Unified Extensible Firmware Interface仕様の一部であるパーティション スキームです。ここでは、簡単に紹介していきます。

GPT(GUIDパーティションテーブル)は、グローバル一意識別子のパーティションテーブル(Globally Unique Identifier Partition Table)を指します。これは、Unified Extensible Firmware Interface (UEFI) 規格(Unified EFI Forumが提案するPC BIOSの代替規格)の一部で、論理ブロックのアドレスとサイズを保持するために32ビットを使用するBIOSのMBR(マスターブートレコード)パーティションテーブルを置き換えるために使用されます。

(MBRとGPTの違いについて)

MBRパーティションテーブルが2TB以上のパーティションをサポートできないという制限を破るために、SeagateやWestern Digitalなどのいくつかのハードディスクメーカーは、そのセクター容量を4KBにアップグレードしています。それによって、MBRは16TBをサポートするようになります。しかし、この方法によって”大きなブロックを持つデバイスのパーティションを完全に分割するにはどうすればよいか”という新しい問題を引き起こします。

2010年まで、ほとんどのOSがGPTをサポートしています。ただし、Mac OS XやMicrosoft Windowsなど一部のOSは、EFIファームウェアをベースにしたGPTパーティションからしか起動できない。

GPTについて

MBRハードディスクでは、パーティション情報はマスター ブートレコードに格納されます。GPTでは、パーティションテーブルの位置情報はGPTヘッダーに格納されます。ただし、互換性の確保のため、ディスクの最初のセクターは「保護用MBR」、次のセクターは「GPTヘッダ」となります。

最新のMBRと同様に、GPTも従来のシリンダーヘッドセクターアドレスに代わって、論理ブロックアドレス指定 (LBA) を使用します。従来のMBRはLBA 0に格納され、GPTヘッダーはLBA 1に格納されます。64ビットOSでは、GPTパーティションテーブルとして 16,384 バイト (または 32 セクター) を使用し、LBA 34がディスクで最初に使用可能なセクターとなります。

アップル社はかつて「すべてのデバイスのブロックサイズが512バイトであると想定しないでください」と警告しました。SSDなどの一部の最新のストレージデバイスは1024バイトのブロックを使用する場合があり、一部の光磁気ディスク(MO)は2048バイト/セクターを使用する場合があります。(ただし、光磁気ディスクは通常パーティション化されていません)。

Intelベースの構造を採用するMacintoshもGPTを使用します。

パーティションテーブルの破損に備え、GPTはパーティションテーブルのコピーをハードドライブの最後に保持します。

GPT パーティション

データによって異なるパーティションを作成し、異なるパーティションに対して異なる権限を作成することはGPTパーティションの重要な機能の一つです。ユーザーはGPTディスクを全体的にコピーすることができないため、データの安全性が確保されます。しかし、MBRディスクをGPTディスクに変換する場合、良い解決策を見つけないと、すべてのディスクデータが失われます。そのため、変換する前に、ハードディスクをバックアップし、Windows内蔵のディスク管理ツールでGPTパーティションスキームに変換する必要があります。変換後、OSをインストールすることができます。

従来のMBR (LBA 0)

GPTパーティションテーブルの先頭には、互換性のため従来のMBR (LBA 0)がまだ格納されています。これにより、MBRベースのディスクユーティリティが GPT ディスクを誤って識別したり、上書きしたりすることがなくなります。このセクターは「保護 MBR」と呼ばれます。GPT ベースのブートをサポートするオペレーティングシステムでは、最初のセクターはブートコードの最初の段階を格納するためにも使用されます。「保護MBR」に0xEEとしてマークされたパーティションだけがあり、これはディスクがGUID パーティションテーブルを使用していることを示します。GPTディスクを読めないOSは、このパーティションを「不明」と判断し、パーティションを削除しない限り、OSがディスクの変更を拒否するため、偶発的なを最小限に抑えることができます。さらに、GPTディスクを読み込めるOSは、保護されたMBRのパーティションテーブルをチェックし、パーティションタイプがOxEEでない場合やパーティションテーブルに複数のエントリーがある場合、OSもディスクの操作も拒否します。

MBR/GPTハイブリッドパーティションテーブルを使用するハードディスクでは、「保護 MBR」に GPT パーティションテーブルの一部 (通常は最初の4 つのパーティション) が格納されるため、GPTベース起動をサポートしていないOSは、このMBRから起動できます。ただし、起動後、OSはMBRパーティションしか操作できません。たとえば、Boot Campはこの方法でWindowsを起動します。

「保護 MBR」LBA 0

パーティションテーブルヘッダー

パーティションテーブルヘッダーは、ハードディスクの空き容量と、パーティションテーブルエントリの数とサイズを定義します。64ビットのWindows Server 2003を搭載したコンピュータでは、最大128個のパーティションを作成できるため、パーティションテーブルには128個の項目があり、それぞれが128バイトを占有しています。(EFIでは、最小のパーティション テーブルに 16,384 バイトが必要であるため、128のパーティションエントリが確保され、各パーティションエントリの長さは 128 バイトです)。

プライマリパーティションテーブル ヘッダーは 2 番目のセクター (LBA 1) にあり、バックアップパーティションテーブルヘッダーはハード ディスクの最後のセクターにあります。

  • hatena