Ubuntu16.04开机后显示grub菜单后黑屏,高级模式没有救援模式

故障现象:Ubuntu底层系统的服务器开机后显示grub菜单界面后,然后黑屏,键盘鼠标都无法使用。

省流:因为没有救援模式只能通过U启进入系统后修复分区解决,如果有救援模式可以在救援模式中修复分区解决。


 初步操作: 

  1. 服务器开机显示grub菜单界面后,选择第一项Ubuntu进去后黑屏;无法进行任何操作,只有IP可以ping通,端口不通。

 2. 选择高级选项,只有Ubuntu,with Linux 4.4.0-62-generic一个选项,选中后还是黑屏


 初步判断:

  可能是磁盘出现问题,只能先尝试修复磁盘试下


 修复方法:

第一种:grub菜单有救援模式或者紧急模式:

直接进入救援模式或者紧急模式后(需要root密码),执行fsck修复命令就行;

① 先确认分区类型(下面两个命令都可以查看到分区名和对应的分区类型)

lsblk -f

或者

blkid

② 根据分区类型不同,选择不同的fsck命令修复分区(-f:强制修复,-y:全部回答yes)

fsck.ext2 -f -y /dev/sda1

fsck.ext4 -f -y /dev/mapper/loclahost--vg-root 

注意:xfs分区类型的通过下面命令进行修复

xfs_repair /dev/sda*

或者(-L:强制日志归零,将此作为最后的手段)

xfs_repair -L /dev/sda*

第二种:grub菜单没有救援模式或者紧急模式,无法进入救援模式或者紧急模式:

只能通过外接U盘启动解决,服务器设置U盘启动,进入ubuntu桌面版启动盘,通过终端界面输入修复命令即可(具体修复命令同第一种方法)

 制作U盘启动,可参考文档:https://www.cnblogs.com/you-and-me/p/16902580.html


 

扩展问题:grub菜单为什么没有救援模式

排查解决方法:

① 服务器正常启动后,先查看/boot/grub/grub.cfg文件中对应的字段(可以发现没有修复模式)。

root@ubuntu:~# cat /boot/grub/grub.cfg

### BEGIN /etc/grub.d/10_linux ###

### END /etc/grub.d/10_linux ###

② 然后查看/etc/default/grub文件,发现修复模式菜单项被禁用了

root@ubuntu:~# cat /etc/default/grub

#是否禁用创建修复模式菜单项,默认该项被注释为创建,这里被打开了值为true,那么将其修改成false;true:不创建,false:创建

GRUB_DISABLE_RECOVERY="false"  

③ 修改完成后,更新grub菜单启动项文件

root@ubuntu:~# update-grub2

④ 最后查看/boot/grub/grub.cfg文件,已经有救援模式了

root@ubuntu:~# cat /boot/grub/grub.cfg

### BEGIN /etc/grub.d/10_linux ###

### END /etc/grub.d/10_linux ###

可以发现上面文件已经生成修复模式的菜单项了,那么reboot重启设备后进入高级模式验证

 选择救援模式后,可以正常进入, 至此彻底解决问题,不用借助U盘启动修复分区了。

 
posted @ 2022-07-19 11:34  冲冲、冲  阅读(1162)  评论(0编辑  收藏  举报