对一般用户来说,电脑开机,现在快一点的固态硬盘,几秒钟就能进入Windows界面了,能看到UEFI的时间很短。那么在这段短暂的时间里,UEFI经历了哪些过程呢?
UEFI系统的启动过程如下:
1. SEC阶段 (Security Phase)
UEFI系统开机或重启进入SEC阶段,功能上执行4种任务:
◼ 接收并处理系统启动和重启信号。
◼ 初始化临时存储区域。
◼ 作为可信系统的根。
◼ 传递系统参数给下一阶段。
2. PEI阶段 (Pre-EFI Initialization)
PEI功能上分为两个部分:
◼ PEI内核(PEI Foundation),负责PEI基础服务和流程
◼ PEIM(PEI Module)派遣器,负责找出系统中所有的PEIM,并根据PEIM之间的依赖关系顺序执行PEIM。PEI阶段对系统的初始化主要是由PEIM完成的。
3. DXE阶段 (Driver Execution Environment)
与PEI阶段相似,DXE从功能上分为两个部分:
◼ DXE内核,负责DXE基础服务和执行流程。
◼ DXE派遣器,负责调度执行DX二驱动,初始化系统设备。
4. BDS阶段 (Boot Device Selection)
BDS的主要功能是执行启动策略,主要功能包括:
◼ 初始化控制台设备。
◼ 加载必要的设备驱动。
◼ 根据系统设置加载和执行启动项。
5. TSL阶段 (Transient System Load)
TSL是操作系统加载器(OS Loader)执行的第一阶段,OS Loader作为一个UEFI应用程序执行,系统资源仍由UEFI内核控制。直到启动服务(BS)的ExitBootServices()服务被调用之后,系统进入RT阶段。
6. RT阶段 (Run Time)
进入RT阶段后,系统的控制权从UEFI内核转交到OS Loader手中,UEFI占用的各种资源被回收到OS Loader,仅有UEFI运行时服务(RT)保留给OS Loader和OS使用。
7. AL阶段 (After Life)
在RT阶段,如果系统(硬件或软件)遇到灾难性错误,系统固件需要提供错误处理和灾难恢复机制,这种机制运行在AL阶段。UEFI和UEFI PI标准并没有定义该阶段的行为规范。
**************************************************************************
参考书:《UEFI原理与编程》- 戴正华