感谢IT之家网友 Happymax12 的原创投稿
上次看到了一篇关于使用Win10 build 15063自带的工具将传统BIOS引导转换为UEFI引导的文章,然而此工具只存在在build 15063及以上版本中,虽然可以提取并运行在Win7/8上(没有经过转换实验,只是可以运行),但Win2008/Vista下无法运行,而且无法按照需要自定义分区规划。这在比如我们想要安装多个包含非Windows系统(比如Linux、运用Clover等启动器安装的macOS)时就变得很不方便。本文就向大家介绍一步一步将BIOS启动的Windows转换为UEFI启动的方法。
本教程适用于:
Windows Vista/7/2008/2008R2/2011 x64;Windows 8/8.1/10 x86 & x64;Windows Server 2012/2012 R2/2016 x64。
首先应当确保你的BIOS支持UEFI引导,否则可能需要第三方启动器才能模拟UEFI模式并引导Windows。这种情况本教程不做讨论。
要查看自己的BIOS是否是UEFI BIOS:
1. 多数UEFI BIOS在设置界面会说明这是UEFI BIOS,或者有类似标题;
2. 出厂时预装Windows 8/8.1/10的电脑;
3. 基于Intel处理器的Apple电脑均使用EFI BIOS,与UEFI稍有区别,但类似;较早的Mac有模拟BIOS模式,情况可能稍有不同;
4. BIOS启动菜单里有EFI Shell/Shell的
5. 05年之后的基于x86的主板开始有支持UEFI的型号,08-10之后基本普及了。
注:有些主板UEFI较特殊,或版本比较奇怪/老,比如我的笔记本电脑UEFI启动Win7时无法出现动画、我也见过一块搭载Atom D2550的主板虽然支持UEFI但无法按正常的方式UEFI启动Windows;没有CSM兼容模式的主板不能UEFI启动Windows vista/7/2008/2008R2/2011,也有的无法UEFI启动32位Win8/8.1/10。
我们需要一个支持无损GPT(GUID)和MBR分区表转换的第三方分区管理软件,比如分区助手或者DiskGenius(免费版不支持)。
然后需要一个支持UEFI启动的PE启动盘,推荐基于64位Win8.x/10的(因为它们原生包含bcdboot)。
首先来观察一下当前的分区情况,使用你安装的第三方分区软件或是diskpart命令行工具都可以;自带的磁盘管理有的分区并不会显示(比如MSR),所以不推荐。
要使用diskpart查看,首先按下Windows键+R打开运行,输入diskpart回车。如果弹出用户账户控制,则点“继续”或“是”。在弹出的窗口中依次输入命令:
list disk
作用:列出所有磁盘。
sel disk <你要操作的磁盘序号>
作用:选中你要操作的磁盘,如果有多个硬盘可以根据容量判断,这里disk 0是我要操作的磁盘。
list part
作用:列出已选中磁盘上的所有分区。
可以看出这个磁盘上只有一个主分区,里面存储了Windows操作系统,分区表为MBR(GPT一栏下什么也没写)。还有一种可能就是另有一个100MB左右的保留分区。这些都是正常情况。
准备工作就绪后,重启进入Windows PE,打开你准备使用的第三方分区软件。
对于分区助手,右键单击要操作的硬盘(是硬盘不是分区)-转换到GPT磁盘-确定-是-提交-执行-是;
对于DiskGenius,右键单击要操作的硬盘(是硬盘不是分区)-转换分区表类型为GUID格式-确定-保存修改-是。
有些软件(比如分区助手)在执行转换时会自动加入一个ESP分区,一般添加在磁盘末端,如果觉得对于自动分配的懒得修改,那么稍后手动创建ESP的步骤就可以略过;如果觉得默认分配的ESP位置不好或大小欠妥,那么在转换完成后应当删除这个ESP分区并把空间合并回去。
接下来,如果你的硬盘上有100MB保留分区,则将它删除。
现在来建立ESP分区
利用第三方分区软件在硬盘前端(一般习惯于把这类分区放在硬盘开头处,放在其它地方其实也不影响)分割出一个未分配空间,大小方面,如果只运行Windows或Windows+Linux则建议100MB,如果想要运行其它操作系统,尤其是macOS(别问我PC怎么跑macOS),那么ESP分区必须大于,大于,大于200MB,重要的事情说三遍。
对于分区助手,右键单击要分割空间的分区(这次是分区不是硬盘)-调整/移动分区-调整好分区前未分配空间-确定-提交-执行-是,
对于DiskGenius,右键单击要分隔空间的分区(这次是分区不是硬盘)-调整分区大小-调整好分区前未分配空间-开始-是。
接下来这些第三方工具的使命就结束了。
开始-运行-输入cmd回车,又到了敲命令的时间
diskpart
作用:打开diskpart。
list disk
作用:列出所有磁盘。
sel disk <你要操作的磁盘序号>
作用:选中你要操作的磁盘,如果有多个硬盘可以根据容量判断,这里disk 0是我要操作的磁盘。
create part efi
作用:按默认创建一个esp分区,默认占据你之前分配的空闲空间上。
format fs=FAT32
作用:格式化这个新的ESP分区,格式化为FAT32。
ass
作用:给这个ESP分区分配盘符。
exit
作用:退出diskpart。
这样就完成了ESP分区的建立和挂载
注意:你可能会发现我并没有建立MSR分区。MSR分区一般情况下是可有可无的,但是有时会需要(比如转换为动态磁盘时),如果需要,则处理完之后再按之前的步骤分出空闲空间(建议放在ESP后),在diskpart中建立分区时改为输入以下命令:
create part msr
作用:按默认创建一个MSR分区,默认占据你之前分配的空闲空间上。
然后不需要输入format命令格式化,也不需要输入ass命令挂载,其它步骤一样。
接下来打开计算机/这台电脑/此电脑窗口,查看新的ESP分区的盘符和你的Windows操作系统所在盘符。
如图是我刚建立的ESP分区的属性:
继续输入:
bcdboot
:\Windows /s /f uefi
打开ESP分区看看,里面是不是多了些文件:
重启进入BIOS,虚拟机则是进入虚拟机设置,修改为UEFI启动。如果操作系统是Windows 8.x/10和其他非Windows操作系统,则禁用CSM(如果稍后无法启动则重新打开CSM兼容模式);如果使用了64位Windows Vista/7以及对于不原生支持UEFI32的主板下的32位Windows 8.x/10,则需要开启CSM兼容模式;如果使用了Windows 8.x/10且没有其他系统,建议开启Secure Boot安全启动(有的是将安全启动选项设置为“Windows UEFI模式”)。
再次重启,不出意外就可以进入UEFI引导的Windows了。
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。