什么是 UEFI 引导过程阶段?

What are the UEFI boot process stages?

我试图找到 UEFI 引导过程,但发现了更多关于 BIOS 引导过程的信息。 我想了解 UEFI 引导中涉及的不同阶段。

所以我使用这些网站找到了答案:

https://edk2-docs.gitbook.io/edk-ii-build-specification/2_design_discussion/23_boot_sequence

https://blog.hansenpartnership.com/anatomy-of-the-uefi-boot-sequence-on-the-intel-galileo/

步骤如下:

UEFI 启动正式分为三个阶段(SEC、PEI 和 DXE)。但DXE阶段分为DXEBoot和DXERuntime(前者在调用ExitBootSerivices()后被淘汰)。每个阶段的工作是

  1. SEC(安全阶段)。这包含从冷启动入口点开始的所有 CPU 初始化代码。它的工作是将系统设置得足够远以查找、验证、安装和 运行 PEI。

负责以下内容:

  • 处理所有平台重启事件
  • 创建临时内存存储
  • 作为系统中的信任根
  • 将移交信息传递给 PEI 基金会
  1. PEI(Efi 前初始化阶段)。这会配置整个平台,然后加载并启动 DXE。

负责以下内容:

  • 正在初始化一些永久内存补码
  • 描述 Hand-Off Blocks (HOB) 中的内存
  • 描述 HOB 中的固件卷位置
  • 将控制权传递到驱动程序执行环境 (DXE) 阶段
  1. DXE(驱动程序执行环境)。如有必要,这是 UEFI 系统为已配置设备加载驱动程序的地方;挂载驱动器并查找并执行引导代码。在控制权转移到启动 OS 之后,DXERuntime 保持驻留以处理任何 OS 到 UEFI 调用。