今天早上,我试图将我的Ubuntu18.04LTS升级到20.04。重新启动后,报告了一个symbol 'grub_file_filters' not found
错误。
我搜索并尝试了我发现的两种流行的方法,但没有一种成功。每次我重新启动系统时,同样的错误仍然存在。
我所应用的操作如下所示,希望能够帮助找出根本原因和解决方案:
1.用livecd进行修复
我的/boot
是一个独立的分区,所以我根据我找到的解决方案,将它作为额外的步骤挂载。整个操作顺序是
% sudo su
% mount /dev/sdb3 /mnt
% mount --bind /dev /mnt/dev
% mount --bind /dev/pts /mnt/dev/pts
% mount --bind /proc /mnt/proc
% mount --bind /sys /mnt/sys
% mount /dev/sdb2 /mnt/boot
% chroot /mnt
% grub-install /dev/sdb
% update-grub
% exit
% umount /mnt/boot
% umount /mnt/dev/pts
% umount /mnt/dev
% umount /mnt/proc
% umount /mnt/sys
% umount /mnt
% reboot
2.引导修复
我怀疑这是否与第1部分中的操作序列类似。
3. insmod
在不断加强的控制台里,我试着
grub rescure> insmod (hd1,2)/grub/i386-pc/linux.mod
error: symbol `grub_file_filters' not found.
grub rescure> ls (hd1,2)/grub/
./ ../ gfxblacklist.txt unicode.pf2 i386-pc/ locale/ fonts/ grubenv grub.cfg
请帮助我,谢谢!
发布于 2022-02-02 14:02:50
问题解决了。在BIOS中,我发现预置设置序列是我的Win10 (/dev/sda) -> Linux (/dev/sdb)。在重新排序了序列并将我的Linux分区放在第一个之后,我现在就可以看到grub了。
发布于 2023-03-06 17:20:27
在Azure VM 18.04LTS到20.04LTS升级时,我得到了这个错误。一旦得到这个错误,修复这个错误就不容易了。在浏览了不同的克隆图像和升级选项之后,我发现如果您选择N作为提示符,自动删除过时的包(在发布升级过程的末尾),那么这种情况就不会发生,升级也是成功的。
https://askubuntu.com/questions/1390453
复制相似问题