E.2.2. 基於 UEFI 的 x86 系統的 GRUB 與開機程序

本段落將討論 GRUB 在啟動一部基於 UEFI 的 x86系統時的特殊功用。欲取得完整開機程序上的相關資訊,請參閱〈節 F.2, “開機過程的詳細資訊”〉。
GRUB 依下列階段步驟將本身載入記憶體中:
  1. 基於 UEFI 的平台會讀取系統儲存裝置上的分割表,然後掛載 EFI System Partition(ESP),這是個標記了特定全域唯一識別碼,globally unique identifier(GUID)的 VFAT 分割區。ESP 包含了 EFI 應用程式(例如開機載入程式以及工具程式軟體),這些應用程式皆儲存在特定的軟體供應商目錄中的。由 Red Hat Enterprise Linux 6.7 檔案系統中檢視,ESP 為 /boot/efi/,並且 Red Hat 所提供的 EFI 軟體皆儲存在 /boot/efi/EFI/redhat/ 中。
  2. /boot/efi/EFI/redhat/ 目錄包含了 grub.efi,這是個為了 EFI 韌體架構所編譯、作為 EFI 應用程式的 GRUB 版本之一。在最基本的情況下,EFI 開機管理程式會選擇 grub.efi 作為預設的開機載入程式,並將它讀入記憶體中。
    若 ESP 包含了其它 EFI 應用程式,EFI 開機管理程式可能會提示您選擇欲執行的應用程式,而非自動載入 grub.efi
  3. GRUB 會判斷要啟動哪個作業程式或 kernel、將它載入記憶體,並將電腦控制權轉移給作業系統。
因為所有供應商皆會在 ESP 中維護其應用程式目錄,基於 UEFI 的系統上一般並不需要 chain loading。EFI 開機管理程式可載入任何存在於 ESP 中的作業系統開機載入程式。