Fedora 30 升级无法启动

Fedora 30 升级无法启动

我使用 dnf system-upgrade 将 32 位 Fedora 28 升级到 30,与 Fedora 文档中所述完全一致。一切正常,直到 dnf system-upgrade 重新启动。启动的系统已升级软件包,并进行了清理和验证。经过数小时后,系统已重新启动,但 grub 无法启动,并进入 grub 命令模式。

使用 CD 救援盘,我使用 fdisk 和 fsck 验证了硬盘及其上的每个分区。没有遇到问题。我在 /boot/ 中进行了验证,发现 vmlinuz 和 initramfs 具有预期的结尾和看起来不错的大小。

但是 /boot/grub2/grub.cfg 很奇怪,与通常的结构非常不同。

我使用配置文件 /grub2/grub.cfg.rpmsave 从 grub 命令行启动,并且能够像在 Fedora 28 下一样启动。我尝试使用 grub2-mkconfig 生成临时 grub.cfg,并将其放在 /tmp/ 中,以便将其与 /boot/grub2/grub.cfg 进行比较。结果:完全相同。

我该怎么做才能使系统如预期的那样像 Fedora 30 一样运行良好?

运行这个旧内核 28 时运行 dnf 更新是个好主意吗?

答案1

我遇到了同样的问题。显然,如果您的 Fedora 安装足够旧,那么就会出现此问题。我从早期版本升级到 29,然后是 30。升级到 30 后,它会启动到提示符grub>

最后,我听从了关于跑步的建议grub2-install的建议Fedora 项目中常见的 F30 错误

我使用安装盘在故障排除/救援模式下进​​行操作grub.cfg。我执行的步骤如下:

  1. 复制当前(30)以用于未来:cp grub.cfg grub.cfg.new
  2. 复制旧(29):cp grub.cfg.rpmsave grub.cfg
  3. 重新启动,进入 29。
  4. 登录,运行grub2-install /dev/{boot drive} (对我来说,{boot drive}sda
  5. 已重新启动,但说实话我不确定这是否有必要
  6. 登录后,将当前(3)grub.cfg放回原位:cp grub.cfg.new grub.cfg
  7. 重新启动 – 显示 FC 30 并且启动正常
  8. 重新运行grub2-install只是为了获得 FC30 所拥有的一切,而不是 FC29
  9. 重新启动、登录、运行dnf update

答案2

该过程最重要的部分是在新升级的 FC30 系统中运行 grub2-install。在我看来,运行这个可能就足够了。根据引导过程停止的状态,您必须在 GRUB2 shell 上输入不同的命令才能启动系统。上面提到的“configfile”命令允许我使用旧内核启动。编辑提供的 GRUB2 启动条目并在“linux”命令中添加适当的“root=”后缀使我有机会在另一种情况下使用新内核启动。系统运行后,在 root shell 中输入前面提到的“grub2-install”。

相关内容