银河麒麟开机进grub rescue>说明GRUB核心模块丢失、分区识别失败或/boot/grub路径错误;需先用ls查分区,再执行set root、set prefix、insmod normal和normal临时恢复引导,成功后立即运行grub2-mkconfig与grub2-install做持久修复。

银河麒麟开机直接进入grub rescue>命令行,说明GRUB核心模块丢失、分区识别失败或/boot/grub路径配置错误,此时系统无法自动加载菜单,必须手动定位分区并注入引导模块才能恢复启动能力。
先在grub rescue>里临时进系统
这一步不改硬盘,只验证分区结构是否完好。能进系统就说明数据没丢,后续再做持久修复。
输入ls,看到类似(hd0) (hd0,gpt1) (hd0,gpt2) (hd1)的输出,说明GRUB还能识别磁盘设备。
逐个尝试访问各分区的/boot/grub目录:比如执行ls (hd0,gpt2)/boot/grub/,如果返回normal.mod grub.cfg font.pf2等文件名,就说明这个分区是你的/boot所在位置。
确认分区后(假设是(hd0,gpt2)),一次性执行三行命令:
set root=(hd0,gpt2)
set prefix=(hd0,gpt2)/boot/grub
insmod normal
【注意:prefix路径必须精确到/boot/grub,少一个斜杠或写成/boot/grub2都会报错】
最后输入normal,成功的话会立刻跳出标准GRUB菜单,用方向键选中内核按回车就能进系统。
进系统后立刻做持久修复
临时进系统只是权宜之计,重启后还会掉回rescue模式。必须重建配置并重装引导程序。
登录后打开终端,先检查/boot是否完整:ls /boot/vmlinuz-*和ls /boot/initramfs-*.img要有输出,否则内核文件已丢失,需先从安装镜像补全。
运行sudo grub2-mkconfig -o /boot/grub2/grub.cfg,重新生成启动菜单配置——这步依赖/etc/default/grub和扫描到的内核文件,缺一不可。
再执行引导重装:
如果是UEFI机器:sudo grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=KylinOS --recheck
如果是传统BIOS机器:sudo grub2-install /dev/sda
【/dev/sda写错成/dev/sda1会导致MBR损坏,务必核对lsblk输出】
最后强制刷写磁盘缓存:sync,避免重启时配置未生效。
没U盘又进不了图形界面?用GRUB编辑器单次启动
方法一:在grub rescue>下找到含/boot/grub的分区后,不执行normal,改用单次加载内核启动。
先set root=(hd0,gpt2),再linux /boot/vmlinuz-5.10.0-kylin-amd64 root=UUID=xxxx ro(UUID用blkid查,或直接写root=/dev/sda2)
接着initrd /boot/initramfs-5.10.0-kylin-amd64.img,最后boot——只要路径和参数正确,就能单次启动进入系统。

















