Redhat Linux 6.2 を例に出し、BIOS形式とUEFI形式の比較をまとめています。(参考:UEFI と BIOS の違い)
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 |