银河麒麟启动黑屏或卡在GRUB界面时,需用同版本ISO启动U盘进入救援模式,挂载原系统分区并chroot,再根据UEFI/Legacy模式执行grub2-install与grub2-mkconfig重建引导。

如果您在启动银河麒麟系统时遭遇黑屏、卡在GRUB界面或直接进入grub rescue>命令行,表明引导程序损坏或关键引导文件丢失;此时需借助同版本ISO镜像制作的启动介质进入救援模式,对GRUB引导进行修复。以下是具体操作步骤:
一、准备并启动ISO镜像救援环境
该步骤目标是加载一个临时运行于内存的麒麟救援系统,为后续挂载原系统、执行修复提供基础运行环境。需确保ISO版本与故障系统架构(x86_64或aarch64)及大版本(如V10 SP1、SP3)一致。
1、使用Rufus、Ventoy或麒麟官方工具将银河麒麟ISO镜像写入U盘,制作可启动安装介质。
2、将U盘插入故障主机,重启后根据屏幕提示按键(常见为F2、F12、Del或Esc)中断启动并进入BIOS/UEFI设置界面。
3、在Boot选项中将U盘设备(含“UEFI”或“USB”字样的条目)设为第一启动项,保存设置并退出。
4、重启后出现麒麟安装菜单,使用方向键选择Troubleshooting,回车进入子菜单。
5、在子菜单中选择Rescue a Kylin Linux Advanced Server system,按回车启动救援环境。
6、等待初始化完成后,按提示输入exit退出向导,进入裸shell命令行界面。
二、挂载原系统根分区与引导分区
此步骤目的是将故障系统的磁盘分区正确挂载至救援环境下的指定路径,使后续所有修复命令作用于真实系统而非临时内存系统。必须准确识别根分区(/)和/boot或/boot/efi所在分区。
1、执行lsblk -f命令,列出所有块设备及其文件系统类型和挂载点,识别出格式为ext4的根分区(如/dev/sda2)和格式为vfat、容量约100–500MB的EFI系统分区(如/dev/sda1)。
2、创建挂载目录:mkdir -p /mnt/sysroot。
3、挂载根分区:mount /dev/sda2 /mnt/sysroot(请将/dev/sda2替换为实际识别出的根分区设备名)。
4、若为UEFI模式且/boot位于独立EFI分区,执行:mount /dev/sda1 /mnt/sysroot/boot/efi;若/boot与根分区共存,则执行:mount /dev/sda2 /mnt/sysroot/boot。
5、绑定关键虚拟文件系统以支持chroot:
mount --bind /dev /mnt/sysroot/dev
mount --bind /dev/pts /mnt/sysroot/dev/pts
mount --bind /proc /mnt/sysroot/proc
mount --bind /sys /mnt/sysroot/sys
mount --bind /run /mnt/sysroot/run。
三、切换至原系统并重装GRUB引导程序
该步骤通过chroot进入原系统环境,在其上下文中执行引导重装命令,确保所有路径、配置和依赖均指向真实系统,避免因环境错位导致修复失败。
1、执行chroot /mnt/sysroot,成功后命令行提示符将变为#,表示已进入原系统根环境。
2、确认当前系统架构与引导模式:执行uname -m判断是否为x86_64或aarch64;执行ls /sys/firmware/efi,若返回efivars则为UEFI模式,否则为Legacy BIOS模式。
3、UEFI模式下执行:grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=KylinOS --recheck(aarch64平台将x86_64-efi替换为arm64-efi)。
4、Legacy BIOS模式下执行:grub2-install /dev/sda(目标为磁盘设备如/dev/sda,非分区如/dev/sda1)。
5、更新GRUB配置文件:
UEFI模式:grub2-mkconfig -o /boot/efi/EFI/kylin/grub.cfg
Legacy模式:grub2-mkconfig -o /boot/grub2/grub.cfg。
6、执行sync确保所有写入操作物理落盘。
四、验证并退出救援环境
本步骤用于确认引导修复结果是否生效,并安全退出救援模式,避免残留挂载影响重启过程。
1、依次输入两次exit命令:第一次退出chroot环境,第二次退出救援shell,返回初始向导界面。
2、在向导界面选择Reboot into the installed system(或手动拔出U盘后执行reboot -f)。
3、系统重启后,观察是否正常显示GRUB菜单并能成功启动麒麟OS。
4、若仍进入grub rescue>,说明可能未正确识别分区或EFI目录结构异常,需返回步骤二重新核查lsblk与ls /boot/efi/EFI/输出。

















