UEFI启动模式

那么,什么是UEFI?下面谈谈个人片面的理解。

1.祖宗——BIOS

如果你不知道什么是BIOS,估计你还没有自己安装过系统。但是考虑到可能还是有一些人不清楚,我就费点口舌说一说,知道的童鞋可以直接看第二部分。

开机,按F2,出来一个蓝屏幕,就是我要说的BIOS了(不是所有主板都是F2,这里针对大部分笔记本电脑)。BIOS其实是一个软件,但是又和我们常说的软件不太一样,因为它在主板上的一个芯片里,而不像其他大多数软件一样在硬盘里。当计算机的电源键被按下的时候,电流会首先流入BIOS所在的芯片,唤醒BIOS。之后BIOS的工作就是检查CPU、内存等硬件是否正常,一切妥当后,就找到硬盘里的MBR准备启动系统。BIOS的功能就说到这里。
2.硬盘分区样式——MBR与GPT

上面出来一个新词——MBR,它的意思是主引导记录(Main Boot Record),其实就是驱动器最前端的一段引导扇区。据此,BIOS知道这个驱动器能否被引导以及怎样引导。MBR错误后,系统不能引导,需要在PE下修复,重要性可见一斑。

有人会说,这样不是挺好的吗?其实,MBR仅仅支持最大卷为2 TB,并且仅支持每个磁盘最多有4个主分区(或3个主分区,1个扩展分区和无限制的逻辑驱动器)的磁盘分区样式。有的人买了一块大硬盘,或者想多分几个区,那么对不起,MBR不支持。

于是,新的分区样式GPT呼之欲出。GPT磁盘分区样式支持最大卷为18 EB(这个单位很大了),并且每磁盘的分区数没有上限,只受到操作系统限制(IA-64版Windows限制最多有128个分区)。另外,GPT分区磁盘有备份分区表来提高分区数据结构的完整性。

现在,MBR与GPT也可以实现无损互转,这里我推荐国产*软件——傲梅分区助手,这是一个功能非常强大的分区软件,能实现很多对硬盘的无损操作。

警告:对硬盘的一切涉及分区的操作,都有极大的风险!请提前做好重要数据的备份!

3.新的引导方法——UEFI

有了新的分区样式,显然老的BIOS靠不住了(人家只认MBR)。于是,1998年,Intel牵头,联合AMD、AMI、Apple、Dell、HP、IBM、Lenovo、Microsoft和Phoenix等业界主要厂商,开始制定新一代BIOS。这个项目叫做"统一的可扩展固定接口"(Unified Extensible Firmware Interface),简称UEFI。

UEFI是一种详细描述全新类型接口的标准。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上,从而使开机程序化繁为简,节省时间。从2012年9月以来,电脑运行的已经不是BIOS,而是UEFI BIOS。等它运行结束,再载入操作系统。而想用老式MBR引导方法,则需要将UEFI BIOS里面的启动方式改为“Legency”才可以。

4.微软的小算盘——Secure Boot

(以下内容属个人意见,参考自http://bbs.taobao.com/catalog/thread/154503-260136140.htm

可以看出,UEFI是一个很先进的引导方法。但是1998年诞生的它,直到近几年才为人所知,为什么呢?其中很大原因就是微软的不积极。Windows是PC端的主流系统,如果它不使用UEFI,就没有硬件厂商会跟进。所以,普通消费者对这个新规格所知甚少。

变化出现在2011年9月,微软突然宣布:Windows 8将启用UEFI。这本来是一件好事,但是,微软感兴趣的不是UEFI,而是UEFI的一个子规格Secure Boot。

Secure Boot的目的,是防止恶意软件侵入。它的做法就是采用密钥。UEFI规定,主板出厂的时候,可以内置一些可靠的公钥。然后,任何想要在这块主板上加载的操作系统或者硬件驱动程序,都必须通过这些公钥的认证。也就是说,这些软件必须用对应的私钥签署过,否则主板拒绝加载。由于恶意软件不可能通过认证,因此就没有办法感染Boot。

这个设想是好的。但是,UEFI没规定哪些公钥是可靠的,也没规定谁负责颁发这些公钥,都留给硬件厂商自己决定。现在,微软就是要求,主板厂商内置Windows 8的公钥。

因此,消费者购买一台预装Windows 8的台式机或笔记本,想要在上面再安装其他操作系统(包括以前版本的Windows)是不可能的,除非关闭Secure Boot,或者其他操作系统能够通过Windows 8公钥的认证。这样,对于Linux 这种开源的无签名的系统就会直接阻止。但是,如果选择关闭Secure Root,那么预装的Windows 8将无法使用,需要重新安装。因此,如果要在打开Secure Boot的主板上安装Linux系统,这个系统就必须通过Windows 8的认证。


目前,微软公司把Win8的数字签名外包给了Verisign。操作系统厂商想要通过认证,就必须花99美元,向Verisign买一张数字证书,嵌入自家的操作系统。

Linux购买Windows 8的数字证书,是眼下唯一可行的相对容易的解决方法。但是,这种做法不可接受。首先,系统的公钥被微软控制,后果难以预料。如果微软决定更换和废除这个公钥,Linux就要*跟进;其次,Linux的启动管理器Grub是GPL许可证,该许可证(第三版)明文禁止软件使用密钥配合硬件阻止一部分用户的使用,因此要改用非GPL许可证的启动管理器;再次,只有几个较大的Linux发行版才有能力购买数字证书,较小的发行版和用户自己定制的版本最终还是需要有自己的公钥。

2012年将近结束的时候,*软件基金会(FSF)发出呼吁,要求人们继续支持反Secure Boot垄断,希望签名者能达到5万人。

这里只说了PC端,其实Secure Boot对移动设备的影响,比PC还要严重。这也是为什Windows Phone不能安装其他系统的一个重要原因。

5.UEFI BIOS安装系统须知

如果安装UEFI系统,首先确定计算机硬盘分区为GPT格式!还有,仅“安装版”可以用来安装UEFI系统(也就是说Ghost之类暂时还比较麻烦,UEFI除了系统分区外还需要ESP分区、恢复分区两个小分区,而现有GHOST版本的是没办法同时提供这两个小分区的)。最后,注意把引导介质设置为UEFI启动。

如果安装老MBR引导系统,首先确定计算机硬盘分区为MBR格式!这个很重要,千万不要在格式化C盘之后发现人家是GPT!之后,在UEFI BIOS改启动方法为“Legency”,按照熟悉的安装方法,Ghost或者安装程序,就可以开始安装了!

最后,Windows 7对UEFI的支持不是很好,虽然网上有许多方法,但本人建议不要在UEFI下安装。