银河麒麟系统启动黑屏或卡在grub/grub rescue界面,说明/boot目录引导文件损坏或丢失;需先挂载原系统并chroot,确认vmlinuz/initramfs是否存在,缺失则补全,再依uefi/legacy模式执行grub2-mkconfig与grub2-install重建引导。

银河麒麟系统启动时黑屏、卡在GRUB界面或直接进入grub rescue>命令行,说明/boot目录下的引导文件(如vmlinuz、initramfs、grub.cfg)已损坏、丢失或路径错乱;此时必须通过Live环境挂载原系统,在chroot中重建内核映像与GRUB配置,否则无法正常加载内核。
确认/boot目录是否缺失关键引导文件
进入救援模式后,先不急着重装GRUB,而是验证问题根源:执行ls /mnt/sysroot/boot。若输出中完全不见vmlinuz-*、initramfs-*.img或grub2/目录,说明/boot内容已被清空——这种情况下仅运行grub2-mkconfig无效,必须先补全内核文件。
若/boot存在但grub.cfg为空或报错“file not found”,则跳过本节,直接进入后续GRUB配置重建步骤。
挂载原系统并切换到真实根环境
这一步是所有修复操作的前提,漏掉任意一个绑定都会导致后续命令失效或写入错误位置。
执行lsblk -f,识别出格式为ext4的根分区(如/dev/sda2)和vfat的EFI系统分区(如/dev/sda1)。
依次运行以下命令:
mkdir -p /mnt/sysroot → mount /dev/sda2 /mnt/sysroot → mount /dev/sda1 /mnt/sysroot/boot/efi(UEFI模式)或 mount /dev/sda2 /mnt/sysroot/boot(Legacy模式)→ mount --bind /dev /mnt/sysroot/dev → mount --bind /proc /mnt/sysroot/proc → mount --bind /sys /mnt/sysroot/sys → mount --bind /run /mnt/sysroot/run
【必须执行chroot /mnt/sysroot,否则所有修复命令都在临时内存系统中运行,重启即失效】
补全/boot目录中的内核与初始化镜像
方法一:从当前救援环境复制内核(适用于原系统内核未被卸载)
在chroot后执行ls /lib/modules/,查看是否存在与原系统匹配的内核版本号(如5.10.0-114-kylin7-generic)。若存在,直接运行:cp /boot/vmlinuz-$(uname -r) /mnt/sysroot/boot/ && cp /boot/initramfs-$(uname -r).img /mnt/sysroot/boot/。
方法二:从安装ISO中提取内核包(适用于/lib/modules也已损坏)
先挂载ISO镜像:mkdir /mnt/iso && mount /dev/sr0 /mnt/iso;再查找内核deb包:find /mnt/iso -name "*linux-image*kylin*.deb";用dpkg解包:dpkg-deb -x /mnt/iso/pool/main/l/linux/linux-image-*.deb /tmp/kernels;最后复制:cp /tmp/kernels/boot/*vmlinuz* /mnt/sysroot/boot/ && cp /tmp/kernels/boot/*initrd* /mnt/sysroot/boot/。
执行ls /boot/vmlinuz-*确认文件已就位。若仍无输出,请检查/dev/sr0是否正确挂载ISO,或更换同版本ISO重试。
重建GRUB引导配置文件
第一步:确认引导模式
运行ls /sys/firmware/efi/efivars,若返回“No such file or directory”,则是Legacy BIOS模式;否则为UEFI模式。
第二步:生成grub.cfg
UEFI模式下执行:grub2-mkconfig -o /boot/efi/EFI/kylin/grub.cfg
Legacy BIOS模式下执行:grub2-mkconfig -o /boot/grub2/grub.cfg
【输出中必须出现“Found linux image”和“Found initrd image”字样,否则说明上一步内核文件未被识别】
第三步:强制落盘
运行sync,等待光标返回后再进行下一步。
重装GRUB引导程序到磁盘
① 运行lsblk,确认系统安装在整块磁盘设备上(如/dev/sda),不是某个分区(如/dev/sda1)。
② 根据引导模式执行对应命令:
UEFI模式:grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=KylinOS --recheck
Legacy BIOS模式:grub2-install /dev/sda
③ 检查命令返回是否含“Installation finished. No error reported.”。若提示“no suitable mode found”,说明--efi-directory路径错误,请回到上一节确认/boot/efi是否已正确挂载。
④ 再次运行sync确保写入完成。











