必须同步清理UEFI固件NVRAM中的启动项和EFI系统分区内的Kylin目录及.efi文件,否则重启后可能重新出现;先确认UEFI模式并挂载EFI分区是所有操作前提。

您在卸载麒麟系统后,开机仍看到“Kylin OS”“EFI Kylin”等无效启动项,说明UEFI固件NVRAM中残留了引导条目,同时EFI系统分区里还存有对应文件夹和.efi可执行文件——这两处必须同步清理,否则重启后可能重新出现。
确认当前为UEFI模式并挂载EFI系统分区
这一步是后续所有操作的前提。Legacy模式下不存在NVRAM启动项,强行运行efibootmgr会报错;而EFI分区未挂载,就无法手动删除Kylin目录。
打开终端,执行:
sudo [ -d /sys/firmware/efi ] && echo "UEFI模式" || echo "Legacy模式"
若输出“UEFI模式”,继续检查EFI分区是否已挂载:
mount | grep -i efi
若无任何输出,说明ESP(EFI System Partition)未挂载。通常它位于/dev/sda1或/dev/nvme0n1p1,格式为vfat。执行以下命令挂载:
sudo mkdir -p /mnt/efi && sudo mount /dev/sda1 /mnt/efi
【务必用lsblk -f确认设备路径,误挂载其他分区会导致数据错乱】
挂载成功后,验证Kylin引导目录是否存在:
ls /mnt/efi/EFI/Kylin/
用efibootmgr从NVRAM中删除Kylin启动项
UEFI固件把每个启动项编号(如Boot0005)写入主板NVRAM芯片,即使麒麟系统分区已被删,这个编号仍留在开机菜单里。必须用efibootmgr清除。
方法一:直接删除含关键词的启动项
先安装工具(如未预装):
sudo apt install efibootmgr -y
列出全部启动项:
sudo efibootmgr -v
在输出中查找description、vendor或loader字段含“Kylin”“Desktop”“UnionTech”“AdvancedServer”的行,记下其四位编号(如Boot0007)。
执行删除:
sudo efibootmgr -b 0007 -B
方法二:批量识别后逐个清理(适合多个残留项)
运行:sudo efibootmgr -v | grep -A1 -B1 -i "kylin\|uniontech"
注意:BootCurrent和Windows Boot Manager对应的编号绝对不能删,否则可能无法进Windows。
手动删除EFI分区中的Kylin引导文件
仅删NVRAM条目不够——部分主板会在下次启动时自动扫描EFI\目录,发现Kylin\grubx64.efi就会重建Boot####项。必须物理删除整个Kylin目录。
第一步:进入EFI厂商目录
cd /mnt/efi/EFI/
第二步:列出所有子目录
ls
第三步:识别并删除Kylin相关目录
常见命名包括Kylin、kylin、KylinOS、UnionTech、UOS(统信UOS与麒麟同源,有时共用目录)、Desktop
执行删除(以Kylin为例):
sudo rm -rf Kylin/
【严禁删除EFI\Microsoft\目录下的任何内容,误删将导致Windows无法启动】
删完后,再执行ls确认Kylin类目录已不存在。
在Windows中用bcdedit清除BCD里的Kylin残留记录
有些机型在双系统环境下,Windows BCD数据库会额外保存一条指向麒麟GRUB的firmware启动项。即使UEFI中已清空,bcdedit /enum firmware仍可能显示它,造成二次干扰。
第一步:以管理员身份打开终端(Win+X → 终端(管理员))
第二步:查看固件级启动项
bcdedit /enum firmware
第三步:定位Kylin相关项
滚动查找description字段为“Kylin Linux”“GRUB”或loader路径含“kylin\”“ubuntu\”的条目,记下其identifier值(形如{a1b2c3d4-...})
第四步:强制删除
bcdedit /delete {a1b2c3d4-...} /f
第五步:验证清除结果
bcdedit /enum firmware
最后一步:重启并进入UEFI设置检查启动顺序
重启电脑,在开机自检阶段反复按Del/F2/F10键进入UEFI界面。
进入Boot或Startup选项卡,查看Boot Order列表,确认“Kylin”“EFI Kylin”等字样已完全消失。
若仍有残留,说明某一步遗漏:重点复查/mnt/efi/EFI/下是否还有Kylin类目录,以及sudo efibootmgr输出中是否仍有对应Boot####编号。
保存设置并退出,系统将按新顺序启动。

















