MBR(MS-DOS Master Boot Record) は、10M バイト HDD 時代の IBM PC 用に 1980 年代初期に誕生しました
MBR は、記憶装置の先頭 512 バイトに位置し、ブートローダーとパーティション テーブルを持っています
ブートローダーは 446 バイトを占め、パーティション テーブルは 64 バイトを使用します
最後の 2 バイトは、ブート シグネチャを格納しています
MBR は最大 4 つの基本パーティションを保持し、各基本パーティションは 1 つの拡張パーティションを保持できます
各拡張パーティションは、複数の論理パーティションに分割されています
Linux は、理屈としては無限個の論理パーティションを管理できます
古い Linux では、カーネルが扱えるデバイス数に制限があったため、63 個の IDE パーティションと 15 個の SCSI パーティションに制限されていました
現在は、Udev がデバイス番号を動的に管理しているため、そのような制限はありません
MBR は、小さく柔軟性に欠けるため、その制限を避けるさまざまなワークアラウンドが考えられました
Logical Block Addressing (LBA) もそのひとつで、もともとのシリンダー、ヘッド、セクター (CHS) を使用したアドレッシングの制限を越えるために考え出されました
昔のハードディスクはブロック サイズが 512 バイトであるため、パーティション サイズが 2T バイトに制限されていました
子パーティション サイズの制限を 16T バイトに拡張するため、セクター サイズを 4096 バイトに拡張する所謂ハックがサポートされたのです
GPT(GUID Partition Table) は Unified Extensible Firmware Interface (UEFI) 仕様の一部ですが、Linux を使う場合には、GPT パーティションからブートするために EFI BIOS は不要で、旧来の BIOS とともに使用できます
Mac OS X と Windows はさまざまな制限がある必要であれば、Microsoft FAQ か、アップルの Secrets of the GPT を参照すると良いでしょう
GPT には、基本パーティションと論理パーティションの区別はなく、1 種類のパーティションがあるだけです
Gparted の出力を見て下さい
Gparted でハードディスクをフォーマットするときに、図 2 のように gpt オプションを指定すると、GPT 形式が使用されます
GPT は MBR と比較して、以下の点で進歩しています
64 ビット ディスク ポインター採用により、最大 264セクターを管理でき、512 バイト セクターのハードディスクの場合は 8Zi バイト、4096 バイト セクターの場合は 8 倍となります
標準で最大 128 個のパーティションをサポートし、オペレーティング システムがそれ以上のパーティションをサポートしていても問題ありません
CHS や、基本、拡張、論理パーティションのようなワークアラウンドは不要です
Windows の場合、柔軟性に欠け、基本パーティションを必要としたため、よく問題となりました
GPT は、パーティション テーブルのコピーをディスクの先頭と最終セクタに格納しておくため、破壊等に強くなっています
GPT は、自分自身とパーティション テーブルの cyclic redundancy check (CRC) チェックサムを計算します
ディスクとパーティションにユニークな ID を付加します
GPT形式でHDDをフォマット
EFIシステムパーティション(ESP)
100MBをFAT32形式でフォーマット