一、什么是GPT+UEFI?
既然(UEFI+GPT)是“新”技术,那么就必然有较旧技术(BIOS+MBR)更先进、更NB的地方。到底NB在哪里呢?下面来简单比较一下:
GPT及其优势
GPT和MBR是两种不同的分区方案。目前在Windows下广泛采用的磁盘分区方案仍然是MBR分区结构,但不容怀疑GPT是今后的趋势。我们可将MBR磁盘分区结构用下图简单表示(Windows下基本磁盘、4个主分区):
逻辑块地址(LBA):
为了方便计算机访问硬盘,把硬盘上的空间划分成许许多多的区块(英文叫sectors,即扇区),然后给每个区块分配一个地址。
在MBR磁盘的第一个扇区内保存着启动代码和硬盘分区表。
启动代码的作用是指引计算机从活动分区引导启动操作系统(BIOS下启动操作系统的方式)
分区表的作用是记录硬盘的分区信息。
在MBR中,分区表的大小是固定的,一共可容纳4个主分区信息。
在MBR分区表中逻辑块地址采用32位二进制数表示,因此一共可表示2^32(2的32次方)个逻辑块地址。如果一个扇区大小为2^9=512B字节,也就是2^32*2^9=2^41那么硬盘最大分区容量仅为2TB。
(1TB=1024(2^10)GB=1024*1024(2^20)MB=1024*1024*1024(2^30)KB=1024*1024*1024*1024(2^40)B)
GPT磁盘分区结构可用下图简单表示(Windows下基本磁盘):
GPT分区结构
可以看到,在GTP磁盘的第一个数据块中同样有一个与MBR(主引导记录)类似的标记,叫做PMBR。PMBR的作用是,当使用不支持GPT的分区工具时,整个硬盘将显示为一个受保护的分区,以防止分区表及硬盘数据遭到破坏。UEFI并不从PMBR中获取GPT磁盘的分区信息,它有自己的分区表,即GPT分区表。
GPT的分区方案之所以比MBR更先进,是因为在GPT分区表头中可自定义分区数量的最大值,也就是说GPT分区表的大小不是固定的。在Windows中,微软设定GPT磁盘最大分区数量为128个。另外,GPT分区方案中逻辑块地址(LBA)采用64位二进制数表示,可以计算一下2^64是一个多么庞大的数据,以我们的需求来讲完全有理由认为这个大小约等于无限。除此之外,GPT分区方案在硬盘的末端还有一个备份分区表,保证了分区信息不容易丢失。
Windows操作系统对GPT磁盘的支持
因为BIOS无法识别GPT分区,所以BIOS下GPT磁盘不能用于启动操作系统,在操作系统提供支持的情况下可用于数据存储。
UEFI可同时识别MBR分区和GPT分区,因此UEFI下,MBR磁盘和GPT磁盘都可用于启动操作系统和数据存储。不过微软限制,UEFI下使用Windows安装程序安装操作系统时只能将系统安装在GPT磁盘中。
下表列出了Windows各版本操作系统对GPT磁盘的支持程度:
32位Windows对GPT分区支持情况
64位Windows对GPT分区支持情况
UEFI及其优势
UEFI是BIOS的一种升级替代方案。关于BIOS和UEFI二者的比较,网络上已经有很多相关的文章,这里不再赘述,仅从系统启动原理方面来做比较。UEFI之所以比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下安装Windows7、8的方法。
二、切换到UEFI启动,准备安装介质
如果只单纯比较UEFI引导和BIOS引导,那么毫无疑问UEFI引导要简单很多。不过现在的主板大都是同时兼容BIOS和UEFI引导方式,所以在实际操作前还需要确认一些东西。详见下文。
1、我的电脑支不支持UEFI启动?
要通过UEFI方式启动Windows7/8,电脑需要支持UEFI启动。预装Win8的电脑都支持UEFI启动。近两年的主板很多也都支持UEFI启动。开机出现品牌标识按F2(或者DEL、ESC等按键,不通品牌按键不通)进入BIOS/UEFI设置,在Boot项或类似项中查看有无EFI/UEFI相关选项,如果有,那么说明电脑支持UEFI启动。下图是联想Y480UEFI选项:
联想Y480 UEFI引导选项
2、想要UEFI启动,我该选择安装什么操作系统?
目前几乎所有支持UEFI的个人电脑都是64位UEFI系统,仅支持64位Vista、64位Win7以及64位Win8/8.1。所以你只能从这几个操作系统中选择。切记,只有原版镜像支持光盘UEFI启动,一定要选择下载微软原版系统!建议选择的版本:不管是Win7、Win8或Win8.1,都建议选择专业版;激活都选择KMS激活方式。
提示:已经下载了Win7旗舰版镜像的朋友,如采用U盘安装或从硬盘引导安装(后面会讲到),在准备好安装介质后只需要删除sources文件夹下面的ei.cfg文件即可选择安装除企业版之外任意版本,包括专业版。
3、预装Win8的电脑想要安装64位Win7、Vista需关闭安全启动,并开启CSM
具体选项:
① 某些预装Win8的电脑有名为OS Optimized Defaults的设置选项,需要将这个选项设置为Disabled。
② 找到类似“Boot mode”或者“UEFI/Legacy Boot”设置项,将其设置为“UEFI”或类似选项。
③ 如果能找到“Lunch CSM”或类似选项,将其设为“Enabled”,即开启状态。
④ 找到“Secure Boot”或类似选项,将其设为 “Disabled”,即关闭状态。不关闭安全启动,无法安装Win8之外的操作系统。
详细教程:《预装64位Win8/8.1电脑安装64位Win7详细过程(单/双系统)》
4、(非安装双系统跳过此步)为将要安装的操作系统开辟新的分区
如果想要在现有系统基础上再安装一个操作系统组成双系统,首先你现有的系统必须为UEFI+GPT引导(例如,预装Win8系统),否则只能在安装过程中删除硬盘所有数据自动完成转换。
确定是否为GPT分区:打开磁盘管理,找到硬盘0,然后右键点击。如果有灰色选项“转换成MBR磁盘”则说明硬盘为GPT分区,如下图①所示,并且系统一定为UEFI引导。
开辟新分区的方法:打开磁盘管理,在剩余空间较大的分区上右键点击,选择”压缩”,如下图2所示。然后输入合适的大小压缩即可(推荐不小于50G)。
查看硬盘分区结构 & 压缩分区空间
5、准备安装介质
有三种选择:
一、可以将微软原版64为Win7镜像、64位Win8镜像直接刻入光盘,从光盘启动安装。
二、可以准备一个容量不小于4G的U盘,格式化为FAT32,然后复制64为Win7镜像或64位Win8镜像中的所有文件到U盘根目录,文件结构如下图①所示。如果安装的是64位Win7,还需要下载bootx64.efi文件(点击下载),然后在U盘中efi文件夹下新建名为boot的文件夹,把bootx64.efi文件放到里边。如下图②所示。
启动介质中文件结构
三、也可以在电脑硬盘或者移动硬盘(都必须为GPT分区)任意位置压缩出一个分区(大小在4G~30G之间),格式化为FAT32,然后参考上一条复制文件即可。
特别提示:如果下载的是Win7旗舰版,想要安装专业版,只需在准备好安装介质后删掉sources目录中的ei.cfg文件即可选择安装除企业版之外的任意版本,包括专业版。
三、UEFI引导安装64位Win7/Win8
下文是在联想Y480笔记本上以UEFI方式启动安装Windows8的全过程,安装Windows7过程基本相同。注意,如果你的电脑硬盘是MBR分区结构,安装过程中将要删除硬盘上所有数据,请安装前备份硬盘上的所有个人文件。
准备容量不小于4G的 U盘一个,格式化为FAT32。然后复制64位Win8镜像中的所有文件到U盘根目录。注:如果安装的是64位Win7,还需要下载bootx64.efi文件(点击下载),然后在U盘中efi文件夹下新建名为boot的文件夹,把bootx64.efi文件放到里边。预装Win8/8.1电脑安装Win7还需要更改几个BIOS设置,相关准备工作请参考《UEFI+GPT引导准备篇:切换到UEFI启动,准备安装介质》或参考专门针对此情况的完整教程《预装64位Win8/8.1电脑安装64位Win7详细过程(单/双系统)》。
重启电脑,出现联想标识时按F2打开BIOS设置界面,切换到“boot”设置界面将UEFI Boot设置项设置为“Enable”,这样就开启了UEFI。按F10键,保存设置。
重启,在出现联想标识时按F12键,此时出现启动设备选择界面,我们可以看到这里有两个USB设备。图中被选中的名称前面可以看到“EFI”字样,这就表示该设备是可以EFI引导的设备。我们就需要选择这一项。
选中图中的选项后,电脑会开始加载Windows预安装环境文件。(注:小编实际操作时安装的是64位 Win7,但是手机拍下来的图很不清晰,所以就在虚拟机中在UEFI模式下安装了64位Win8,二者无区别)
稍等出现下面的界面,默认即可。
上图:点下一步
上图:点“现在安装”
上图:这里选择“自定义”,进入分区选择界面。如果你的电脑硬盘已经为GPT分区结构,那么直接选择目标分区,将其格式化,然后选中点下一步即可。下面是硬盘位MBR分区结构的情况:
上图:如果你的电脑硬盘为MBR分区结构,那么会看到“无法在驱动器 X 的分区 x 上安装Windows”的提示,这时候需要点击“驱动器选项(高级)”,然后删除硬盘上所有的分区使得整个硬盘变成一块未分配空间。提示:在这一步你也可以按Shift+F10或者Shift+Fn+F10调出命令提示符窗口,然后借助diskpart工具将硬盘转换为GPT分区。命令详见《Diskpart工具应用两则:MBR/GPT分区转换 & 基本/动态磁盘转换》。
上图:整个硬盘已成为一块未分配空间。点击“新建”,输入想要为系统安装分区分配的空间大小(推荐不小于50G),点击“应用”。
上图:此时提示将创建额外的分区,点击“确定”。之后安装程序会自动将硬盘转换为GPT分区。创建完成后你将看到四个创建好的分区,如下图所示。关于这些分区的作用详见《用于引导Windows的GPT磁盘(预装Win8电脑)各分区作用详解》
选择第一个主分区,然后点“下一步”就开始安装了。之后根据提示操作即可完成系统安装。
后记
实际上只有遵循UEFI规范的主板才能按照efi/boot/bootx64.efi路径启动Windows安装程序,大多数主板都是遵循这一规范的。如果不遵循这一规范,那么你需要手动选择从该文件启动,或者需要在UEFI Shell中以命令的方式启动bootx64.efi。关于这些后面会有文章来详解。另外关于预装Win8电脑改装Win7或者安装Win8+Win7双系统都会有专门教程。