麒麟系统安装补丁启动故障修复

麒麟系统安装内核补丁后,可能出现开机无法启动问题。原因是内核升级过程中,系统某些文件配置修改,导致系统启动不了,需要重新替换UEFI引导相关配置文件。

尤其是涉及到设备树的修改,大概率是 /boot/grub/grubParamsEFI.ini文件存在导致的。

以下提供一种恢复方法。

操作步骤

1、插入系统引导盘,点击试用不安装
桌面空白处右键打开终端,执行 lsblk 查看磁盘挂载情况。查看系统分区的挂载情况

2、确认系统分区
一般来说,系统会重新挂载在/media目录下,大致分区如下:
/media/kylin/SYSROOT是系统的根分区
/media/kylin/DATA是系统的数据分区
/media/kylin/SYSBOOT是系统的boot分区

如果没有,需要通过blkid查看系统文件对应分区,如下:

根据关键字PARTLABEL,找出EFI、boot、SYSROOT、data所在的硬盘分区

3、删除异常引导文件,卸载已挂载分区

lsblk未查到硬盘的挂载信息,此步可省略。

1
2
3
4
5
6
# 有则删除
ls /boot/grub/grubParamsEFI.ini
rm /boot/grub/grubParamsEFI.ini
# 卸载分区 以实际环境为准
sudo umount /dev/vda2 /dev/vda3 /dev/vda4

4、重新挂载分区
需要一一和上方盘符对应

1
2
3
4
5
6
# 挂载SYSROOT 
sudo mount /dev/vda3 /mnt
# 挂载SYSBOOT
sudo mount /dev/vda2 /mnt/boot
# 挂载efi分区
sudo mount /dev/vda1 /mnt/boot/efi

绑定系统目录:

1
2
3
sudo  mount --bind  /sys   /mnt/sys
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc

5、chroot切换根目录

1
sudo  chroot  /mnt

6、重建 GRUB 引导

1
2
3
4
5
grub-install --boot-directory=/boot  --efi-directory=/boot/efi

update-grub2

exit

退出后,拔出U盘引导盘,重启系统,就能发现能够正常进入系统了。

以上仅供交流参考,不一定解决遇到的问题。