【摘抄】
UEFI,全称Unified Extensible Firmware Interface,即“统一的可扩展固件接口”,是一种详细描述全新类型接口的标准,是适用于电脑的标准固件接口,旨在代替BIOS(基本输入/输出系统)。作为传统BIOS(Basic Input/Output System)的继任者,UEFI拥有前辈所不具备的诸多功能,比如图形化界面、多种多样的操作方式、允许植入硬件驱动等等。这些特性让UEFI相比于传统BIOS更加易用、更加多功能、更加方便。而Windows 8在发布之初就对外宣布全面支持UEFI,这也促使了众多主板厂商纷纷转投UEFI,并将此作为主板的标准配置之一。
UEFI抛去了传统BIOS需要长时间自检的问题,让硬件初始化以及引导系统变得简洁快速。换种方式说,UEFI已经把电脑的BIOS变得不像是BIOS,而是一个小型固化在主板上的操作系统一样,加上UEFI本身的开发语言已经从汇编转变成C语言,高级语言的加入让厂商深度开发UEFI变为可能。
UEFI的特点
- 通过保护预启动或预引导进程,抵御bootkit攻击,从而提高安全性。
- 缩短了启动时间和从休眠状态恢复的时间。
- 支持容量超过2.2 TB的驱动器。
- 支持64位的现代固件设备驱动程序,系统在启动过程中可以使用它们来对超过172亿GB的内存进行寻址。
- UEFI硬件可与BIOS结合使用。
BIOS和UEFI的区别
- 首先,UEFI已具备文件系统的支持,它能够直接读取FAT分区中的文件,直白点说就是把硬盘上的数据以文件的形式呈现给用户。Fat32、NTFS都是常见的文件系统类型。
- 其次,可开发出直接在UEFI下运行的应用程序,这类程序文件通常以efi结尾。既然UEFI可以直接识别FAT分区中的文件,又有可直接在其中运行的应用程序。那么完全可以将Windows安装程序做成efi类型应用程序,然后把它放到任意fat分区中直接运行即可,如此一来安装Windows操作系统这件过去看上去稍微有点复杂的事情突然就变非常简单了,就像在Windows下打开QQ一样简单。而事实上,也就是这么一回事。
- 最后,要知道这些都是BIOS做不到的。因为BIOS下启动操作系统之前,必须从硬盘上指定扇区读取系统启动代码(包含在主引导记录中),然后从活动分区中引导启动操作系统。对扇区的操作远比不上对分区中文件的操作更直观更简单,所以在BIOS下引导安装Windows操作系统,我们不得不使用一些工具对设备进行配置以达到启动要求。而在UEFI下,这些统统都不需要,不再需要主引导记录,不再需要活动分区,不需要任何工具,只要复制安装文件到一个FAT32(主)分区/U盘中,然后从这个分区/U盘启动,安装Windows就是这么简单。
UEFI启动对比BIOS启动的优势:
第一:安全性更强
UEFI启动需要一个独立的分区,它将系统启动文件和操作系统本身隔离,可以更好的保护系统的启动。即使系统启动出错需要重新配置,我们只要简单对启动分区重新进行配置即可。而且,对于win8系统,它利用UEFI安全启动以及固件中存储的证书与平台固件之间创建一个信任源,可以确保在加载操作系统之前,近能够执行已签名并获得认证的“已知安全”代码和启动加载程序,可以防止用户在根路径中执行恶意代码。
第二:启动配置更灵活
EFI启动和GRUB启动类似,在启动的时候可以调用EFIShell,在此可以加载指定硬件驱动,选择启动文件。比如默认启动失败,在EFIShell加载U盘上的启动文件继续启动系统。
第三:支持容量更大
传统的BIOS启动由于MBR的限制,默认是无法引导超过2.1TB以上的硬盘的。随着硬盘价格的不断走低,2.1TB以上的硬盘会逐渐普及,因此UEFI启动也是今后主流的启动方式。
Secure Boot是如何工作的
如今新的Windows PC都是带有UEFI固件的,而且也开启了Secure Boot功能。默认情况下,UEFI固件只会加载那些被签名的引导程序。这个功能被称为“Secure Boot” 或“Trusted Boot”。在缺少Secure Boot功能的传统PC机上,恶意的后门程序可以加载自身,进而摇身一变伪装成一个引导程序。这样的话,BIOS就会在启动的时候加载后门程序,这样它就可以躲过操作系统,把自己隐藏得很深。Secure Boot可以拒绝引导那些未被UEFI秘钥签名的操作系统,换句话说,只有微软认证的软件才可以被引导。
微软授权给PC厂商允许用户关闭Secure Boot功能,所以你还是可以关闭它的,或者在UEFI增加自定义的公钥绕开这个限制。
安装Linux的几种方法
在支持Secure Boot的电脑上,你可以用以下几种方法来安装Linux:
- 选择一个支持Secure Boot的Linux版本:较新的Ubuntu,从12.04.2 LTS和12.10开始,都可以正常被引导和安装在有Secure Boot功能的PC机中。这是因为Ubuntu的第一阶段EFI引导程序是被微软签名认证过的。然而,有Ubuntu开发者指出,Ubuntu的引导程序并没有用这个key进行签名,而是使用了微软“推荐”的一个简单的key。这意味着Ubuntu可能不能在所有的UEFI机器上运行,用户可能还是得把Secure Boot关掉。
- 关闭Secure Boot:Secure Boot是可以被关闭的,代价是这会丧失认证功能,使得你的电脑可以引导任何程序,这和传统的BIOS PC机没有任何区别。如果你想安装那些本身不支持Secure Boot的Windows版本,比如Windows 7,那么你也得关闭它。
- 往UEFI固件增加一个公钥:某些Linux发型版可能会用它们自己的秘钥对引导程序进行签名,但是这些对应的公钥并没有加入到你的UEFI固件中。这种情况现在来说并不常见。