UEFI(统一可扩展固件接口)取代传统BIOS(基本输入输出系统)
取代的原因:
BIOS开发效率低(汇编语言,代码与硬件的耦合程度高),性能差(不支持异步工作模式),可扩展性差(静态链接),安全性差并且不能对于2TB以上的硬盘进行地址引导 (BIOS硬盘采用32位地址)。
UEFI定义了操作系统和平台固件之间的接口
UEFI给操作系统提供的接口包括启动服务和运行时服务,以及隐藏在启动服务之后的丰富protocol
操作系统加载器被加载到OS loador执行退出启动服务这段时间,是UEFI向操作系统过度的过程,这个过程中OS loader通过BS RT使用UEFI提供的服务,将计算机资源完全转移到自己手中时,结束BS并回收BS占用资源,进行UEFI runtime阶段。
BS提供的服务:内存管理,事件服务,时间服务等
UEFI优点(与BIOS相对) 开发效率(CC++,通过接口屏蔽底层细节,方便重用),可扩展性(驱动模块化设计),性能(提供异步操作),安全性(执行应用程序和驱动前检测证书)
UEFI平台初始化:SEC (安全验证);PEI (EFI前期初始化);DEX(驱动执行环境);BDS (启动设备选择) ;TSL(操作系统加载前期);RT (RUNTIME);AL(系统灾难恢复期)
SEC:接受处理系统启动和重启信号,初始化临时存储区域,作为可信系统的根,传速系统参数给PEI
PEI: 内存到PEI后期被初始化,为DEX准备执行环境。PEI分为两个