1.ディスクパーティションとは
Linuxでは、ディスクを用途ごとに区切って個別の領域として管理している。この区切られた領域のことを「ディスクパーティション」という。用途を分けずにディスクをそのまま使用しているとシステム障害時に障害の影響が全体に及んでしまう。
ディスクパーティションの領域定義などの情報を保管・管理している場所を「パーティションテーブル」といい、これをコマンドで変更することでディスクパーティションの操作ができる。
パーティションテーブルには「MBR」と「GPT」という方式があり、それぞれで操作方法が異なる。
2.MBR
(1)概要
古典的なストレージデバイスのパーティションテーブル方式であり、ディスクの先頭512バイトの領域を使用する。起動プログラム(ブートローダ)やパーティションテーブルが保存されている。
主にBIOSを使っているPCで使われている。
(2)領域の構造
| 領域 | サイズ | 内容 |
|---|---|---|
| ブートローダ | 446バイト | OSを起動するコード |
| パーティションテーブル | 64バイト | 各16バイト×最大4個のエントリ |
| ブートシグネチャ | 2バイト | 0x55AA(MBRの終端識別) |
(3)特徴
| 項目 | 内容 |
|---|---|
| 最大パーティション数 | プライマリパーティション4つまで(拡張で増やせる※拡張パーティション内に作成されたパーティションを論理パーティションという。) |
| 最大ディスク容量 | 2TBまで(32bit LBA制限) |
| 起動方式 | BIOS(レガシー) |
| 使用可能OS | ほとんどのOSが対応(古いPC含む) |
3.GPT
(1)概要
UEFIのPCで使用されるパーティションテーブルの形式。MBRよりも新しい。
(2)領域の構造
| 領域 | 内容・役割 | LBA位置(通常) | サイズ(通常) |
|---|---|---|---|
| Protective MBR | MBR方式のツールからの保護用 | LBA 0 | 512バイト |
| GPTヘッダ(Primary) | GPTのメタ情報(開始位置など) | LBA 1 | 512バイト |
| パーティションエントリ群 | 各パーティションの定義 | LBA 2~(最大128個ならLBA 33まで) | 通常:128個 × 128バイト = 16KB |
| データ領域 | パーティションが実データを持つ領域 | LBA 34~末尾-33 | 容量依存 |
| パーティションエントリ群(Backup) | Primaryと同じ内容を保持(冗長化) | 最後のLBA – 32 | 16KB |
| GPTヘッダ(Backup) | GPTのメタ情報のバックアップ | 最後のLBA | 512バイト |
※LBA…ロジカルブロックアドレスッシングの略。ディスク上のデータの位置を指定するための論理的な番号でセクタを指定するもの。
(3)特徴
| 項目 | 特徴内容 |
|---|---|
| 容量対応 | 最大 9.4ZB(ゼタバイト)超のディスク容量に対応(理論上) |
| パーティション数 | 最大128個以上のパーティションをサポート(MBRは最大4個) |
| UEFI必須 | GPTはUEFIブートに必須。MBRはBIOSと併用 |
| 識別子にGUID使用 | 各パーティションに一意のGUID(グローバル識別子)を割り当てる |
| 冗長性あり | パーティションテーブルとGPTヘッダをディスクの先頭と末尾に2重で保存(バックアップ) |
| チェックサム | CRC32による整合性チェックで破損検出が可能 |
| Protective MBR | GPTディスクでもMBRを1セクタだけ保持し、旧ツールとの互換性を維持(タイプコード0xEE) |
4.MBRとGPTの比較
| 比較項目 | GPT | MBR |
|---|---|---|
| 最大パーティション数 | 128(Linuxでは無制限に近い) | 4(基本)+拡張で論理増可 |
| 最大ディスク容量 | 約9.4ZB(理論上) | 2TBまで |
| ブート方式 | UEFI | BIOS |
| 冗長性 | あり(バックアップあり) | なし |
