我的 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
(不是)PARTUUID
blkid /dev/sdb4
答案2
尝试以下方法之一:
- 从现场 CD 运行“sudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb
- 从 Microsoft Windows iso 映像运行,“假设是 Windows 7”,转到 rapir 并进入 CMD 并运行此命令。 x:\source\bootrec /fixboot
问候, 马哈茂德·谢哈布