@tooljpさんをフォロー

BIOS / UEFI の違い及び MBR / GPTの違い

Redhat Linux 6.2 を例に出し、BIOS形式とUEFI形式の比較をまとめています。

2012年11月

ブート方式 ブートローダの制限 CPU パーティション管理
BIOS ステージ1:
MBR内にステージ1のローダが存在し、ステージ2を読み込む。ステージ1のローダは、/boot/grub/stage1


ステージ2:
ステージ2のローダはGrubメニューとコマンドを処理し、ブートするカーネルとファイルを確定する。ステージ2のローダは/boot/grub/stage2。/boot にカーネルが存在 する。

BIOSが読み込むブートローダは512Bytesという制限があるため、2段階の分割することにより512Bytesより大きなブートローダを実行する。

ステージ2は2.2TBまでにブートローダが存在する必要あり。BIOSが認識可能なのは2.2TBまでであるため(*1)

以上の理由によりステージ2のブートローダはbootパーティション上に配置する。そしてboot パーティションはデバイスの先頭に置くことが推奨されている。
BIOSは16bitであるため低速。 MBR形式
UEFI ・/boot/efi 以下にローダが存在
・カーネルを読み込む。/boot にカーネルが存在。
ブートローダの場所は実質制限無し。 UEFIは32bitあるいは64bitで動作するため、BIOSと比較して高速で動作する。 GPT形式
(BIOSはGPTにアクセスが不可能)

(*1)各ディスクの先頭に保存されているMBR(マスター・ブート・レコード)はパーティション・テーブルのデータ長が32bitです。よって2の32乗セクタ×512bytes=約2.2Tbytesとなります。

BIOSとUEFIではパーティション管理形式も異なります。BIOSではMBR形式のみです。一方UEFIではMBR形式とGPT形式がサポートされています。

MBR形式 GPT形式
サポートするファームウェア BIOS,UEFI UEFI
基本パーティション 最大4 最大128
拡張パーティション 1 無し
拡張パーティション内の論理パーティション 制限無し 無し
ツール fdisk、parted parted
ブートローダの制限 ハードディスクの2.2TB内 8ZB(ゼタバイト)
(*)実質は制限無し
Redhat Linux サポート状況 RHEL 5 x86
RHEL 5 x86_64
RHEL 6 x86
RHEL 6 x86_64
RHEL 6 x86_64

[redhat linux 技術ドキュメント トップ]
[FAQ CENTER トップ]