刚刚在20.04 (Xubuntu)上运行了最新一批更新,现在我收到了一个GRUB错误:
symbol 'grub_calloc' not found我被扔进了“grub救援”外壳,但不知道在那里做什么可能有用。对我来说,“符号找不到”意味着grub包存在某种构建错误,但我不知道grub是如何工作的。我注意到这个更新还包括‘固件’,不确定这是否相关。我最好的选择是从一张活生生的CD启动,看看我是否可以以某种方式将更新回grub?
编辑后添加:
好吧,多亏了很多人!我想我现在明白了。
所有的解决方案包括重新安装grub,以确保这两个部分是对齐的。实际上,不需要回到以前的版本(尽管这会有效),因为破坏的并不是grub运行时本身。根据您的环境,有许多方法可以实现这一点,但是运行引导修复活动磁盘对我来说是有效的。
为了避免将来出现这种错误,确保系统上的grub安装程序配置为安装到正确的设备上,这可能是有用的。
此更新解决了一些重要的bug (见Ubuntu安全通知4432)。如果您已恢复grub以解决此问题,请注意您已暴露在这些问题中。
发布于 2020-07-30 13:48:35
在一个简单的2分区安装中使用LinuxMint19.3 bios设置。
GRUB2更新后,机器在重新启动时崩溃,并进入救援模式。
error: symbol 'grub_calloc' not found 为了恢复GRUB,我引导到LinuxMint19.3,在终端中发出以下命令:
sudo mount /dev/sda1 /mnt
sudo grub-install --root-directory=/mnt/ /dev/sda 在重新启动时,桌面显示得很好。
发布于 2020-07-30 01:38:43
我和RickN.2磁盘在同一艘船上,但它们不在RAID中。我用了这个工具https://sourceforge.net/p/boot-repair-cd/home/Home/
我从Ubuntu https://help.ubuntu.com/community/Boot-Repair中找到了这个工具
它似乎已经安装了一些以前没有的GUI特性(这个系统一直是CLI--仅在我记得的时间内),但我正在重新运行,这是最重要的部分。
感谢其他人,在这里,感谢你们的指导。
发布于 2020-07-30 08:27:33
今天早些时候我安装了Lubuntu20.04(在一台旧笔记本电脑上,Bios安装,而不是EFI),然后让它进行升级,我也有同样的错误和不可引导的系统。它产生了一个非常混乱的对话框,想要更新我的第一个分区以及我的Lubuntu分区上的GRUB。它似乎建议更新两个分区,而我就是这样做的。然后,在重新启动时,它在加载DE之前崩溃。
不管怎样,我找到了更多的解决办法,而不是解决这个问题的方法。由于GRUB似乎是问题所在(无论出于什么原因),我重新安装了Lubuntu,当它第一次启动时,我打开了一个终端窗口并手动进行了升级,并排除了对grub的更新:
sudo apt update
sudo apt list --upgradable |grep grub它显示:
grub-common/focal-updates 2.04-1ubuntu26.1 amd64 [upgradable from: 2.04-1ubuntu26]
grub-pc-bin/focal-updates 2.04-1ubuntu26.1 amd64 [upgradable from: 2.04-1ubuntu26]
grub-pc/focal-updates 2.04-1ubuntu26.1 amd64 [upgradable from: 2.04-1ubuntu26]
grub2-common/focal-updates 2.04-1ubuntu26.1 amd64 [upgradable from: 2.04-1ubuntu26]然后,我将这些grub更新“搁置”如下:
sudo apt-mark hold grub*然后,..and继续进行升级:
sudo apt full-upgrade我重新启动了这台机器,它又回到了桌面上,没有出错。
我不知道不更新GRUB可能会产生什么不良影响,但到目前为止,它在桌面会话中的作用是正常的。
https://askubuntu.com/questions/1263125
复制相似问题