银河麒麟系统通常不会出现类似 Windows 的蓝屏提示,但在发生内核 panic、initramfs 中断等严重系统故障时,仍需要手动排查与修复:可在 GRUB 菜单中加入 rd.break 参数进入紧急 shell,修正 fstab 配置或重建 initramfs;如果 GRUB 菜单无法显示,则可使用相同版本的 Live USB 进入救援模式,重新安装 grub 并更新启动配置。

银河麒麟系统不会出现 Windows 意义上的“蓝屏死机(BSOD)”,但如果遇到内核崩溃、panic 报错界面、黑屏并显示白色错误信息,或卡在 initramfs 命令行等异常情况,通常说明系统已触发内核级保护机制,需要尽快进入底层修复流程进行处理。
确认是否为内核panic或initramfs中断
先观察屏幕上的报错内容:如果看到类似“Kernel panic – not syncing: Attempted to kill init!”、“Unable to handle kernel NULL pointer dereference”,或者出现以“dracut”“switch_root”开头的错误信息,并最终停留在命令行界面,基本可以判断为内核 panic 或 initramfs 加载失败。此时系统通常无法自行恢复,必须手动干预修复。
此时不要直接强制重启——频繁断电或反复重启,可能进一步加重 XFS 文件系统元数据损坏。
从GRUB菜单进入紧急维护shell
这种修复方法适用于仍然可以调出 GRUB 菜单、但银河麒麟系统无法正常启动的情况,通常不需要借助外部启动介质。
第一步:开机后在银河麒麟 Logo 刚出现时,迅速持续按住Shift键(部分 UEFI 主板机型需要按 Esc),强制显示 GRUB 启动菜单。
第二步:使用方向键选中默认内核启动项(如“Kylin Linux Advanced Desktop, with Linux 5.15.0-107-generic”),然后按 e 进入编辑模式。
第三步:找到以linux开头的那一行,在行尾删除原有启动参数(例如 ro quiet splash),然后追加一个空格并输入:rd.break enforcing=0。
第四步:按 Ctrl+X 启动系统。系统会在 initramfs 阶段中断,并停留在 shell 提示符下,此时根文件系统默认还没有以可写方式挂载。
第五步:先执行mount -o remount,rw /sysroot,再运行chroot /sysroot——这一步非常关键,【如果不执行chroot,将无法修改原系统中的配置文件】。
修复fstab或initramfs导致的启动失败
方法一:检查并修复 /etc/fstab 配置文件
进入 chroot 环境后,先执行cat /etc/fstab查看配置内容。如果发现存在 UUID 填写错误、设备路径不存在(例如配置写的是 /dev/sdb1,但实际系统中只有 sda),或者挂载参数中含有无效选项(比如 defaults,x-systemd.requires=xxx,但对应服务实际上未安装),就需要使用 nano 编辑:nano /etc/fstab,将错误行删除,或在行首加上 # 注释掉整行。
方法二:强制重建 initramfs 镜像
执行dracut -f -v重新生成 initramfs。该命令会扫描 /boot 目录下的所有内核版本,并为其重建对应的启动镜像,【如果 /boot/vmlinuz-* 文件缺失,此步骤会执行失败,需要先挂载 ISO 进行修复】。
方法三:检查根分区 UUID 是否一致
运行blkid列出当前所有分区的 UUID,再对比cat /etc/fstab | grep '/'输出的根分区 UUID。如果两者不一致,就使用sudo nano /etc/fstab将其更新为正确的 UUID。
使用Live USB进入救援模式重装引导
如果 GRUB 菜单完全不显示,或者按 Shift 键没有任何反应,就必须借助外部启动介质进行系统救援。
准备一个与故障系统版本完全一致的银河麒麟安装 U 盘(例如 V10 SP3 x86_64),插入后重启电脑,并在开机时反复按 F12(或 Esc/F2)选择从 U 盘启动。
进入安装引导菜单后,选择 Troubleshooting → Rescue a Kylin Linux Advanced Server system,按回车并等待救援环境初始化完成。
当看到提示“Would you like to start rescue mode?”时,按 Tab 切换到 Continue 并回车,系统会自动将原系统的根分区挂载到 /mnt/sysroot。
接着执行chroot /mnt/sysroot进入原有银河麒麟系统环境。
运行grub2-install /dev/sda(请把 /dev/sda 替换为实际系统盘,建议通过lsblk先确认),然后执行grub2-mkconfig -o /boot/grub2/grub.cfg重新生成并更新引导配置。
