UEFI开发与调试---运行阶段介绍

UEFI的运行可以分为如下几个阶段:

  • SEC阶段
    此阶段是安全验证阶段,系统上电后即进入此阶段,作为UEFI的第一阶段,它是可信系统的根,一般可以在此阶段验证后面的PEI,此阶段大部分工作是为后面的PEI阶段提供运行环境。

  • PEI阶段
    PEI(Pre-EFI-Initialization)是EFI前期初始化阶段,资源依然十分有限,内存到了PEI后期才被初始化,其主要功能是为DXE准备执行环境,准备DXE需要的信息并最终将控制权交给DXE。按照功能可以分为PEI Core Services和PEI Modules,另外还需要实现Modules之间通信的接口PPI。

  • DXE阶段
    Driver Execution Environment,此阶段是驱动运行阶段,这是一个非常重要的阶段,完成了外设初始化的大部分工作,此阶段内存已经可以完全被使用了,此阶段还会初始化前面文章所介绍的edk2中的基础服务组件,系统表,启动服务表,运行服务表。在所有driver执行完毕之后,系统会进入下一个阶段,BDS。

  • BDS阶段
    Boot Device Selection阶段,只要是启动策略的执行,它其实是一个特殊的应用程序,当用户选择了启动设备之后,此阶段就会继续运行,跳转到TSL阶段。

  • TSL阶段
    Transient System Loader阶段,也是一个应用程序运行阶段。UEFI Shell就属于此阶段的人机交互界面。但一般情况下不会进入此界面,而是直接执行OS Loader。最后会执行ExitBootServices来结束启动服务,只保留RunTime Services,进入下一个阶段,RT。

  • RT阶段
    Runtime 阶段是OS Loader阶段,系统控制权已经由UEFI内核转交给OS Loader,UEFI占用的资源都已经被回收了,所有控制权都交给了OS Loader。OS Loader负责夹在真正的操作系统OS。

  • AL阶段
    After Life阶段,当系统出现故障时进入的阶段,UEFI目前没有定义此阶段的行为。

参考:《UEFI 原理与编程》–戴正华

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值