错误:未找到符号“grub_file_filters”

错误:未找到符号“grub_file_filters”

我通过终端将系统从 18.04 更新到 20.04。当计算机重新启动时,出现黑屏,并显示上述内容。

我应该怎么做才能解决这个问题(显然不会丢失磁盘上的文件和程序)?

感谢您的帮助

答案1

什么没有奏效

  1. 我遇到了同样的问题,@rapid3642 的上述解决方案不起作用。 CHROOT 情况不适合我,因为我可以使用F12并能够毫无问题地登录 linux。 我还尝试直接在 ubuntu 系统/分区上以 chroot 形式运行上述命令(没有安装部分,因为我已经安装并运行了 ubuntu)
  2. 雷斯卡图克斯尽管它看起来是一个应该是一个干净的 GUI 实用程序,但也不起作用。

我使用了来自的评论克里斯蒂娜·科瓦切克了解我们需要做什么。

对我有用的是啟動修復磁碟实用性。有趣的是,它在默认模式下不起作用(本Recommended Repair节)但我不得不改变以下

高级选项 -> Grub 位置

  1. 将操作系统更改为默认启动到 Linux(是的,您可以登录 Windows,但您需要将 Linux 保留为主系统)
  2. 取消勾选 Spearate /boot /boot/efi 分区
  3. 将 grub 放入<your linux partition such /dev/sda>

我还删除了另一个选项,以确保 GRUB 默认查看 windows,我不记得它是什么了(尽管我刚刚执行了该过程

注意您需要遵循以下说明以及您需要手动执行的命令,这还涉及从 linux 分区中清除 grub-install(现在回想起来这可能就足够了。)

答案2

好问题,我刚刚也遇到过这种情况,而且我成功了,我在网上找到了一些非常有用的信息,我很乐意与你分享。由于你是在一个月前问这个问题的,所以我确信你很可能没有遇到同样的情况,但如果你遇到这种情况,那么这就是我的方法。

首先,我的 Ubuntu 18LTS 在 ESXI 服务器上的 VM 中运行。这个也遇到了同样的问题。我还想提一下,我哥哥在 Raspberry Pi 4 上运行了 Ubuntu 18LTS,能够毫无问题地完成到 Ubuntu 20LTS 的更新,这真是太好了。

我找到了适合我的解决方案:https://help.ubuntu.com/community/Grub2/Installing#via_ChRoot

我是通过查找以下帖子中的帮助文章找到此内容的: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1848797

我的虚拟机上没有任何复杂的东西,所以基本上我可以跳过很多步骤,基本上我遵循了以下步骤:从 Ubuntu 网站下载相同的 Ubuntu 20 iso(桌面图像): https://releases.ubuntu.com/20.04/

然后我将它附加到我的 VM,然后强制 VM 启动到 BIOS,这样我就可以首先将启动优先级设置为 CD 而不是 HDD。

然后我保存了,当系统重启时,它允许我从 iso 启动。然后我选择了“尝试 Ubuntu”选项,它将带你进入实时 Ubuntu 版本。

然后打开终端并输入:

sudo fdisk -l

这给了我下一步所需的信息。然后你可以通过以下方式安装你拥有的硬盘:

sudo mount /dev/sdXY /mnt

对我来说,命令最终是

sudo mount /dev/sdb1 /mnt

然后我安装了关键的虚拟文件系统,并将其作为单个命令运行:

for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done

然后 Chroot 进入你的正常系统:

sudo chroot /mnt

重新安装 GRUB 2:

grub-install /dev/sdX

对我来说是:

grub-install /dev/sdb

重新创建 GRUB 2 菜单文件 (grub.cfg):

update-grub

退出 chroot:键盘上的 CTRL-D,然后使用以下命令重新启动:

sudo reboot

相关内容