银河麒麟开机显示grub>提示符说明grub.cfg损坏或为空,需手动重建:先用ls定位含vmlinuz-/initramfs-.img的根分区,再set root、linux/initrd/boot临时启动,进系统后据uefi/legacy模式运行grub2-mkconfig生成配置并sync同步。

银河麒麟开机后屏幕黑底白字,只显示grub>提示符且无任何菜单、不自动引导,说明GRUB 2配置文件(/boot/grub2/grub.cfg)已损坏或为空,系统无法加载启动项;此时需在命令行下定位分区并手动重建引导配置。
第一步:在grub>中确认根分区和内核位置
输入ls,查看识别到的设备列表,例如(hd0) (hd0,gpt1) (hd0,gpt2)。这一步必须做,否则后续所有操作都无目标。
对每个疑似分区执行ls (hd0,gpt2)/,观察是否列出vmlinuz-*和initramfs-*.img文件。只要看到这两个文件共存的分区,就是你的根分区——【不要选/boot单独挂载的EFI分区,它通常只有grubx64.efi和fonts/目录】。
确认后记下该分区标识,如(hd0,gpt2),后面全部步骤都基于它。
第二步:手动加载内核并启动系统(临时绕过故障)
方法一:单次启动验证(不改硬盘)
在grub>下依次执行:
set root=(hd0,gpt2)
linux /boot/vmlinuz-$(ls /boot/vmlinuz-* | tail -n1 | sed 's|.*/vmlinuz-||') root=UUID=$(blkid -s UUID -o value /dev/sda2) ro quiet splash —— 这条命令会自动补全最新内核名,并用实际UUID替代root参数,避免因fstab中UUID错位导致启动失败。
initrd /boot/initramfs-$(ls /boot/initramfs-*.img | tail -n1 | sed 's|.*/initramfs-||')
boot
若成功进入桌面,说明分区和内核完好,问题纯属grub.cfg丢失或写入异常。
第三步:进系统后立即重建GRUB配置
① 打开终端,先确认当前引导模式:运行ls /sys/firmware/efi/efivars,有输出为UEFI,无输出为Legacy BIOS。
② 根据模式执行对应命令:
UEFI模式:运行sudo grub2-mkconfig -o /boot/efi/EFI/kylin/grub.cfg
Legacy BIOS模式:运行sudo grub2-mkconfig -o /boot/grub2/grub.cfg
③ 强制同步写入磁盘:sudo sync —— 【这一步漏掉会导致重启后配置仍不生效】
④ 重启验证:sudo reboot











