双启动 Windows 10-Ubuntu - Grub、os-prober 未检测到 Windows 10 分区

双启动 Windows 10-Ubuntu - Grub、os-prober 未检测到 Windows 10 分区

我的 Dell XPS 9560 在前一台主板坏了之后得到了保修更换。取出新设备上的 HDD,并将其替换为旧设备上的 SSD。过去,当更换硬盘时,如果计算机无法启动到 grub,我只需启动到 Ubuntu Live USB 并运行启动修复。它会检测所有操作系统并修复 grub 等。但是这次它只检测 SSD 上的 Ubuntu 分区,而不是 Windows 分区。 os-prober 什么也不返回。我可以从 Ubuntu 很好地挂载、读取和写入 Windows 分区。由于我过去只是使用过引导修复,因此我对 EFI、grub、引导标志/所需分区等非常不熟悉。以下是 fdisk -l 的输出:

Device          Start        End   Sectors   Size Type
/dev/sdb1        2048      34815     32768    16M Microsoft reserved
/dev/sdb2       34816  748181142 748146327 356.8G Microsoft basic data
/dev/sdb3   748181504  749150207    968704   473M Windows recovery environment
/dev/sdb4   749152256  750200831   1048576   512M EFI System
/dev/sdb5   750200832 1448673279 698472448 333.1G Linux filesystem
/dev/sdb6  1448673280 1465147391  16474112   7.9G Linux swap
/dev/sdb7   749150208  749152255      2048     1M BIOS boot

Partition table entries are not in disk order.

答案1

忘记了os-prober,添加静态 grub 条目/etc/grub/40_custom

menuentry 'Windows 10' -class windows {
    search --fs-uuid --no-floppy --set=root XXXX-XXX
    chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

将 XXXX-XXXX 替换为从(EFI 系统)找到的UUID(不是)PARTUUIDblkid /dev/sdb4

答案2

尝试以下方法之一:

  1. 从现场 CD 运行“sudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb
  2. 从 Microsoft Windows iso 映像运行,“假设是 Windows 7”,转到 rapir 并进入 CMD 并运行此命令。 x:\source\bootrec /fixboot

问候, 马哈茂德·谢哈布

相关内容