我正在尝试解决无法启动 Windows 的原因。
中的相关条目grub.cfg
是:
### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Boot Manager (on /dev/sda3)' --class windows --class os $menuentry_id_option 'osprober-efi-BC6E-0415' {
insmod part_gpt
insmod fat
set root='hd0,gpt3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3 BC6E-0415
else
search --no-floppy --fs-uuid --set=root BC6E-0415
fi
chainloader /efi/Microsoft/Boot/bootmgfw.efi
}
据我所知,这里的一切都是正确的:
/dev/disk/by-uuid/BC6E-0415
确实是 Windows 启动管理器分区。
然而,我对引用感到有点困惑,(hd0,gpt3)
因为这是完全不同的物理磁盘上完全不同的分区。hd0
是安装 grub 的磁盘(如果相关的话)。
当我尝试启动 Windows 时收到的实际错误是:
error: no such device: BC6E-0415
error: file `/efi/Microsoft/Boot/bootmgfw.efi' not found
我确实注意到,在 grub 中,如果我进入 grub 命令提示符并执行ls
,我看到列出的唯一硬盘是hd0
当我的系统实际上有 4 个硬盘时。正如我上面提到的,hd0
是装有 grub 和我的 Linux 安装的硬盘。
所以我想我的问题可能是:为什么当我启动到 grub 时,除了 grub 所在的一个硬盘之外,grub 无法看到任何硬盘?
如果我启动到 Linux (Ubuntu 20.04.1),我可以很好地看到我的所有硬盘。
更新1:引导修复输出
正如 @oldfred 所建议的,输出boot-repair
如下:
答案1
这里的赠品是:
我确实注意到,在 grub 中,如果我进入 grub 命令提示符并执行 ls,我看到列出的唯一硬盘是 hd0,而我的系统实际上有 4 个硬盘。正如我上面提到的,hd0 是装有 grub 和我的 Linux 安装的硬盘。
非常棒。过去的@oldfred 帮我解决了这个问题:)
正如中所讨论的这个线程,问题是我的 UEFI BIOS 中的“快速启动”设置被设置为仅初始化启动设备。因此,grub 无法使用其他设备(例如 /dev/sda3)。
通过将快速启动设置更改为“仅硬盘驱动器”,所有硬盘驱动器都可用于 grub。
我可以通过在 grub 中运行来查看所有硬盘驱动器ls
,并且现在可以启动到 Windows。