我将 Ubuntu 从 19.04 升级到了 19.10。升级过程没有出现任何错误,但重启后 grub 在启动时出现错误并进入救援模式
error: symbol 'grub_file_filters' not found.
Entering rescue mode...
grub rescue>
它是一台物理机器,而不是虚拟机,我有 Windows 和 Linux 双启动。
我设法通过 ls 找到我的 Linux 所在的分区,但不知道下一步该做什么。
insmod normal 失败并出现相同错误
答案1
就我而言,我有一台 Xubuntu 18.04 VM,升级到 20.04 后,出现了 grub 错误。所以我按照描述的步骤操作这里,适用于 Kali,但应该适用于任何 Linux / grub 安装:
使用 Ubuntu / Xubuntu ISO Live 进入实时模式(我使用 Ubuntu 20.04,因为我已经在电脑中下载了它)。
进入内部后,我打开了一个终端并运行:
# So we can run the next commands as `root`:
sudo su
# To figure which partition had my Xubuntu installation (partition type `Linux`)
# in my case it was `/dev/sda1`, we can use:
fdisk -l
# If you used a logical volume, your volume should be named `/dev/mapper/ubuntu--vg-root` and not `/dev/sdxx`
# Let's mount a few things:
mount /dev/sda1 /mnt
mount --bind /dev /mnt/dev
mount --bind /dev/pts /mnt/dev/pts
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt
# Now let's try to fix Grub:
grub-install /dev/sda
如果一切顺利,你应该会看到类似这样的消息:
Installation finished. No error reported
- 现在我们可以清理并重新启动:
# To change back chroot:
exit
# And now we can umount all:
umount /mnt/dev/pts
umount /mnt/dev
umount /mnt/proc
umount /mnt/sys
umount /mnt
# Now we can reboot:
reboot
答案2
遇到了同样的问题,通过启动 19.10“救援”USB 密钥来解决,然后在终端中:(sda
您的磁盘在哪里,sda1
您的分区在磁盘上在哪里。)
$ sudo mount /dev/sda1 /mnt
$ sudo grub-install --root-directory=/mnt /dev/sda
注意 - 如果您有多个物理磁盘,您的 BIOS 可能会查看不同的磁盘。您可能需要对每个物理磁盘执行此操作。
答案3
我无法让boot-repair
(或boot-repair-disk
)工作,但设法通过从实时 Ubuntu 19.10 USB 启动、挂载旧磁盘、输入chroot
并运行grub-install
来解决这个问题update-grub
。
答案4
更新到 Ubuntu 19.10 后,我也遇到了完全相同的问题。以下是我(刚刚)解决它的方法:
首先,你必须两个问题,没有一个。你的安装都搞砸了和Grub Bootloader 乱了。并且只运行一修复并不能解决所有问题。你需要两个都“启动修复盘”和最新版本的 Ubuntu(均位于 USB 启动驱动器上)。不使用 DVD。
如果您尝试首先从 Ubuntu Live 磁盘执行(仅)“修复安装”,则完成后您仍会看到“grub rescue>”提示符。:( 所以,第一的您必须使用“启动修复磁盘”。告诉它修复损坏的启动分区(其中包含 Ubuntu)。如果您不确定分区 ID,请从“开始”菜单(左下角)启动“GParted”。
修复该启动分区。这至少应该能恢复 Grub。尝试启动 Ubuntu。如果成功,就大功告成了。如果不成功,请从 USB 启动 Live“CD”。
双击桌面上的“安装 Ubuntu 19.10”图标(不用担心,会有一个修复选项,不会丢失旧程序/文件。)
我建议在安装过程中选中复选框以下载所有更新,包括第三方更新。
安装程序应该检测损坏的分区并为您提供修复选项(第一个选项)。可能需要禁用一些第三方存储库。没什么大不了的,以后很容易恢复。
(注意:如果您之前必须使用密码登录,请不要尝试现在选择“无密码登录”。完成后它将不允许您进入。)
完成后,你应该已经安装了 Ubuntu 19.10,并且所有/大多数现有应用程序仍然安装(尽管工具栏快捷方式将被重置。)我不得不重新安装一些第三方应用程序,但它们的配置之后仍然存在,所以没有丢失任何东西。