银河麒麟启动失败进入grub rescue>界面,表明GRUB核心模块丢失、配置路径错误或分区无法识别;需依次尝试临时恢复引导、Live介质重装GRUB、重建内核映像或命令行单次启动。

如果银河麒麟操作系统启动失败,直接进入grub rescue>命令行界面,则说明GRUB引导程序的核心模块丢失、配置路径错误或磁盘分区无法识别。以下是针对该状态的多种可行修复方法:
一、在grub rescue>环境下临时恢复引导菜单
此方法不修改磁盘内容,仅用于临时加载正常GRUB菜单,验证分区与路径是否正确,为后续持久修复提供依据。
1、输入ls命令,列出所有可用设备及分区,例如显示:(hd0) (hd0,gpt1) (hd0,gpt2) (hd1)。
2、依次尝试访问各分区的/boot/grub目录,例如执行:ls (hd0,gpt2)/boot/grub/,观察是否返回grub.cfg、normal.mod等文件。
3、确认含完整GRUB文件的分区后(如(hd0,gpt2)),执行以下三行命令:
4、set root=(hd0,gpt2)
5、set prefix=(hd0,gpt2)/boot/grub
6、insmod normal
7、normal
成功执行后将显示标准GRUB菜单并可选择启动项。若此时重启仍退回rescue模式,说明需进行持久性修复。
二、使用Live介质进入救援模式重装GRUB
该方法适用于GRUB核心文件损坏或MBR/EFI引导区被覆盖的情况,通过挂载原系统并重新安装引导程序实现彻底修复。
1、使用同版本银河麒麟安装U盘或光盘启动,进入启动菜单后选择Troubleshooting → Rescue a Kylin Linux Advanced Server system。
2、等待加载完成后,按提示执行exit退出初始化脚本,进入shell环境。
3、运行chroot /mnt/sysroot切换至原系统根环境。
4、执行lsblk确认系统安装所在磁盘(如/dev/sda)及EFI系统分区(如/dev/sda1)。
5、根据引导模式执行对应命令:
6、UEFI模式下:运行grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=KylinOS --recheck
7、Legacy BIOS模式下:运行grub2-install /dev/sda(注意目标为整块磁盘,非分区)
8、执行grub2-mkconfig -o /boot/grub2/grub.cfg(BIOS)或grub2-mkconfig -o /boot/efi/EFI/kylin/grub.cfg(UEFI)更新配置。
9、运行sync确保所有写入操作落盘。
三、从救援Shell手动重建GRUB配置与内核映像
当/boot目录缺失关键文件(如vmlinuz、initramfs)时,仅重装GRUB无法启动,需补全内核引导链。
1、在chroot后的救援环境中,检查/boot目录是否存在内核文件:ls /boot/vmlinuz-*和ls /boot/initramfs-*.img。
2、若无输出,需挂载安装介质ISO以获取内核包:
3、创建挂载点:mkdir /mnt/iso
4、挂载ISO镜像(假设设备为/dev/sr0):mount /dev/sr0 /mnt/iso
5、进入Packages目录查找kernel-core包:ls /mnt/iso/Packages/kernel-core-*.rpm
6、安装匹配架构的内核包:rpm -ivh /mnt/iso/Packages/kernel-core-*.rpm --force --root /
7、生成新的initramfs:dracut --regenerate-all --force
8、再次执行grub2-mkconfig命令生成完整配置文件。
四、通过GRUB命令行直接引导单次启动
当无法进入系统且暂无外部介质时,可利用rescue命令行手动指定内核与initrd路径完成一次启动,用于紧急数据导出或诊断。
1、使用ls与ls (hdX,Y)/定位含/boot的分区(如(hd0,gpt2))。
2、设为根:set root=(hd0,gpt2)
3、查看UUID:ls (hd0,gpt2)/确认是否有boot目录;若有,执行ls (hd0,gpt2)/boot/寻找vmlinuz-*和initramfs-*.img。
4、加载内核:linux /boot/vmlinuz-4.19.90-52.22.u2207.ky10.x86_64 root=UUID=a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8 ro(UUID需替换为blkid查得的实际值)
5、加载初始内存盘:initrd /boot/initramfs-4.19.90-52.22.u2207.ky10.x86_64.img
6、执行boot启动系统。










