1 什么是UEFI ?

根据UEFI forum的定义为:UEFI (Unified Extensible Firmware Interface) will be a specification detailing an interface that helps hand off control of the system for the pre-boot environment (i.e.: after the system is powered on, but before the operating system starts) to an operating system, such as Windows* or Linux*. UEFI will provide a clean interface between operating systems and platform firmware at boot time, and will support an architecture-independent mechanism for initializing add-in cards.

UEFI就是统一的可扩展的固件接口,它是一种接口的规格标准,这种接口帮助将前引导系统的系统控制转交给操作系统,比如linux,windows。UEFI将提供一个在启动的时候在操作系统与固件之间的一层清晰接口,同时也提供一种系统独立的机制去完成插入版的初始化。


UEFI标准的发展时间表


2 UEFI与BIOS

UEFI定义了一种类似的操作系统固件接口,叫做启动服务或者运行时服务,但是它不是针对某种处理器结构。BIOS是特别运行于INTEL的X86处理器结构,因为它依赖于X86处理器支持的16位的实模式接口。UEFI现在还没完全替代BIOS,因为一些固件还需要BIOS所提供的功能,UEFI也没有制定SETUP与POST功能如何实现。UEFI将枯燥的字符界面成为历史,它内置图形驱动功能,可以提供一个高分辨率的彩色图形环境,用户进入后可以用鼠标点击调整配置,一切就像操作WINDOWS下的应用软件一样。UEFI的一个目标就是减少机器的初始化时间。无论是BIOS还是UEFI,他们都有一个叫做platform initialization的概念,在UEFI中存在一个PI(Platform Initialization)标准,UEFI PI的启动过程为下图:

SEC和PEI着手前期的处理。在传统的BIOS中,I/O的计算出现在POST阶段,而在UEFI系统中出现在DXE(Driver Execution Environment),而DXE在UEFI支持的系统的担任核心的角色。

BIOS的初始化过程如下图:

上面两图中可以发现BIOS的POST FLOW 和 UEFI的DXE是完成类似的功能。

3  EFI与UEFI有什么联系?

EFI1.10是intel发布的标准,然后被Unified EFI forum进行修改后的基础上建立起了UEFI规格标准。Intel拥有EFI1.10标准的版权,但是由于它将此标准贡献给了Unified EFI forum,所以forum也可以进行设计与发展。顾客可以使用EFI标准,但是得得到INTEL的许可,然而如果你想使用Unified EFI标准就得需要Forum而不是INTEL的许可。


4 任何人都可以开发UEFI装置?

是的。UEFI希望BIOS供应商,OS供应商与插入版工艺上在遵循Unified EFI标准的基础上去开发产品。

本人觉得UEFI 与 目前的bios有很大的区别就是在于,UEFI中提供APP层,所有商家可以放置很多应用程序在此,因此可以获得某些利润,你懂的。