GPTとMBRの違いを徹底解説!仕様・構造からBIOS/UEFIとの関係まで

もっち

大手SIerに18年勤務。オンプレ・クラウド計200台規模の大規模インフラ(10システム)を統括する現役のサービスマネージャーです。

システム運用・インフラ技術、マインドセット、キャリア戦略など、現場で役立つ情報を若手エンジニアへ向けて発信中。

ストレージ(SSDやHDD)をOSで利用できるようにする際、最初に行うのが「パーティション分割」です。パーティションの管理規格には「MBR」「GPT」があり、それらを制御するPC의 ファームウェア規格である「BIOS」「UEFI」と深く結びついています。Windows 11の導入要件やLinuxのマルチブート環境の構築など、実務や自作PCの現場でこれらの組み合わせに頭を悩ませた経験のある方も多いのではないでしょうか。

本記事では、表面的なフォーマットの手順に留まらず、それぞれの規格の内部仕様、データ構造、そして近代OSが求めるブートアーキテクチャの必然性について、中級者向けに深く掘り下げて解説します。

目次

ストレージ管理の前提:プライマリ/拡張/論理パーティションとは

ストレージの内部を区切って作られた独立した領域を「パーティション」と呼びます。MBR規格においては、パーティションは以下の3種類に分類され、階層構造を持っています。

  • プライマリパーティション(基本パーティション):OSをインストールして起動させるために必要な、最も標準的なパーティションです。
  • 拡張パーティション:内部に「論理パーティション」を作成するための特殊なパーティション(枠組み)です。この領域自体に直接ファイルを保存することはできません。
  • 論理パーティション:拡張パーティションの中に作成されるパーティションです。データ保存用のドライブ(Dドライブなど)として自由に利用できます。

MBRの仕様と「2TBの壁」:なぜ4つしか領域を作れないのか

MBR(Master Boot Record)は古くから使われている規格ですが、現代の大容量ストレージにおいては物理的な制限があります。

プライマリパーティションは最大4つの制限

MBR領域(512バイト)内のパーティションテーブル(64バイト)は、1エントリあたり16バイトと定義されています。$64 \text{バイト} \div 16 \text{バイト} = 4 \text{エントリ}$ となるため、プライマリパーティションは最大4つまでしか定義できません。

「2TBの壁」の数理的根拠

MBRはセクター位置(LBA)を32ビットの整数で管理しています。標準的な512バイトセクターを掛け合わせると、管理限界容量は以下の計算通り約2TiB(2.2TB)となります。

$$2^{32} \times 512 \text{ bytes} = 2,199,023,255,552 \text{ bytes} \approx 2 \text{ TiB}$$

このため、3TB以上のストレージを接続しても、2TBを超える領域は認識されず無駄になります。

制限を突破する「拡張・論理」の仕組み

4つ以上の領域に分割する場合、1つを「拡張パーティション」とし、内部に複数の「論理パーティション」を作成します。論理パーティションは、各領域の先頭にあるEBR(Extended Boot Record)が次の位置を指し示す「単方向連結リスト」のデータ構造で実装されており、制限を超えた領域追加を可能にしています。

GPTの構造とメリット:最大128個の領域とバックアップによる堅牢性

GPT(GUID Partition Table)は、MBRの制限を根本から解消するために作られた次世代の規格です。

2TBを超える大容量に対応(64ビット・アドレッシング)

GPTではアドレス管理が64ビットに拡張されています。理論上は最大9.4ZB(ゼタバイト)までのストレージに対応しているため、現在の数TB〜数十TBのSSD/HDDでも、容量を余すことなく丸ごと認識可能です。

最大128個のプライマリパーティションが作成可能

GPTは複数のLBAを使って管理情報を配置します。標準仕様で128バイトのエントリが128個分用意されているため、最初から最大128個のプライマリパーティションをフラットに作成できます。「拡張・論理パーティション」といった複雑な階層構造を意識する必要はありません。

データの冗長性(バックアップ)による堅牢性

MBRはディスクの先頭1セクターだけで管理情報を保持しているため、破損すると全データへアクセスできなくなります。一方、GPTはディスクの「先頭(プライマリ)」と「末尾(バックアップ)」の2箇所に全く同じ管理情報を自動で記録しています。万が一の破損時にも末尾のバックアップから復旧できるため、高い安全性を備えています。

BIOSとUEFIの違い:ファームウェアとOS起動プロセスの変化

MBRとGPTの違いを理解する上で欠かせないのが、PCの基盤ファームウェアである「BIOS」と「UEFI」の違いです。これらは対応するパーティション規格やOSの起動プロセスが異なります。

BIOS(レガシー環境 + MBR)

  • 16ビット動作: CPUを制限された状態で動作させるため、処理速度や扱えるメモリ容量に限界があります。
  • 起動プロセス: BIOSはファイルシステムを認識できません。電源ON後、ストレージの先頭(MBR)に書き込まれた特定の機械語コード(ブートコード)を盲目的に読み込んで実行し、OSを起動させます。

UEFI(近代環境 + GPT)

  • 32/64ビット動作: CPUの性能をフルに活かせるため、高速処理やGUI(マウス操作、日本語表示)に対応しています。
  • 起動プロセス: UEFIは自身でファイルシステム(標準ではFAT32)を認識できます。GPTディスク上にある「ESP(EFIシステムパーティション)」という専用領域から、OSのブートローダーファイル(.efi形式)を直接探して実行するという、洗練されたプロセスでOSを起動します。

実務での注意点:Windows 11のGPT必須要件とLinuxマルチブートの罠

Windows 11:起動ディスクには「UEFI + GPT」が必須

Windows 11のインストールおよび起動には、安全性を高めるシステム(セキュアブート)の有効化が絶対条件です。このセキュアブートは従来のBIOS(MBR)環境では動作せず、「UEFI(GPT)」環境が必須となります。そのため、Windows 11を導入するPCのシステムドライブは、必ずGPTでフォーマットされていなければなりません。

Linux:マルチブート環境におけるデバイス名のズレ(罠)

Linuxシステムにおけるディスクの識別名(デバイス名)は、MBRの構造に強い影響を受けます。

  • /dev/sda1/dev/sda4 プライマリおよび拡張パーティション用に予約
  • /dev/sda5 以隔: 作成された順番に論理パーティションへ割り当て

例えば、プライマリパーティションが1つしかない状態で論理パーティションを新規作成した場合、デバイス名は必ず /dev/sda5 になります。

論理パーティションが「ポインタによる数珠つなぎ」で管理されている性質上、途中のパーティションを削除・再構成すると以降のデバイス名が動的にズレてしまいます。 これにより、ブートローダー(GRUB)がOSカーネルを見失い、システムが起動しなくなるトラブル(GRUBレスキュー画面の発生など)に繋がりやすいため、MBRでのマルチブート運用には注意が必要です。GPTであれば、フラットに管理されるためこの問題を回避しやすくなります。

【総括】MBR・BIOSとGPT・UEFIの仕様比較一覧

最後に、今回解説した各規格の仕様の違いを一覧表にまとめます。

項目MBR + BIOS(レガシー環境)GPT + UEFI(現代の標準環境)
最大認識容量2TBまで実質制限なし(最大9.4ZB)
パーティション数プライマリ最大4つ(それ以上は拡張 / 論理)プライマリ最大128個(拡張 / 論理は不要)
管理情報の冗長性なし(先頭1箇所のみ。破損に弱い)あり(ディスクの先頭と末尾に記録)
操作画面・動作テキスト画面 / 16ビット動作GUI(マウス対応) / 32・64ビット動作
OS起動方式MBRのブートコードを読み込むESP内のEFIファイルを直接実行する
Windows 11対応システムドライブとしては不可必須要件

現在のPC環境、特に大容量のSSDやWindows 11を運用する場合は、「UEFI + GPT」の組み合わせを選択するのが必須かつ最適解です。しかし、レガシーなMBRやBIOSの仕組みを知ることは、古いシステムの保守やLinuxのニッチなトラブルシューティングにおいて今なお大きな価値を持ちます。

表面的な設定手順だけでなく、こうした低レイヤーの仕様とファームウェアの関係性を構造的に理解しておくことで、環境に合わせた適切なインフラ構築や、よりトラブルに強い正確なディスク管理が可能になります。

本記事を羅針盤として、日々のシステム設計や運用にぜひ役立ててください。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
目次