麒麟V10系统如何重建和修复efi分区

麒麟V10系统如何重建和修复efi分区

  1. 故障模拟环境
    操作系统版本信息:
    Kylin Linux Advanced Server

release V10 (SP3) /(Lance)-aarch64-Build23/20230324
磁盘状态:

  1. 模拟过程过程
    umount /boo/efi
    然后fdisk /dev/vda删除第一个分区

    重启系统,发现无法进入系统

系统会重启进入uefi shell,然后反复重启,同时uefi shell下也看不到vfat的efi分区了

  1. 修复过程
    使用对应版本的ISO来启动选择Troubleshooting启动


选择Rescue a Kylin Linux Advanced Server system

这里输入Enter继续

然后会进入到shell窗口

在根目录下创建sysroot,并把/dev/kylin/root 挂载过去

然后再运行以下命令:

mount --bind /proc /sysroot/proc

mount --bind /sys /sysroot/sys

mount --bind /dev /sysroot/dev

然后chroot sysroot/

然后新建vda1分区,具体参考截图

然后对vda1进行mkfs.vfat

然后blkid /dev/vda1查看UUID

然后把UUID更新到/etc/fstab

然后mount -a

比如这里看到的UUID是E221-76AE

然后vi /etc/fstab把之前的替换成E221-76AE

然后mount -a 重新加载fstab的挂载

然后挂载ISO到mnt目录

mount /dev/sr0 /mnt

cd /mnt/Packages

主要是需要重装4个rpm包(grub2-efi,shim,grub2-tools和grub2-common),这时候也可以配置网络传输进来,或者用U盘挂载,因为有可能系统的本身的版本比ISO的版本要新。

rpm -Uvh –oldpackage --nodeps

然后检查/boot/efi是否已经生成了EFI文件夹,以及检查文件夹内的文件

最后grub2-mkconfig 生成grub.cfg文件

然后关机重启。一般情况下不需要调整启动项,可以先用efibootmgr查看一下。

  1. 修复后检查系统以及升级相关包

检查系统是否正常,然后升级强制安装的4个包
yum update grub2-efi shim grub2-tools grub2-common

posted @ 2025-01-21 11:22  xiaolongli  阅读(260)  评论(0)    收藏  举报