我刚刚将 HP zBook 升级到 Fedora 34。升级后,Grub 启动失败。机器现在只会启动到普通的 Grub 提示符
grub2>
我在启动期间看不到任何错误消息,也许显示了某些内容但立即闪烁,而我看到的只是上述提示。
当我输入以下序列时
set prefix=(hd1,gpt5)/grub2
set root=(lvm/fedora_localhost--live-root)
insmod normal
insmod linux
normal
然后会出现通常的 Grub 菜单,其中默认的是新的 Fedora 34 内核,一切工作正常。所以升级成功了。
我怀疑启动顺序可能已经发生了变化。我的笔记本电脑中有 2 个磁盘(一个三星 SSD,显示为 /dev/sda,具有 DOS 分区;另一个 WDC,显示为 /dev/nvme0n1,具有 gpt 分区)。当我尝试重新创建 grub.cfg 时,显示以下错误消息
# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
/usr/sbin/grub2-probe: error: ../grub-core/kern/fs.c:120:unknown filesystem.
并且生成的 grub.cfg 在我看来是碎片化的
# ls -l /boot/grub2/grub.cfg
-rwx------. 1 root root 143 13. Mai 22:09 /boot/grub2/grub.cfg
很高兴听到任何关于如何再次摆脱这种情况的建议。显然,我在谷歌上搜索了很多次,尝试了各种提示,但到目前为止,没有什么对我有用
库乔
答案1
阅读更多文章,似乎运行
grub2-mkconfig -o /boot/grub2/grub.cfg
实际上应该可以解决这个问题。GRUB2 2.06 似乎有已知的限制,阻止成功运行此命令(如我的情况,上面显示的错误消息)。建议降级到 GRBU2 2.04,然后应该可以运行此命令
我没有找到任何简单直接的方法来降级到 GRUB2 2.04,所以我最终从这里下载了所有必需的 RPMhttps://koji.fedoraproject.org/koji/buildinfo?buildID=1668414然后使用安装它们
dnf install grub2-*.rpm
之后,grub2-mkconfig -o /boot/grub2/grub.cfg 确实运行正常,下次重启后,启动过程中又出现了常见的 GRUB 菜单