与uefi_BIOS/UEFI的过程介绍

UEFI(Unified extensible Firmware Interface,统一可扩展固件接口)定义了操作系统平台固件之间的接口,它是UEFI Forum发布的一种标准。 UEFI实现一般可分为两部分:

a. 平台初始化(遵循Platform Initialization标准)

b. 固件-操作系统接口

UEFI系统的启动遵循UEFI平台初始化(Platform Initialization)标准。UEFI系统从加电到关机可以为7个阶段:

21bfa251eaf25f87bbe01ac86aa8a02c.png

1. SEC阶段

SEC(Security Phase)阶段是平台初始化的第一个阶段,计算机系统加电后进入这个阶段。

主要功能:

a. 接收并处理系统启动和重启信号:系统加电信号、系统重启信号、系统运行过程中的严重异常信号

b. 初始化临时存储区域

系统运行在SEC时,仅CPU和CPU内部资源初始化,各种外部设备和内存都没有被初始化,因而系统需要一些临时RAM区域,用于代码和数据的存取,这些RAM只能位于CPU内部

c. 作为可信系统的根

d. 传递系统参数给下一阶段

SEC阶段的一切工作都是为了BEI阶段做准备,最终SEC要把控制板交给PEI,同时把现阶段的成果汇报给PEI

执行流程:

9ec2024d85a2812deb685c7840cfba8a.png

2. PEI阶段

PEI(Pre-EFI Initialization)阶段资源仍然十分有限,内存到了PEI后期才被初始化,其主要功能是为DXE准备执行环境,将需要传递到DXE的信息组成HOB(Handoff Block)列表,最终将控制权转交到DXE手中

主要功能:

a. PEI内核(PEI Foundation): 负责PEI基础服务和流程

b. PEIM(PEI Module)派遣器:主要功能是找出系统中的所有PEIM,并根据PEIM之间依赖关系按顺序执行PEIM。PEI阶段对系统的初始化主要是由PEIM完成

执行流程:

fea38f3756463667f345a5e0097dde1e.png

3. DXE阶段

DXE(driver execution environment)阶段执行大部分系统初始化工作,进入此阶段时,内存已经可以被完全使用,从功能上讲,DXE可以分为以下两部分:

a. DXE内核:负责DXE基础服务和执行流程

b. DXE派遣器:负责调度执行DXE驱动,初始化系统设备

DXE的阶段与PEI阶段相似,执行流程如下:

ff477a32728206abe0458e2350e3df17.png

当所有的Driver都执行完毕后,系统完成初始化,DXE通过EFI_BDS_ARCH_PROTOCOL找到BDS并调用BDS的入口函数,从而进入BDS阶段。从本质上,BDS是一种特殊的DXE的应用程度

4. BDS阶段

BDS(Boot Device Selection)的主要功能是执行启动策略,其中主要功能包括:

a. 初始化控制台设备

b. 加载必要的设备驱动

c. 根据系统设置加载和执行启动项

如果加载启动项失败,系统将重新执行DXE dispatcher以加载更多的驱动,然后重新尝试加载启动项

5. TSL 阶段

TSL(Transient system load)是操作系统加载器(OS loader)执行的第一阶段,在这一段阶OS loader作为一个UEFI应用程度运行,系统资源仍然由UEFI内核控制。当启动服务的ExitBootService()服务被调用后,系统进入Run Time阶段.

6. RT阶段

系统进入RT(Run Time)阶段后,系统的控制权从UEFI内核转交到OS Loader手中,UEFI占用的各种资源被回收到OS loader, 仅有UEFI运行时服务保留给OS loader和OS使用。随着OS Loader的执行,OS最终取得对系统的控制权。

7. AL阶段

在RT阶段,如果秕(硬件和软件)遇到灾难性错误,系统固件需要提供错误处理和灾难性恢复机制,这种机制运行在AL(After Life)阶段。 UEFI和UEFI PI标准都没有定义此阶段的行为和规范。

以上内容摘自《UEFI原理与编程》一书

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值