UEFI调查学习

UEFI 相关

一些相关名词:

UEFI(Unified Extensible Firmware Interface):统一可拓展固件接口。它定义了操作系统和平台固件之间的接口,是UEFI Forum发布的一种标准。它只是一种标准,没有提供具体实现。

UEFI的实现由其他公司或开源组织提供,比如Intel提供的开源UEFI实现 TianoCore (EDK2)和Phoenix公司的SecureCore Tiano。

IBV(Independent BIOS Vendor): 独立BIOS厂商,专门提供BIOS固件的公司。

常见的IBV厂商:

AMI、Insyde、Award、Phoenix、Byosoft

BIOS(Basic Input/Output System):是计算机系统中的固件,提供了与硬件交互的低级接口,用于初始化系统硬件并加载操作系统。UEFI逐渐取代BIOS。

OEM(Original Equipment Manufacturer):原始设备制造商

UEFI的启动流程

UEFI系统的启动流程遵循UEFI平台初始化(Platform Initialization)标准。

UEFI 从加电到关机可以分为7个阶段,这七个阶段分别是:

1
2
3
4
SEC(安全验证) -> PEI(EFI前期初始化) -> DXE(驱动执行环境)
-> BDS(启动设备选择) -> TSL(操作系统加载前期)
-> RT(Run Time)
-> AL(系统灾难恢复期)

UEFI固件使用的常见文件格式包括以下几种:

  1. EFI可执行文件(.efi):这是一种UEFI固件中最常见的文件格式。它是一种可执行的二进制文件,包含了UEFI应用程序、驱动程序或固件扩展等。这些.efi文件可以通过UEFI Shell加载和执行,提供各种功能,如操作系统引导、硬件驱动、UEFI应用程序等。
  2. BIOS固件文件(.rom或.bin):这是一种原始的固件映像文件,用于存储完整的BIOS或UEFI固件。这些文件可以包含固件的完整映像,包括引导程序、固件配置、UEFI驱动程序等。它们通常用于在固件更新过程中备份和还原整个固件映像。
  3. UEFI固件更新文件(.upd或.cap):这些文件用于更新UEFI固件,添加新的功能、修复漏洞或改进现有功能。这些文件可以是.cap(Capability File)格式,也可以是.upd(Update File)格式。它们通常由固件供应商提供,并通过特定的工具或UEFI固件更新程序加载到UEFI固件中进行更新。
  4. UEFI变量文件(.nvram):UEFI固件使用变量来存储和管理配置信息、启动选项、系统设置等。这些变量可以以文件的形式进行导出和导入,通常使用.nvram或.bin格式。这些文件包含了UEFI固件中的变量数据,可以在不同的UEFI系统之间进行共享或备份。

这些是UEFI固件中常见的文件格式,用于存储和管理固件、应用程序、驱动程序和配置数据。具体使用的文件格式可能会根据固件供应商和系统配置而有所不同。