Ubuntu 18.04 LTS 升级至 20.04 LTS 后,升级 GRUB2 引导,结果更新失败,重启后卡 GRUB ,无法开机。
处理
报错详情
开机后无法连接 SSH,使用 VNC 连接后看到如下界面。
按键盘 E 进入编辑模式,然后按 CTRL + C 进入编辑模式
此时可以看到此时进入 CGI 命令模式
grub>
检查环境
首先调用分页器,可以将长命令分开显示,显示更加清晰,以免混淆。
grub> set pager=1
然后查看当前磁盘分区
grub> ls
(hd0) (hd0,msdos2) (hd0,msdos1)
查看系统磁盘(必须加结尾的 /
)
grub> ls (hd0,1)/
lost+found/ bin/ boot/ cdrom/ dev/ etc/ home/ lib/
lib64/ media/ mnt/ opt/ proc/ root/ run/ sbin/
srv/ sys/ tmp/ usr/ var/ vmlinuz vmlinuz.old
initrd.img initrd.img.old
上述命令仅适用于 MBR 磁盘,如果是 GPT 磁盘,则需要更换命令格式。
grub> ls (hd0,gpt1)/
正常引导
将根目录切换为磁盘,然后手动加载内核,并引导开机。
grub> set root=(hd0,1)
grub> linux /boot/vmlinuz-5.4.0-33-generic root=/dev/vda1
grub> initrd /boot/initrd.img-5.4.0-33-generic
grub> boot
小贴士:GRUB 命令行中亦可使用 Tab 补全。
修复引导
更新内核引导
# update-grub
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/50-curtin-settings.cfg'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.4.0-33-generic
Found initrd image: /boot/initrd.img-5.4.0-33-generic
Found linux image: /boot/vmlinuz-5.4.0-26-generic
Found initrd image: /boot/initrd.img-5.4.0-26-generic
done
安装引导文件
# grub-install /dev/vda
Installing for i386-pc platform.
Installation finished. No error reported.
操作完毕后即可重启服务器进行检查是否能正常引导开机。
附录
参考链接
本文由 柒 创作,采用 知识共享署名4.0
国际许可协议进行许可。
转载本站文章前请注明出处,文章作者保留所有权限。
最后编辑时间: 2020-05-28 09:35 AM