MBR2GPT 提示“启动分区数错误,预期为 1,但实际为 0”

MBR2GPT 提示“启动分区数错误,预期为 1,但实际为 0”

我不知道我的驱动器环境发生了什么,无法将 MBR 转换为 GPT,并mbr2gpt指出我没有启动分区:

Info    MBR2GPT was explicitly asked to run in full OS mode.
Info    MBR2GPT: Attempting to validate disk 0
Info    MBR2GPT: Retrieving layout of disk
Info    MBR2GPT: Initial partition information
Info    ===========================================================
Info    Partition layout for disk: 0
Info    Partition style          : MBR
Info    MBR signature: 3309446813
Info    Number of partitions     : 2
Info    ===================PARTITION===============================
Info         Number: 1
Info           Type: 7
Info           Boot: No
Info     Recognized: Yes
Info          Style: 0
Info         Offset: 1048576
Info         Length: 197003647488
Info         Volume: \\?\Volume{c542269d-0000-0000-0000-100000000000}\
Info          Drive: C:\
Info        NT Path: \Device\HardDisk0\Partition1
Info    ===================PARTITION===============================
Info         Number: 2
Info           Type: 7
Info           Boot: No
Info     Recognized: Yes
Info          Style: 0
Info         Offset: 197005410304
Info         Length: 315102330880
Info         Volume: \\?\Volume{c542269d-0000-0000-0000-70de2d000000}\
Info          Drive: D:\
Info        NT Path: \Device\HardDisk0\Partition2
Info    ===========================================================
Info    ESP partition size will be 104857600
Info    MBR2GPT: Validating layout, disk sector size is: 512 bytes
Error     ValidateLayout: Wrong boot partition count, expected 1 but found 0.
Error     Disk layout validation failed for disk 0

我在磁盘管理中检查了我的驱动器,其中磁盘 0 没有系统保留分区,但磁盘 2 有;我真的很困惑它是否是我在很久以前在其上安装系统时留下的:
截屏

有人能帮帮我吗?

答案1

它可能谈论的是EFI 系统分区(ESP),这是 GPT 磁盘上的 Windows 启动所必需的。为此,您需要缩小C:D:获得至少 100MiB,这是程序似乎期望的大小。(也许缩小Disk 2E:F:可以。不确定。)您可以右键单击磁盘管理中的分区来缩小它。

不知道是否需要您提前自己创建。如果需要,您可以尝试,但根据文档,这仅在磁盘已经是 GPT 磁盘时才有效(而 MS 文档通常不可靠)。如果这不起作用,您可以在例如“实时”Linux 上使用fdisk(和mkfs.fat) 来执行此操作。确保将类型代码设置为ef

我不确定这个程序运行得如何,所以我建议你缩小D:1M(再次使用磁盘管理,这可能是缩小 NTFS 格式分区的最安全、最好的方法)左右,这样当备份 GPT 写入磁盘末尾时,它不会对文件系统造成任何破坏D:

另请查看文档以防bcdboot程序没有为您在新创建的 ESP 上安装 UEFI 版本的 Windows 启动管理器。请确保您使用/f UEFI明确指定的版本,并在转换后重新启动之前安装该版本,因为 BIOS 版本(显然是 上的Disk 2)将无法再引导C:/上的安装Disk 0


编辑:也许您应该改为使用缩小后获得的空间diskpart创建一个主分区,并将其标记为并查看。如果仍然不起作用,请将其格式化为 NTFS 并使用(使用新分区的驱动器号作为 X)将 Windows 启动管理器的 BIOS 变体安装到其中,然后尝试通过传统启动而不是在 UEFI 启动菜单中重新启动。(但它们不会在那里显示。通过识别设备信息中的供应商/型号等,自己找出哪个是哪个。)Disk 0activebcdboot C:\Windows /f BIOS /s X:Disk 0Disk 2

您也可以简单地将bcdboot C:\Windows /f BIOS /s C:其标记C:为活动,尽管我不知道这个愚蠢的程序C:在这种情况下会做什么。

您可能还需要执行以下操作:

bootsect /nt60 X:
bootsect /nt60 X: /mbr

PS 如果您的主板有 BIOS 而不是 UEFI,请忘记将系统磁盘转换为 GPT 磁盘,因为您将永远无法使用 BIOS 启动 Windows-on-GPT。

相关内容