GPT引导系统的方式与MBR不同,要处理最重要的系统引导,上网查找了好多办法,实践后并不能完美地在32位PE上使用。故本文所使用的PE是U盘装机助理的64位Win8 PE,安装的系统以目前常用的64位Windows 7为例。
VMware Workstation虚拟机要模拟UEFI的话,创建完虚拟机后,到虚拟机目录下找到要模拟UEFI的虚拟机。找到后缀名为vmx的文件,用记事本打开,增加一行内容为firmware = “efi”即可。
其实若直接引导启动Windows原版镜像安装系统的话,UEFI引导、GPT分区表、4K对齐都会自动处理好。但要引导启动原版镜像,得将iso原版镜像文件刻盘或写入到U盘后进行引导才行。本文旨在PE下安装系统,相信大多数人不会选择速度较慢的光盘来安装系统,同时也相信大多数人没有在U盘里写入了Windows原版镜像。
另外,需要注意的是,UEFI并不支持DOS。传统DOS工具不能在UEFI下使用,即一键还原也基本做不了。所以,系统的备份与恢复,目前貌似只能进PE手动操作。
实现UEFI启动的四大条件:
1、支持UEFI启动的主板:主板若支持UEFI的话,一般也会默认开启。支持i3/i5/i7的机子基本上使用UEFI不是什么问题,较老的G31/G41部分主板也支持UEFI,2010年后的主板基本都支持UEFI。自带Win8系统的设备,要换系统则需关闭Secure Boot,具体见第三章。
2、64位NT6内核操作系统:Windows Vista/7/8/8.1/10均为NT6内核,但要使用UEFI的话则需要64位系统才支持。(部分32位Win8设备使用了UEFI,此乃特殊现象。)
3、GPT分区表:有人会说UEFI支持MBR分区表,的确,但无多大意义。GPT分区表只在硬盘容量大于2T时才有必要使用,使用了GPT分区表,要引导里面的系统则才需要UEFI。若安装系统的硬盘容量小于2T,则没必要折腾UEFI,直接用BIOS+MBR模式就好。MBR分区表要UEFI启动,同样需要GPT(UEFI)引导文件。若MBR没GPT(UEFI)引导的引导文件,UEFI只能以Legacy模式(传统模式)启动,效果同BIOS+MBR;这已经不是UEFI启动了,要是关闭了CSM就根本启动不了。
4、FAT分区:在GPT分区表里,其实也就是ESP分区;MBR要UEFI启动,也需一个FAT分区。UEFI启动引导系统的方法是查找硬盘分区中第一个FAT分区内的引导文件进行系统引导,这里并无指定分区表格式,但FAT分区必备。
分区还是用PE下最常用的DiskGenius,可直接使用“快速分区”功能对硬盘进行分区。分区表类型选择GUID,勾选建立ESP分区。ESP分区非常重要,用于存放系统引导文件。测试发现,如果不创建ESP分区会导致系统无法引导。这里不扯动态磁盘,就不讲MSR分区,但可以建立。建议勾选“对齐分区到此扇区数的整数倍”,这涉及到硬盘的4K对齐,对固态硬盘和新技术的机械硬盘非常重要,可以设置为2048扇区。分区数目和容量便根据自己需要去调整就好。(若是MBR分区表,则直接创建一个100MB的FAT32分区即可,并作为主分区和活动分区。系统分区也可作为主分区,但不可作为活动分区。)
分区完毕后,若DiskGenius没有为ESP分区分配盘符的话,则右键ESP分区,指派新的驱动器号即可。ESP分区默认是隐藏的,进入系统会自动隐藏。
同时也可整理下其他分区的盘符,这里设定ESP的盘符为I,系统分区为C。
1、使用WinNTSetup安装系统(仅支持wim格式的系统包)
使用WinNTSetup安装系统,会顺便处理系统引导,安装完成后无需再次处理引导。
打开WinNTSetup,顶端选择第二个(Windows Vista/7/8/2008/2012)。选择好wim镜像,引导磁盘的位置则是ESP分区,安装磁盘的位置则是系统分区。选择好版本,可勾选“破解uxtheme.dll以支持使用第三方主题”。
点击开始安装,引导扇区选择使用Bootsect.exe更新引导代码。确认安装文件、引导驱动器、安装驱动器是否正确。点击确定,系统便开始安装。系统安装完成后,WinNTSetup会顺带处理好引导。在32位PE下实机测试,偶尔进度条走到最后会出现软件卡死,即不能创建引导,具体原因不明。
2、使用Ghost或Easy Image X安装系统
有人喜欢用Ghost安装系统,那么系统安装完成后还需处理引导,系统才可使用。所以Ghost安装系统走到最后,就不要重启了,点Continue退出Ghost。
同样,Easy Image X也不支持处理UEFI引导。镜像恢复完成后,还需处理引导才行。
安装好系统后,系统能不能进入全靠这一步了。WinNTSetup安装系统后会顺带处理好引导,而Ghost、Easy Image X、Win$Man则都不行。要处理好引导也不难,只需一道cmd命令即可。但此cmd命令只能在64位PE下使用,32位PE不行。网上的命令均不能很好地处理UEFI引导,所以我增加了参数,使其可以稳定使用。命令为:bcdboot X:\Windows /l zh-cn /f UEFI /s Y:,其中X为系统分区的盘符,Y为ESP分区的盘符,根据需要进行替换。假设系统分区的盘符为C,ESP分区的盘符为I,则命令需写成bcdboot C:\Windows /l zh-cn /f UEFI /s I:。运行完命令后,UEFI引导便处理好了。
其实也可以打开ESP分区看看,内有EFI文件夹,里面便是UEFI引导所需的文件。如果是使用WinNTSetup的话,可能还带有Boot文件夹和bootmgr文件,这是MBR启动所需的,这里不需要使用,可以删除。
重启进入BIOS,设置第一启动项为Windows Boot Manager,保存重启即可进入系统。
若硬盘本身有资料,那么便不能用“快速分区”。手工建立ESP分区如下图,文件系统类型用EFI,分区大小100MB就足够使用,需要4K对齐的话就勾选“对齐到下列扇区数的整数倍”。
另外,DiskGenius支持无损将MBR分区表转换为GPT分区表,但需要专业版的DiskGenius。(硬盘→转换分区表类型为GUID格式)