一开始我想自己做,但是我找到的任何指南都不起作用。一开始这只是一个小问题,我所要做的就是在我的系统盘上创建一个efi分区,但是在过程中,我意识到我无法在 mbr 磁盘上执行此操作。所以,我意识到我需要将磁盘上的 mbr 更改为 gpt,Windows 所在的位置,但 mbr2gpt 说磁盘布局验证失败(所以我不知道转换将如何进行(也许不会))。我有驱动器,签名为系统一,但它是我最旧的硬盘(我认为因为它我才在这里(我应该在安装操作系统时断开它))。那么我可以将所有驱动器转换为gpt(包括操作系统1)(磁盘0 - 是hdd,其中系统分区是(我猜)磁盘3是m2,操作系统所在的位置)也许我可以以某种方式将系统分区移动到磁盘3,但我我不确定它会有所不同。
编辑:来自 mbr2gpt.exe 的 setuperr 日志错误“ValidateLayout:启动分区计数错误,预期为 1,但发现为 0。磁盘 3 的磁盘布局验证失败”
磁盘管理截图:
您似乎采用的是旧式安装(即 Windows XP 及更早版本所使用的安装),其中单个分区包含引导加载程序和操作系统。这对于 mbr2gpt 根本不起作用,因为它期望已经有带有 Bootmgr 的“Microsoft 保留分区”,它可以转换为 EFI 系统分区。如果我有很多时间,我会使用的方法是使用 Diskpart/Diskmgmt 将 C: 卷缩小约 500 MB,然后使用 Linux GParted 将其移动到右侧(在开始时创建间隙) – 移动1 TB 是慢速部分 – 然后在那里创建一个新的“Microsoft 保留分区”(可以使用 Diskpart 完成,存在 Microsoft 官方说明)并使用“bcdboot”填充它。这将为您留下 mbr2gpt 可能接受的标准外观的分区设置。
然而,在 HDD 上移动 1 TB 既缓慢又危险,因此您可以只在磁盘末尾创建 Microsoft 保留分区。EFI 不会介意这一点(并且由于它完全在 2TB 限制之内,BIOS 也不会介意)。不过,我不确定 mbr2gpt 是否可以,但值得一试 - 并且可以在 Windows 中完成:
bcdboot c:\windows /s X:
,其中 X 是该分区的新驱动器号。这将在那里安装 Bootmgr。重启看看是否有效。如果它启动,则 mbr2gpt 它。如果没有启动,将原始 C: 设置为“活动”(例如,从实时 USB)将返回到原始状态。实际上,只需 mbr2gpt 即可,无需重新启动。(附注:“Microsoft 保留分区”在 MBR 和 GPT 中的含义不同。在前者中,它大致相当于 EFI 系统分区;在后者中,它是一个约 16MB 的空间填充分区,根本不执行任何操作。)
如果 mbr2gpt 仍然拒绝,一种替代方法是使用“gdisk”工具仅进行分区表的转换(它主要是 Linux 工具,但我相信它也有 Windows 版本),然后使用 Windows 的 bcdboot.exe构建一个新的 EFI 系统分区。
这需要您手边有一个 Windows 安装 U 盘。
gdisk
在物理磁盘设备上运行。它会自动进行转换;只需使用w
保存并退出即可。/f UEFI
选项。