抱歉,这可能是被问得最多的问题。我再次尝试执行所有建议,就像每次重新安装后一样,但还是不行。我尝试研究 grub/grub2 多次,但似乎上次奏效的方法下次不会再奏效
较旧的安装使用旧版 bios,新的 fedora 33 使用 efi。安装后(可能除了分区之外一切都是默认的),grub2 中只有 fedora 33。
sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
生产
Generating grub configuration file ...
File descriptor 3 (pipe:[62570]) leaked on vgs invocation. Parent PID 5501: grub2-probe
File descriptor 9 (pipe:[56813]) leaked on vgs invocation. Parent PID 5501: grub2-probe
File descriptor 3 (pipe:[62570]) leaked on vgs invocation. Parent PID 5501: grub2-probe
File descriptor 9 (pipe:[56813]) leaked on vgs invocation. Parent PID 5501: grub2-probe
File descriptor 3 (pipe:[62570]) leaked on vgs invocation. Parent PID 5560: grub2-probe
File descriptor 9 (pipe:[56813]) leaked on vgs invocation. Parent PID 5560: grub2-probe
File descriptor 3 (pipe:[62570]) leaked on vgs invocation. Parent PID 5560: grub2-probe
File descriptor 9 (pipe:[56813]) leaked on vgs invocation. Parent PID 5560: grub2-probe
File descriptor 3 (pipe:[62570]) leaked on vgs invocation. Parent PID 5626: grub2-probe
File descriptor 9 (pipe:[56813]) leaked on vgs invocation. Parent PID 5626: grub2-probe
File descriptor 3 (pipe:[62570]) leaked on vgs invocation. Parent PID 5626: grub2-probe
File descriptor 9 (pipe:[56813]) leaked on vgs invocation. Parent PID 5626: grub2-probe
File descriptor 3 (pipe:[62570]) leaked on vgs invocation. Parent PID 5685: grub2-probe
File descriptor 9 (pipe:[56813]) leaked on vgs invocation. Parent PID 5685: grub2-probe
File descriptor 3 (pipe:[62570]) leaked on vgs invocation. Parent PID 5685: grub2-probe
File descriptor 9 (pipe:[56813]) leaked on vgs invocation. Parent PID 5685: grub2-probe
Found Fedora 30 (Thirty) on /dev/mapper/ssd--vg-f30root
Found Fedora release 26 (Twenty Six) on /dev/mapper/ssd--vg-fedora26system
done
令人惊讶的是,没有检测到正在运行的操作系统,但在担心重启后,fedora 33 仍然在 grub 中。之后我至少能够启动到较旧的 fedora 30。发现了 Fedora 26(非常旧,只是未删除的系统,只是为了在我碰巧使用旧配置时可以访问它们而保留的),但没有显示在 grub 中。不知道为什么,但我至少两年没有启动它了,所以我不太在意。未检测到 Windows 10。我尝试/etc/grub.d
与较旧的 fedora 30 安装进行比较,它们都没有提到 windows,但较旧的发行版最终能够检测到它。Windows 分区未加密。
我记得之前必须使用的另一个技巧是挂载 ntfs 分区并重新运行grub2-mkconfig
。这次没有帮助。
我也尝试了 grub-customizer,但它只检测到 fedora 30。不是 33(但可能被隐藏了),不是 26,不是 windows10。所以这又是另一种检测排列。我把它留在这里,以免再出现任何问题。
我还没有从网上随机复制粘贴代码,所以我没有尝试在 /etc/grub.d 中编写一些自定义存根
有人能建议一下,什么是最新的正确方法来检测所有现有操作系统(并且仍然可以通过 fedora 30 grub 启动)?谢谢。