MBR(Master Boot Record)とは?ディスク起動の仕組みを徹底解説

「MBRって何?」
「GPTとMBRって何が違うの?」
「2TBを超えるディスクが使えないって本当?」

パソコンやサーバーのストレージ設定をしていると、こんな用語や疑問に出会うことがあります。

実は、MBR(Master Boot Record)は、コンピュータが起動する最初の一歩を担う重要な仕組みなんです。この記事では、MBRの基本から最新のGPTとの違いまで、初心者の方にも分かりやすく解説します。

読み終わる頃には、ディスクの起動メカニズムがしっかり理解できますよ!


スポンサーリンク

MBR(Master Boot Record)とは?ディスクの「目次ページ」

MBR(Master Boot Record)とは、ハードディスクやSSDの最初の512バイトに書き込まれる特別なデータ領域のこと。

本で言えば「目次ページ」のようなもので、以下の情報が記録されています:

  • パーティション情報(ディスクがどう分割されているか)
  • ブートコード(OSを起動するための小さなプログラム)
  • ブートシグネチャ(正しいMBRであることを示す印)

コンピュータの電源を入れると、BIOSやUEFIがまずこのMBRを読み込んで、どのパーティションからOSを起動するかを判断するんです。


MBRの構造:たった512バイトに詰まった重要情報

MBRは非常に小さな領域ですが、以下の3つの部分で構成されています。

1. ブートストラップコード(446バイト)

最初の446バイトには、ブートローダーの第一段階プログラムが格納されています。

役割:
アクティブ(起動可能)なパーティションを見つけて、そこに記録された次の段階のブートローダーに処理を渡すこと。

実例:
WindowsならNTLDR、LinuxならGRUBの最初の部分がここに入ります。

2. パーティションテーブル(64バイト)

続く64バイトには、ディスクのパーティション情報が記録されています。

記録内容:

  • パーティションの開始位置
  • パーティションのサイズ
  • パーティションのタイプ
  • ブートフラグ(起動可能かどうか)

重要な制限:
64バイトという制限のため、最大4つのプライマリパーティションしか作れません。

3. ブートシグネチャ(2バイト)

最後の2バイトには、固定値「0x55AA」が記録されています。

役割:
このMBRが有効であることを示す「印鑑」のようなもの。BIOSはこの値をチェックして、正しいMBRかどうかを判断します。


MBRのパーティションテーブル:4つの制限

MBRの大きな特徴(制約)が、パーティションの扱い方です。

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

MBRでは、プライマリパーティションを最大4つまでしか作れません。

プライマリパーティションとは:
直接OSをインストールできる独立したパーティションのこと。

実例:

  • パーティション1:Windows(C:ドライブ)
  • パーティション2:Linux ルート(/)
  • パーティション3:データ用
  • パーティション4:バックアップ用

これで上限に達します。

拡張パーティションで制限を回避

4つ以上のパーティションが必要な場合は、拡張パーティションを使います。

仕組み:

  1. プライマリパーティションの1つを「拡張パーティション」として確保
  2. その中に複数の「論理パーティション」を作成
  3. 結果的に4つ以上のパーティションが使える

実例:

  • パーティション1:Windows(プライマリ)
  • パーティション2:Linux /(プライマリ)
  • パーティション3:拡張パーティション
  • 論理パーティション1:/home
  • 論理パーティション2:/var
  • 論理パーティション3:データ用

こうすれば、実質的に4つ以上使えます。


MBRの最大の制限:2TBの壁

MBRには、現代のストレージには厳しい制限があります。

2TBまでしか扱えない

MBRでは、2TB(テラバイト)を超えるディスク容量を認識できません

原因:
パーティションテーブルが32ビットのアドレッシングを使っているため。セクタサイズ512バイトと組み合わせると、2^32 × 512バイト = 2TBが上限になります。

実例:
4TBのハードディスクをMBRでフォーマットすると、残りの2TBは使えない領域として無駄になってしまいます。

現代では大きな問題

最近のハードディスクは4TB、8TB、それ以上の容量が当たり前。MBRではこれらを有効活用できないんです。


GPT(GUID Partition Table)との違い

MBRの制限を克服するために登場したのがGPT(GUID Partition Table)です。

比較表

項目MBRGPT
最大ディスク容量2TB9.4ZB(実質無制限)
パーティション数4つ(拡張で増やせる)128個以上
パーティション名なし名前を付けられる
データ保護冗長性なしバックアップあり
BIOS対応△(互換モードあり)
UEFI対応△(制限あり)
登場時期1983年2000年代

GPTの主な利点

1. 容量制限がほぼない
実質的に無制限の容量に対応。現代の大容量ディスクも問題なく使えます。

2. パーティション数が多い
標準で128個のパーティションを作成可能。実用上、制限を感じることはありません。

3. 冗長性がある
パーティション情報がディスクの先頭と末尾に二重保存されるため、一方が壊れても復旧できます。

4. CRCエラー検出
データの整合性をチェックする機能があり、破損を検出できます。


MBRとGPT、どちらを選ぶべき?

現代のシステムでは、基本的にGPT推奨です。

GPTを選ぶべきケース(ほとんどの場合)

  • 2TB以上のディスクを使う
  • UEFIシステム(2010年以降のPC)
  • Windows 11(GPT必須)
  • 現代的なLinuxディストリビューション
  • 将来性を重視

MBRを選ぶ必要があるケース(限定的)

  • 古いBIOSシステム(2010年以前のPC)
  • Windows XP以前のOS
  • 一部の古い機器との互換性が必要
  • 2TB以下の小容量ディスクで互換性重視

MBRの確認方法

自分のシステムがMBRかGPTか確認してみましょう。

Windows での確認方法

方法1:ディスクの管理

  1. 「Win + X」キーを押す
  2. 「ディスクの管理」を選択
  3. ディスクを右クリック→「プロパティ」
  4. 「ボリューム」タブで「パーティションのスタイル」を確認

方法2:コマンドプロンプト

diskpart
list disk

GPTディスクには「*」マークが「GPT」列に表示されます。

Linux での確認方法

方法1:fdiskコマンド

sudo fdisk -l

出力例(MBR):

Disklabel type: dos

出力例(GPT):

Disklabel type: gpt

「dos」と表示されたらMBR、「gpt」と表示されたらGPTです。

方法2:gdiskコマンド

sudo gdisk -l /dev/sda

MBRの場合、「MBR: MBR only」と表示されます。

方法3:partedコマンド

sudo parted /dev/sda print

「Partition Table」の行に「msdos」(MBR)か「gpt」が表示されます。


MBRからGPTへの変換

MBRディスクをGPTに変換することもできます。

Windows での変換(データ消去なし)

Windows 10/11では、MBR2GPTツールが使えます。

注意:
Windows 10 バージョン1703以降が必要です。

手順:

  1. 管理者としてコマンドプロンプトを開く
  2. 以下のコマンドを実行
mbr2gpt /validate /disk:0
mbr2gpt /convert /disk:0

「/disk:0」の数字は、変換したいディスク番号に変更してください。

重要:

  • データはそのまま残りますが、念のためバックアップ推奨
  • BIOS設定をUEFIモードに変更する必要あり

Linux での変換

gdiskを使う方法:

sudo gdisk /dev/sda

gdisk内で「w」コマンドを実行すると、MBRをGPTに変換できます。

注意:
データが消える可能性があるため、必ずバックアップを取ってから実行してください。


MBRのトラブルシューティング

MBRが破損すると、システムが起動しなくなります。

問題:起動時に「Operating System not found」

原因:
MBRのブートコードが破損しています。

解決方法(Windows):

  1. Windowsインストールメディアから起動
  2. 「コンピューターを修復する」を選択
  3. 「トラブルシューティング」→「詳細オプション」→「コマンドプロンプト」
  4. 以下のコマンドを実行
bootrec /fixmbr
bootrec /fixboot
bootrec /rebuildbcd

解決方法(Linux):

  1. LiveUSBから起動
  2. ターミナルを開く
  3. GRUBを再インストール
sudo mount /dev/sda1 /mnt
sudo grub-install --boot-directory=/mnt/boot /dev/sda
sudo update-grub

問題:パーティションが認識されない

原因:
パーティションテーブルが破損しています。

解決方法:

TestDiskという無料ツールを使って、パーティションテーブルを復旧できます。

sudo apt install testdisk
sudo testdisk

画面の指示に従って、失われたパーティションを検索・復元します。


MBRのバックアップと復元

万が一に備えて、MBRのバックアップを取っておくことをおすすめします。

Linux でのバックアップ

MBR全体をバックアップ:

sudo dd if=/dev/sda of=mbr-backup.img bs=512 count=1

このコマンドで、MBR全体(512バイト)を「mbr-backup.img」として保存します。

パーティションテーブルのみバックアップ:

sudo sfdisk -d /dev/sda > partition-table-backup.txt

テキスト形式でパーティション情報を保存します。

復元方法

MBRを復元:

sudo dd if=mbr-backup.img of=/dev/sda bs=512 count=1

パーティションテーブルを復元:

sudo sfdisk /dev/sda < partition-table-backup.txt

MBRの歴史と今後

MBRの誕生

MBRは1983年にIBM PC DOS 2.0で初めて導入されました。当時のハードディスクは数十MBという時代。2TBの制限なんて、誰も想像できなかったんです。

40年以上の活躍

それから40年以上、MBRはコンピュータ業界の標準として活躍してきました。シンプルで信頼性が高く、互換性も抜群でした。

GPTへの移行

しかし、ストレージの大容量化に伴い、MBRの限界が明らかに。
2000年代にGPTが登場し、現在は主流がGPTに移りつつあります。

Windows 11では、GPTが必須要件になっており、MBRの時代は終わりつつあると言えるでしょう。


よくある質問

Q1. MBRディスクにWindowsとLinuxをデュアルブートできる?

はい、できます。ただし、プライマリパーティションの制限(4つまで)に注意が必要です。拡張パーティションを使えば、複数のOSをインストールできます。

Q2. MBRはSSDでも使える?

技術的には可能ですが、現代のSSDは容量が大きいため、GPTを使う方が適切です。特に512GB以上のSSDではGPT推奨です。

Q3. MBRが破損する原因は?

主な原因は以下の通りです:

  • ウイルス感染
  • 不適切なシャットダウン
  • ディスクの物理的な障害
  • パーティション編集ソフトの誤操作

Q4. ハイブリッドMBR/GPTって何?

GPTディスクに互換性のためのMBR情報も記録する方式。古いBIOSシステムからも起動できるようにする手法ですが、推奨されません。


まとめ:MBRの理解がディスク管理の第一歩

MBR(Master Boot Record)は、コンピュータ起動の基礎となる重要な仕組みです。

MBRの重要ポイント:

  • ディスクの最初の512バイトに記録
  • ブートコード、パーティションテーブル、シグネチャで構成
  • 最大4つのプライマリパーティション
  • 2TBまでの容量制限

MBRの制限:

  • 2TB以上のディスクが使えない
  • パーティション数が少ない
  • データ保護機能がない
  • 古い技術(1983年登場)

GPTとの比較:

  • GPT:実質無制限の容量、128個以上のパーティション、冗長性あり
  • MBR:2TB制限、4パーティション、シンプル

推奨:

  • 新しいシステム:GPT
  • 古いBIOSシステム:MBR
  • 2TB以上のディスク:必ずGPT

確認方法:

  • Windows:ディスクの管理、diskpartコマンド
  • Linux:fdisk -l、gdisk、partedコマンド

40年以上の歴史を持つMBRですが、現代のストレージ環境ではGPTへの移行が進んでいます。ただし、MBRの仕組みを理解しておくことは、ディスク管理やトラブルシューティングに役立ちます。

自分のシステムがどちらを使っているか確認して、適切に管理していきましょう!

安定したシステム運用を!

コメント

タイトルとURLをコピーしました