修复 Windows 10 启动后无法将 Windows 10 添加到 grub

修复 Windows 10 启动后无法将 Windows 10 添加到 grub

我有一台带有 2 个 nvme 驱动器的新计算机。我最初在其中一个驱动器上安装了 Windows 10。没有注意到,但在安装过程中,Windows 10 将其 UEFI 分区放在了用于 Ubuntu 的磁盘中(而不是 Windows SSD 中)。我在第二个磁盘上安装了 Ubuntu(使用 zfs)。正如预期的那样,这种安装类型会清除 Windows UEFI 分区。我能够修复 Windows 10 启动,并且我可以通过从 bios 启动菜单中选择 Windows 磁盘或使用efibootmgr-n并选择 Windows 分区。我无法将 Windows 添加到 grub。操作系统探测器没有检测到 Windows 分区。然后我手动编辑了/etc/grub.d/40_custom文件如下:

menuentry "Windows 10" --class windows --class os {
   insmod ntfs
   insmod chain
   insmod search_fs_uuid
   search --no-floppy --set=root --fs-uuid D474C38D74C370B2
#   ntldr /bootmgr
#   chainloader /bootmgr
    chainloader +1
}

在 grub 救援外壳中测试时,到最后一行为止的所有内容都被验证是正确的。

如果我用启动管理器然后 grub 抱怨它找不到 ntldr。上面列出的 chainloader 行都不起作用。有什么想法可以修复。

答案1

我所要做的就是使用此链接将 Windows 从 mbr 转换为 gpt [https://www.maketecheasier.com/convert-legacy-bios-uefi-windows10/]1

然后运行 ​​update-grub。我没有丢失主 Windows 分区中的任何文件或设置,但我的恢复分区 WinRE 已损坏。

相关内容