E.2.2. UEFI ベース x86 システムの GRUB とその起動プロセス

本セクションでは、UEFI ベースの x86 システムを起動する際に GRUB が行う役割について説明します。全体的な起動プロセスについては 「ブートプロセスの詳細」を参照してください。
GRUB は次のようなステージでそれ自体をメモリーにロードします。
  1. UEFI ベースのプラットフォームはシステムストレージのパーティションテーブルを読み込み、ESP (EFI システムパーティション)、特定の グローバルで固有となる識別子 (GUID) ラベルが付いた VFAT パーティションをマウントします。ESP にはブートローダーやユーティリティソフトウェアなどの EFI アプリケーションが含まれており、ソフトウェアベンダーに固有のディレクトリに格納されています。Red Hat Enterprise Linux 6.9 ファイルシステム内から見ると、ESP は /boot/efi/ に、Red Hat が提供する EFI ソフトウェアは /boot/efi/EFI/redhat/ に格納されています。
  2. /boot/efi/EFI/redhat/ ディレクトリには、 EFI アプリケーションとして EFI ファームウェアアーキテクチャー用にコンパイルされた GRUB バージョン、grub.efi が含まれています。最も簡単な例では、EFI ブートマネージャは grub.efi をデフォルトのブートローダーとして選択し、それをメモリーに読み込みます。
    ESP に他の EFI アプリケーションも含まれている場合、EFI ブートマネージャは、grub.efi を自動的にロードするのではなく、実行するアプリケーションを選択できるプロンプトを表示する場合があります。
  3. GRUB により開始するオペレーティングシステムまたはカーネルが決定されメモリーに読み込まれます。このあとマシンの制御はオペレーティングシステムに任されます。
ESP 内にはベンダーごとアプリケーション専用ディレクトリがあるため UEFI ベースのシステムには通常チェーンロードを行う必要はありません。EFI ブートマネージャは ESP にあるオペレーティングシステム用ブートローダーならどれでもロードすることができます。