将 Windows 分区表由 MBR 改为 GPT

在全新安装的 Windows 10 和 11 上,安装程序会自动在磁盘上创建好 ESP、MSR、系统分区和 Windows Recovery 分区。而如果系统是从较旧的版本升级而来,可能会一直保持最初安装系统时的 MBR 分区表。虽然这并不影响使用,但让强迫症患者非常难受。本文将介绍一种无需重装系统的,将 Windows 分区表由 MBR 改为 GPT 的方法。

准备工作

虽然不用重装,但本文中的一个步骤需要在 Windows PE 环境下进行,因此需要准备一个 Windows PE 启动盘。笔者推荐使用 WePE 或者优启通。

转换分区表

这一步可以使用硬盘分区软件 DiskGenius。打开 DiskGenius,默认会有系统保留和系统分区两个分区。

MBR分区表

选中系统盘,在 DiskGenius 的「磁盘」菜单下,选择「转换分区表类型为 GUID 格式」。然后,选中「系统保留」分区,点击「删除分区」。

删除「系统保留」分区

随后,在「分区」菜单下,选择「建立 ESP/MSR 分区」,参数使用默认值即可。

新建的 ESP/MSR 分区会占据原先「系统保留」分区的位置。如果「系统保留」分区空间很小,ESP 分区可能会放不下。在这种情况下,就需要先压缩一下系统分区的大小,从系统分区前面腾出大约 300M 空间即可。

建立ESP/MSR分区

完成后,点击「保存更改」。这时硬盘的分区表就是 GPT 了。

保存GPT分区表

不过仅仅转换分区表还是不够的,此时系统还不能引导,如果重启就进不了系统了。

重建 Windows 引导

重启后,使用 Windows PE 启动盘进入 Windows PE 环境。我们需要把 Windows Boot Manager 放到新建的 ESP 分区里面。需要用到的命令是 bcdboot。先给 ESP 分区分配一个盘符,例如 X:;而系统盘盘符默认是 C:(如果不是则对应修改);那么打开命令行,执行以下命令

1
bcdboot C:\Windows /s X: /f UEFI

完成后,再次重启就可以正常进入 Windows 了。

重建 Windows Recovery 分区

按照前面的方法转换分区表后,还并不会有 Windows Recovery 分区。这时,启动恢复模式所需的文件会存放在 C 盘的 Recovery 目录下。下面介绍重建 Windows Recovery 分区的方法。

我们仍然使用 Disk Genius 软件。Windows Recovery 分区可以放在系统分区的后面,如果系统分区后面没有空间了,我们就先使用分区工具调整系统分区的大小,将该分区后面的一部分空间压缩出来,腾出大约 800M 就行。

然后,在 Disk Genius 软件中创建一个新分区,文件系统类型选择「Windows recovery partition」。

以管理员权限打开 PowerShell,执行

1
reagentc /enable

即可激活 Windows Recovery 分区。如果这一步失败,可能原因是给 Windows Recovery 分区预留的空间大小不够,可以尝试进一步压缩系统分区的空间并重新操作。


参考文章:Rebuild the Recovery partition