传统的蓝白BIOS界面能够说是陪伴着不少玩家共同成长,不过在英特尔发布Sandy Bridge架构处理器的时候,传统BIOS也到了和咱们说再见的时间,采用图形化界面的EFI以及UEFI很快就取代了传统BIOS成为了众多主板的标配,今天咱们就一块儿来谈谈这个改变传统的EFI以及UEFI。编程
什么是EFI和UEFI?网络
EFI是Extensible Firmware Interface(可扩展固件接口)的缩写,是由英特尔倡导推出的一种在类PC系统中替代BIOS的升级方案。与传统BIOS相比,EFI经过模块化、C语言的参数堆栈传递方式和动态连接的形式构建系统,较BIOS而言更易于实现,容错和纠错特性更强。架构
UEFI则是Unified Extensible Firmware Interface(统一可扩展固件接口),它是基于EFI 1.10标准为基础发展起来的,不过全部者并非英特尔,而是一个名为Unified EFI Form的国际组织。UEFI是一种详细描述类型接口的标准,可让PC从预启动的操做环境,加载到操做系统上。模块化
须要注意的是,虽然EFI与UEFI的叫法不一样,可是二者在本质上是基本相同的。自2000年12月12日正式发布EFI 1.02标准后,EFI一直是做为代替传统的BIOS的先进标准而存在,拥有权在英特尔手中,而在2007年开始,英特尔将EFI标准的改进与完善工做交给Unified EFI Form进行全权负责,随后登场的EFI标准则正式改名为UEFI,以示区别。操作系统
所以UEFI是EFI的改良与发展,实际上前者相比后者在UGA协议、SCSI传输、USB控制还有I/O设备方面都做出了改进,还添加了网络应用程序接口、X64绑定、服务绑定等新内容。此外参与UEFI标准开发的并不只仅有英特尔一家,而是包含了AMD、苹果、戴尔、惠普、IBM、联想、微软等多个龙头企业,所以UEFI在兼容性上有更好的表现,通用性更强。设计
UEFI相比传统BIOS的区别和优势在哪里?orm
与传统BIOS相比,UEFI对于新硬件的支持远超对方,其中最能体现这一点的就是咱们能够在UEFI下使用2.2TB以上硬盘做为启动盘,而传统BIOS下这种大容量硬盘如不借助第三方软件则只能看成数据盘使用。接口
另外UEFI内置图形驱动功能,能够提供一个高分辨率的图形化界面,用户进入后彻底能够像在Windows系统下那样使用鼠标进行设置和调整,操做上更为简单快捷。同时因为UEFI使用的是模块化设计,在逻辑上可分为硬件控制与软件管理两部分,前者属于标准化的通用设置,然后者则是可编程的开放接口,所以主板厂商能够借助后者的开放接口在自家产品上实现各类丰富的功能,包括截图、数据备份 、硬件故障诊断、脱离操做系统进行UEFI在线升级等,功能上也要比传统BIOS更多、更强。
固然UEFI相比传统BIOS的优势并不只仅是以上数点,实际上它还包括有以下特色:
- 编码99%都是由C语言完成;- 再也不使用中断、硬件端口操做的方法,而采用了Driver/Protocol的方式;- 将不支持X86实模式,而直接采用Flat mode;- 再也不输出单纯的二进制代码,改成Removable Binary Drivers模式;- 操做系统的启动再也不是调用INT 19H中断,而是直接利用Protocol/Device Path实现;- 更方便第三方开发;
不过这些特色对于普通用户来讲并无什么实际意义,它们更多地是面向开发者,所以相关的内容此次就不展开叙述了。
UEFI主要由那几部分组成?
UEFI各组件之间的关系
那么如今咱们稍微深刻一点,看看UEFI主要构成部分。UEFI主要由初始化模块、驱动执行环境、驱动程序、兼容性支持模块、UEFI应用和GUID磁盘分区组成,其中初始化模块和驱动执行环境是UEFI的运行基础,一般被整合在主板的闪存芯片中,这点与传统BIOS是比较相似的。开机的时候初始化模块首先获得执行,负责CPU、主板芯片及存储设备的初始化工做,完成后则载入驱动执行环境,即Driver Execution Environment,简称DXE。
DXE完成载入后UEFI就能够进一步加载硬件的UEFI驱动程序,DXE经过枚举的方式加载各类总线及设备的驱动,而这些驱动程序则能够放置在系统的任意位置,只要确保其能够按顺序被正确枚举便可。硬件的UEFI驱动通常是放置在硬盘的UEFI专用分区中,只须要系统正确加载这个硬盘,对应的驱动就能够正常读取并应用。
所以在DXE的支持下,即便玩家给PC添加新的硬件,只要有对应的UEFI驱动,那么UEFI也能够轻松提供支持, 这一点是几乎宽展能力的传统BIOS所没法媲美的,也正是由于这个能力,UEFI能够轻松支持各类网络设备并联网,藉此实现无需进入系统便可进行在线升级UEFI的功能。
兼容性支持模块则是为了让不具有UEFI引导功能的操做系统也能在UEFI环境下顺利完成引导开机,这个兼容性支持模块将为UEFI提供相似于传统BIOS的系统服务,以此保证UEFI在技术上能有良好的过渡。而GUID磁盘分区则是在UEFI标准中引入的磁盘分区结构,与传统MBR分区相比,GUID磁盘分区突破了前者只容许4个主分区的限制,分区类型也改成了咱们常说的GPT分区。
UEFI有什么缺点吗?
虽然如今UEFI已经基本取代传统BIOS,可是它并非只有优势而没有缺点的。UEFI相比传统BIOS在硬件兼容性上有很大的提高,可是就自身的安全性来讲,它相比传统BIOS可能还有所不如。首先UEFI的主程序和代码都整合在主板上的闪存芯片中 ,若是该芯片出现了故障,那么电脑就没法正常启动,这点与传统BIOS是基本相同的。
然而因为UEFI程序使用高级语言编写的,与使用汇编语言编写传统BIOS相比要更容易受到病毒的攻击,程序代码也更容易被改写,所以目前UEFI虽然已经被普遍使用,可是在安全性和稳定性上仍然有待提高。