E.2.2. 基于 UEFI 的 x86 系统中的 GRUB 和引导过程
这部分内容讨论了在引导基于 UEFI 的 x86 系统时 GRUB 扮演的特殊角色。要了解引导过程的全貌,请参考 第 F.2 节 “引导过程的详细介绍”。
GRUB 在下列阶段将自己载入内存:
- 基于 UEFI 的平台从系统存储设备里读取分区表并挂载 EFI 系统分区(ESP),这是带有特定的全局唯一标识符(Globally Unique Identifier,GUID)的 VFAT 分区。ESP 包含 EFI 应用程序,如引导装载程序和工具软件,这些程序保存在软件供应商专有的目录里。从 Red Hat Enterprise Linux 6 文件系统内部的角度来看,ESP 是
/boot/efi/
,Red Hat 提供的 EFI 软件保存在/boot/efi/EFI/redhat/
里。 /boot/efi/EFI/redhat/
目录包含了 grub.efi,这是为 EFI 固件架构编译的 GRUB 版本。在最简单的情况下,EFI 引导管理者选择grub.efi
作为缺省的引导装载程序并将其读至内存。如果 ESP 包含了其他 EFI 应用程序,EFI 引导管理器会提示选择要运行的应用程序,而不是自动载入 grub.efi。- GRUB 决定启动哪个操作系统或者内核后,它就会将其装入内存并将机器的控制权交给那个操作系统。
因为每个供应商都维护着自己在 ESP 里的应用程序目录,对于基于 UEFI 的系统来说,链载入通常不是必需的。EFI 引导管理者可以载入 ESP 里出现的任何操作系统引导装载程序。