编辑本段UEFI简介
可扩展固件接口(Extensible Firmware Interface,EFI)是 Intel 为全新类型的 PC 固件的体系结构、接口和服务提出的建议标准。 其
主要目的是为了提供一组在 OS 加载之前(启动前)在所有平台上一致的、正确指定的启动服务,被看做是有近20多年历史的PC BIOS的继任者。 由于电脑教育普及,很多人都知道BIOS就是Basic Input/Output System,翻成中文是“基本输入/输出系统”,是一种所谓的“固件”,负责在开机时做硬件启动和检测等工作,并且担任 操作系统控制硬件时的中介角色。 然而,那些都是过去DOS 时代的事情,自从Windows NT出现,Linux 开始崭露头角后,这些操作系统已将过去需要通过BIOS完成的硬件控制程序放在操作系统中完成,不再需要调用BIOS功能。一般来说,当今所谓的“电脑高手”,多半是利用BIOS来对硬件性能做些超频调校,除了专业人士外,鲜有人再利用 BIOS 进行底层工作。 因为硬件发展迅速,传统式(Legacy)BIOS 成为进步的包袱,现在已发展出最新的EFI(Extensible Firmware Interface)可扩展固件接口,以现在传统 BIOS 的观点来说,未来将是一个“没有特定 BIOS”的电脑时代。 UEFI是由EFI1.10为基础发展起来的,它的所有者已不再是Intel,而是一个称作Unified EFI Form的国际组织,贡献者有Intel,Microsoft,AMI,等几个 大厂,属于open source,目前版本为2.1。与legacy BIOS 相比,最大的几个区别在于: 1. 编码99%都是由C语言完成; 2. 一改之前的中断、硬件端口操作的方法,而采用了Driver/protocol的新方式; 3. 将不支持X86实模式,而直接采用Flat mode(也就是不能用DOS了,现在有些 EFI 或 UEFI 能用是因为做了兼容,但实际上这部分不属于UEFI的定义了); 4. 输出也不再是单纯的二进制code,改为Removable Binary Drivers; 5. OS启动不再是调用Int19,而是直接利用protocol/device Path; 6. 对于第三方的开发,前者基本上做不到,除非参与BIOS的设计,但是还要受到ROM的大小限制,而后者就便利多了。 7.弥补BIOS对新硬件的支持不足的毛病。 UEFI将是近3年的趋势,到时候对于PC的利用以及维护都将步入一个新的时代。
编辑本段UEFI结构
uEFI概念
根据UEFI概念图的结构,我们将把uEFI概念划为两部分:uEFI的实体 (uEFI Image)跟平台初始化框架。
uEFI的实体-uEFI Image
(图中蓝框围起部分) 根据uEFI规范定义,uEFI Image包含三种:uEFI Applications, OS Loaders and uEFI Drivers。 uEFI Applications是硬件初始化完,操作系统启动之前的核心应用,比如:启动管理、BIOS设置、uEFI Shell、诊断程式、调度和供应程式、调试应用...等等 OS Loaders是特殊的uEFI Application,主要功能是启动操作系统并退出和关闭uEFI应用。 uEFI Drivers是提供设备间接口协议,每个设备独立运行提供设备版本号和相应的参数以及设备间关联,不再需要基于操作系统的支持。
启动队列
平台初始化框架
uEFI框架主要包含两部分,一是PEI(EFI预初始化),另一部分是驱动执行环境 (DXE)。 PEI主要是用来检测启动模式、加载主存储器初始化模块、检测和加载驱动执行环境核心。 DXE是设备初始化的主要环节,它提供了 设备驱动和协议接口环境界面。
编辑本段UEFI的优点
1.易于实现、容错和纠错特性更强
与BIOS显著不同的是,UEFI是用模块化、C语言风格的参数堆栈传递方式、动态链接的形式构建系统,它比BIOS更易于实现,容错和纠错特性也更强,从而缩短了系统研发的时间。更加重要的是,它运行于32位或64位模式,突破了传统16位代码的寻址能力,达到处理器的最大寻址,此举克服了BIOS代码运行缓慢的弊端。
2.驱动开发简单、兼容性好
与BIOS不同的是,UEFI体系的驱动并不是由直接运行在CPU上的代码组成的,而是用EFI Byte Code(EFI字节代码)编写而成的。对Java有一点了解的朋友,一定知道它的编译代码就是以“Byte Code”形式存在的,正是这种没有一步到位的中间性机制,使Java可以在多种平台上运行。UEFI也借鉴了类似的做法。EFI Byte Code是一组用于UEFI驱动的虚拟机器指令,必须在UEFI驱动运行环境下被解释运行,由此保证了充分的向下兼容性。 一个带有UEFI驱动的扩展设备既可以安装在使用安腾的系统中,也可以安装在支持UEFI的新PC系统中,它的UEFI驱动不必重新编写,这样就无须考虑系统升级后的兼容性问题。基于解释引擎的执行机制,还大大降低了UEFI驱动编写的复杂门槛,所有的PC部件提供商都可以参与。
3.高分辨率的彩色图形环境、支持鼠标操作
UEFI将让枯燥的字符界面成为历史!UEFI内置图形驱动功能,可以提供一个高分辨率的彩色图形环境,用户进入后能用鼠标点击调整配置,一切就像操作Windows系统下的应用软件一样简单。BIOS将不再是高手才能玩转的工具,光这一点就足以让很多菜鸟朋友心仪不已了。
4.强大的可扩展性
我们都知道,当电脑出现故障导致无法进入操作系统时,我们往往要借助其他工具才能解决问题,BIOS在诊断系统故障方面的作用实是在太小了。不过,UEFI将不会重蹈BIOS功能单一的覆辙!强大的可扩展性是UEFI的另一大优点。UEFI将使用模块化设计,它在逻辑上分为硬件控制与OS(操作系统)软件管理两部分,硬件控制为所有UEFI版本所共有,而OS软件管理其实是一个可编程的开放接口。借助这个接口,主板厂商可以实现各种丰富的功能。比如我们熟悉的各种备份及诊断功能可通过UEFI加以实现,主板或固件厂商可以将它们作为自身产品的一大卖点。如果你更习惯让别人来维护机器,UEFI也提供了强大的联网功能,其他用户可以对你的主机进行可靠的远程故障诊断,而这一切并不需要进入操作系统!要知道,如今的BIOS就是添加几个简单的USB设备支持都极其困难,更别说上网浏览网页了。
5.UEFI具有支持鼠标操作的图形界面
UEFI能得到众多厂商的青睐,自然少不了一些“幕后人员”的功劳。目前UEFI主要由这几部分构成:UEFI初始化模块、UEFI驱动执行环境、UEFI驱动程序、兼容性支持模块、UEFI高层应用和GUID 磁盘分区组成。 UEFI初始化模块和驱动执行环境通常被集成在一个只读存储器中,就好比如今的BIOS固化程序一样。UEFI初始化程序在系统开机的时候最先得到执行,它负责最初的CPU、北桥、南桥及存储器的初始化工作,当这部分设备就绪后,紧接着它就载入UEFI驱动执行环境(Driver Execution Environment,简称DXE)。当DXE被载入时,系统就可以加载硬件设备的UEFI驱动程序了。DXE使用了枚举的方式加载各种总线及设备驱动,UEFI驱动程序可以放置于系统的任何位置,只要保证它可以按顺序被正确枚举。借助这一点,我们可以把众多设备的驱动放置在磁盘的UEFI专用分区中,当系统正确加载这个磁盘后,这些驱动就可以被读取并应用了。在这个特性的作用下,即使新设备再多,UEFI也可以轻松地一一支持,由此克服了传统BIOS捉襟见肘的情形。UEFI能支持网络设备并轻松联网,原因就在于此。 值得注意的是,一种突破传统MBR(主引导记录)磁盘分区结构限制的GUID(全局唯一标志符)磁盘分区系统将在UEFI规范中被引入。MBR结构磁盘只允许存在4个主分区,而这种新结构却不受限制,分区类型也改由GUID来表示。在众多的分区类型中,UEFI系统分区用来存放驱动和应用程序。很多朋友或许对这一点感到担心:当UEFI系统分区遭到破坏时怎么办?而容易受病毒侵扰更是UEFI被人诟病的一大致命缺陷。事实上,系统引导所依赖的UEFI驱动通常不会存放在UEFI系统分区中,当该分区的驱动程序遭到破坏,我们可以使用简单方法加以恢复,根本不用担心。 X86处理器能够取得成功,与它良好的兼容性是分不开的。为了让不具备UEFI引导功能的操作系统提供类似于传统BIOS的系统服务,UEFI还特意提供了一个兼容性支持模块,这就保证了UEFI在技术上的良好过渡。 UEFI使用模块化设计,它在逻辑上可分为硬件控制和OS软件管理两部分:操作系统—可扩展固件接口—固件—硬件。 丰富的图形界面、可以上网浏览……从这些功能来看,UEFI就像一个活生生的操作系统。Intel在业界的影响力路人皆知,难道它也想染指操作系统?如果是这样,微软还在鼎力支持,岂不是养虎为患?微软当然不会傻到这种程度。事实上,UEFI只是硬件和预启动软件之间的接口规范,它的实力尚不足以对操作系统构成威胁。另外,UEFI驱动程序使用“轮询”方式来检查硬件状态,它的运行效率并不如操作系统直接高效。再者,UEFI只具备简单的存储器管理机制,还不足以适应多任务环境的运行需求。从目前的情形看,UEFI想取代操作系统,至少还有漫长的路要走。 本来,微软计划在第一版Vista系统中支持UEFI技术,但微软开发经理Andrew Ritz今年3月表示,即将上市的Windows Vista将不支持UEFI技术。但从目前情况来看,UEFI取代BIOS在PC系统中的地位只是时间早晚的问题。以微软和Intel为首的IT企业已逐步实施BIOS淘汰计划,苹果新型的Mac计算机就率先采用了UEFI技术。让我们做好迎接UEFI的准备吧!
编辑本段BIOS技术三年内消失 UEFI取而代之
没有一项技术可以像BIOS一样从PC兴起以来一直发展到现在却没有变,不过主板制造商微星最近表示,我们熟悉的BIOS可能会在三年内被UEFI取代 用户的需求和存储技术的进步让UEFI的实施成为非常容易的工作,因此不需要付出太多的资源就可以实现转换。
编辑本段日后开机仅需几秒
10月4日消息,据国外媒体报道,作为电脑开机 软件的Bios如今已有25年历史,而最近的一项技术升级可能会使这个“元老级别”的电脑元件从此退出历史舞台。
[1]
[1] 据悉,Bios的最新替代品UEFI,将在2011进驻所有新型电脑。UEFI的全称为统一可扩展固件接口(Unified Extensible Firmware Interface),是比传统Bios,甚至EFI(Extensible Firmware Interface)更具优势的新技术产品。 UEFI联盟监督了该技术的全程开发。该组织负责人表示,当初设计出的Bios预计仅供25万台机器使用,而这一数字早已被超越。当64位计算变得更为常见,改装机性能远远超越普通台式和笔记本电脑时,Bios早已跟不上现代社会快速的发展节奏。为了适应现代个人电脑,Bios往往要在开机前花上一段时间进行预热,因此,配置Bios的电脑在开机时会耗费上许多时间。 而新型UEFI,全称“统一的可扩展固定接口”(Unified Extensible Firmware Interface), 是一种详细描述全新类型接口的标准。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上,从而使开机程序化繁为简,节省时间。UEFI将提供一个明确的在操作系统与开机时启动固定于硬件中的软件平台之间 的接口规范,此外还支持一种用于初始化插卡的独立于计算机架构的装置。 据了解,目前许多电脑厂商已经开始使用UEFI,并预计UEFI机型的销售从2011年开始将占主导地位。