问题现象:

系统在启动过程中,可能会出现 grub.cfg 文件损坏导致 系统卡住的情况。


解决方案:

1、在 grub 界面,使用 ls 命令,可以看到如图所示的分区情况;

2、其中,(hd0,msdos1)为 sda1, hd0,msdos2)为 sda2, 执行 ls 命令,确认 grub root 目录是否正确;

3、继续执行 ls 命令,可以发现如下图所示的分区布局,该分区是真实系统的 root 分区即根(/)分区;

4、输入以下命令:

#设置 grub 的根分区,上一步中已经查明:

set root=(hd0,msdos1)

#加载内核并设置系统根目录所在分区:

vmlinuz-4.4.131-20200710.kylin.x86-generic (可自动补全)

linux16  /vmlinuz-4.4.131-20200710.kylin.x86-generic root=/dev/sda2

#加载系统镜像:

initrd.img-4.4.131-20200710.kylin.x86-generic (可自动补全)

initrd16 /initrd.img-4.4.131-20200710.kylin.x86-generic

#启动系统: boot

5、进入系统后,打开命令行提权后执行如下命令:

# grub-mkconfig –o /boot/grub/grub.cfg

等待完成后,即会在/boot/grub/下重新生成一份 grub.cfg 文件,修复完成