win10/ubuntu双系统grub引导失败的修复方法

源自CSDN:史上最简单更新修复grub的方法
作者:我打打江南走过过
链接:CSDN-我打打江南走过过

本机:win10/ubuntu18.04双系统
2020年7月30日 更新ubuntu18.04内核组件,曾出现对grub写入的错误,当时没有理睬,结果运行一段时间,ubuntu死机,只能强制关机。
重新开机,grub不能引导,出现
error: symbol `grub_calloc’ not found.
此内核更新错误在grub2中有讨论:
grub boot error : "symbol ‘grub_calloc’ not found
解决办法:通过18.04引导U盘修复grub2。试图利用grub secure >命令行恢复引导界面不可行。

找到18.04引导U盘,启动,进入u盘引导的ubuntu,CTRL+ALT+T调出终端。
$sudo fdisk -l (找到之前linux的安装分区)
$sudo mount /dev/sdb6 /mnt (/dev/sdb6就是之前linux的安装分区,根据你自己的情况而定)
$sudo grub-install --root-directory=/mnt /dev/sda

/dev/sda就是MBR所在的地方,注意sda没有后面的数字。/mnt后面加空格。

重启计算机,拔掉u盘,一切恢复,重现grub引导菜单。若没有windows启动项不用着急,进入ubuntu后来挽救。

$sudo update-grub
$sudo init 6 (至于是6还是多少不重要,它指定默认的启动选项,以后可在grub.cfg中更改)

完成。

注1:linux mount命令将linux某分区挂载到/mnt上,并没有将分区的内容拷贝到/mnt中。系统恢复后,可以卸载/mnt,也可以不卸载。通常在ubuntu系统安装后,有一个/mnt的空文件夹。
注2:7月30日的ubuntu内核更新BUG现由8月4日对Grand unified bootloader version 2的更新而修正。

你可能感兴趣的:(ubuntu,grub)