UEFI Boot Flow 系列之概述

转自CeliaQianhj

有图有真相:

1. SEC Phase (Security)

开机之后,系统开始执行第一条指令,此时就已经进入了SEC阶段。这时的Memory还没有被初始化,还不可用,所以这一阶段最主要的工作就是建立一些临时的Memory,它可以是处理器的Cache,或是system Static RAM(SRAM)。并且使CPU进入Protect Mode。   另外,SEC Phase可以先天知道(Prior Knowledge)这些早期的内存被映射到得位置以及BFV(Boot Firmware Volume)的位置。

2. PEI Phase(Pre-EFI Initialization Environment)

PEI阶段最主要的工作就是Memory的初始化以及一些必要的CPU、Chipset等等的初始化。由于这些都是没有压缩的Code,所以要求越精简越好。另外,PEI Phase还要确定系统的Boot Path,初始化和描述最小数量的包含DXE foundation和DXE Architecture Protocols的System RAM及firmware volume。

3. DXE Phase(Driver Execution Environment)

DXE阶段是实现EFI的最重要的阶段,大部分的工作都是在这个阶段实现的。

4. BDS Phase(Boot Device Select)

BDS阶段的主要工作是:

a. 初始化基于环境变量ConIn、ConOut、StrErr的控制台设备。

b. 尝试去加载列在环境变量Driver####和DriverOrder上的Driver。

c. 尝试从列在环境变量Boot####和BootOrder上的启动设备列表中启动。

5. TSL (Transient System Load)

指Shell

6. RT Phase(RunTime)

当OS呼叫了Boot Service ExitBootService()之后,系统就进入了RT阶段。此时,DXE Foundation和Boot Service都已经终止了,只有EFI Runtime Service和EFI System Table还可以继续被使用。

7. AL(After Life)

当OS呼叫了EFI Runtime Service ResetSystem()或者是呼叫了ACPI Sleep State,系统就进入了AL阶段。 异步Event(比如SMI、NMI)的触发也可使系统进入AL阶段,这在Server和Workstation上比较常见。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值