“找不到引导设备”说明uefi固件未识别硬盘或无有效引导程序,需依次检查硬盘物理连接、uefi识别状态、启动模式与顺序,再通过live usb重装grub或uefi手动添加启动项修复;若进grub rescue>,则先临时引导再持久修复。

麒麟系统开机提示“找不到引导设备”,说明UEFI固件在启动阶段完全未识别到硬盘或无法从中加载任何有效引导程序,常见于重装系统后引导项丢失、ESP分区被误删、BIOS设置重置或硬盘连接异常等情况。该问题与GRUB菜单不显示或卡在grub rescue>有本质区别——此时连固件层的启动设备列表里都看不到你的麒麟硬盘。
第一步:确认硬盘是否被UEFI固件识别
关机后拔掉所有USB外设(U盘、移动硬盘、读卡器、手机线),仅保留键盘和显示器;按下电源键,在出现品牌Logo(如Lenovo、HUAWEI、Inspur)的瞬间反复敲击F2或Del键进入UEFI设置界面;切换至Main或Storage Information选项卡,查找硬盘型号与容量是否显示为“Detected”;【若此处显示Not Detected或空白,后续所有软件修复均无效,必须先检查物理连接】。
第二步:检查硬盘物理连接与控制器状态
台式机断电后打开机箱侧板,重点检查M.2 SSD是否完全插入插槽且螺丝已拧紧;SATA硬盘需确认数据线两端(主板SATA口与硬盘接口)均无松动,电源线插接牢固;笔记本用户请勿自行拆机,直接送修;重新上电后再次进UEFI查看Storage Information,确认硬盘已识别;若仍不识别,尝试更换SATA接口或M.2插槽交叉验证。
第三步:修正UEFI启动模式与顺序
进入UEFI后切换至Boot选项卡;确认Boot Mode为UEFI Only(绝不可选Legacy/CSM,否则麒麟V10无法启动);在Boot Option #1中选择含“Windows Boot Manager”字样的条目——这是麒麟系统安装时自动注册的UEFI启动项,不是硬盘型号本身;若列表中无此条目,说明GRUB未成功写入ESP或启动项被删除;按F10保存并退出。
第四步:用麒麟Live USB重装GRUB并重建启动项
方法一:标准chroot修复流程
使用同版本麒麟V10 Live USB启动→选择“试用而不安装”→打开终端→执行lsblk -f识别根分区(如/dev/nvme0n1p3)和EFI系统分区(如/dev/nvme0n1p1,vfat格式)→依次运行:
sudo mount /dev/nvme0n1p3 /mnt
sudo mount /dev/nvme0n1p1 /mnt/boot/efi
sudo mount --bind /dev /mnt/dev && sudo mount --bind /proc /mnt/proc && sudo mount --bind /sys /mnt/sys && sudo mount --bind /run /mnt/run
sudo chroot /mnt
grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=KylinOS --recheck
grub2-mkconfig -o /boot/efi/EFI/kylin/grub.cfg
sync && exit && sudo reboot
方法二:UEFI固件内手动添加启动项(当efibootmgr不可用或chroot失败时)
重启→开机时狂按F2/Del进UEFI→找到Add Boot Option或File Browser Boot Option→选择标注为EFI System Partition的分区→进入路径:EFI\kylin\grubx64.efi(若实际为EFI\ubuntu\grubx64.efi,请按真实路径填写)→命名为KylinOS→拖至启动顺序第一位→保存退出。
第五步:从grub rescue>临时引导并持久修复
第一步:输入ls,观察返回如(hd0) (hd0,gpt1) (hd0,gpt2)
第二步:逐个探测分区是否存在/boot/grub,例如输入ls (hd0,gpt2)/boot/grub/,若返回normal.mod、grub.cfg等文件,说明该分区正确
第三步:执行set root=(hd0,gpt2) → set prefix=(hd0,gpt2)/boot/grub → insmod linux → insmod normal → normal
第四步:若成功进入GRUB菜单,按e编辑当前启动项,在linux行末尾添加init=/bin/bash,Ctrl+X启动
第五步:执行mount -o remount,rw / → grub2-mkconfig -o /boot/efi/EFI/kylin/grub.cfg → grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=KylinOS --recheck → sync











