问题现象:
系统在启动过程中,可能会出现 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 文件,修复完成