“no bootable device”表明uefi未识别任何启动项,需手动重建:先确认efi分区存在且含kylin目录,若缺失则用live usb挂载重装grub;若文件存在但无启动条目,用uefi设置或efibootmgr添加;grub rescue下可临时引导验证分区。

麒麟V10开机显示“No bootable device”说明UEFI固件完全未识别到任何合法启动项,既找不到GRUB引导文件,也未注册KylinOS启动条目,常见于重装系统时格式化了EFI系统分区、误删EFI\kylin目录,或主板固件将启动项列表清空。必须手动重建UEFI启动入口,否则无法进入系统。
确认EFI系统分区是否完好
使用同版本麒麟V10 Live USB启动,进入试用桌面后打开终端。
执行 lsblk -f,重点查找一个容量在100–500MB之间、文件系统为vfat、LABEL可能为空或标为“EFI System”的分区(如/dev/sda1、/dev/nvme0n1p1)。
若该分区存在且能挂载,运行 sudo mkdir -p /mnt/efi && sudo mount /dev/sda1 /mnt/efi,然后检查 ls /mnt/efi/EFI/ 是否包含 kylin 子目录;若目录为空或根本不存在 kylin 文件夹,说明GRUB EFI文件已丢失,需先修复文件再注册引导项。
方法一:Live环境挂载后重装GRUB并注册
此法适用于EFI分区存在但kylin目录缺失或grubx64.efi损坏的情形。
第一步:挂载根分区与EFI分区
假设根分区为/dev/sda2,EFI分区为/dev/sda1,依次执行:sudo mount /dev/sda2 /mntsudo mount /dev/sda1 /mnt/boot/efi
第二步:绑定运行时目录
执行以下四条命令,缺一不可,否则chroot后无法解析设备节点或加载模块:sudo mount --bind /dev /mnt/devsudo mount --bind /proc /mnt/procsudo mount --bind /sys /mnt/syssudo mount --bind /run /mnt/run
第三步:切换至原系统并重装sudo chroot /mnt → grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=KylinOS --recheck
【务必确认--efi-directory路径与实际挂载点完全一致,写错会导致引导文件被写入错误位置】
第四步:生成配置并退出grub2-mkconfig -o /boot/efi/EFI/kylin/grub.cfg → exit → sudo reboot
方法二:UEFI固件中手动添加启动项
当EFI分区完好、/EFI/kylin/grubx64.efi文件真实存在,但UEFI启动列表里就是没有KylinOS条目时,直接在固件层补录最可靠。
方法一:通过BIOS/UEFI设置界面添加
重启按F2/Del键进入UEFI设置 → 进入Boot选项卡 → 找到“Add Boot Option”或“File Browser Boot Option” → 选择标注为“EFI System Partition”的设备 → 导航至路径:EFI\kylin\grubx64.efi → 命名此项为“Kylin OS” → 保存退出。
方法二:若主板不支持图形化添加,可用efibootmgr命令补录(需已进入Live系统且EFI分区已挂载)
执行 sudo efibootmgr -c -d /dev/sda -p 1 -L "Kylin OS" -l '\EFI\kylin\grubx64.efi',其中-d指定磁盘,-p指定ESP所在分区编号(对应lsblk中sda1的1),-l路径必须用反斜杠且以\开头。
这一步操作起来很简单,直接把命令复制粘贴执行就行,但要注意-p参数必须和实际ESP分区号严格匹配,填错会导致新条目指向空白分区。
方法三:从grub rescue>临时引导验证分区结构
若开机卡在grub rescue>提示符,说明GRUB核心模块尚存但无法自动定位配置,可快速验证是否存在有效内核,为后续修复争取时间。
① 输入 ls 查看识别到的硬盘与分区(如(hd0) (hd0,gpt1) (hd0,gpt2))
② 逐个尝试 ls (hd0,gpt1)/ 直到某一分区列出 boot 目录 → 再执行 ls (hd0,gpt1)/boot/grub/,确认出现 grub.cfg 和 normal.mod
③ 找到后立即执行:set root=(hd0,gpt1)set prefix=(hd0,gpt1)/boot/grubinsmod normalnormal
成功则进入标准GRUB菜单,此时可启动系统并立即执行update-grub或检查/boot/efi挂载状态。











