efibootmgr删除Ubuntu 0000启动项后重启复现的解决方法
彻底清除残留的Ubuntu UEFI启动项(Parrot Security环境)
这种问题我碰到过好几次了——你用efibootmgr删了启动项但重启又回来,核心原因通常是EFI分区里还留着Ubuntu的引导文件,或者你的UEFI固件会自动扫描并恢复这些条目,再加上GRUB配置没同步更新。下面是一套彻底解决的步骤:
1. 删除EFI分区里的Ubuntu引导残留文件
UEFI固件会自动扫描EFI分区里的引导目录,只要ubuntu文件夹还在,就可能自动重建启动项。先清理这个源文件:
- 首先找到你的EFI分区:
找类型为sudo lsblk -fvfat、标签通常是EFI或ESP的分区,比如/dev/nvme0n1p1或/dev/sda1。 - 挂载EFI分区:
sudo mount /dev/你的EFI分区路径 /mnt - 查看并删除Ubuntu的引导目录:
ls /mnt/EFI # 确认是否存在`ubuntu`文件夹 sudo rm -rf /mnt/EFI/ubuntu - 卸载分区:
sudo umount /mnt
2. 用efibootmgr彻底删除UEFI启动项
现在再清理UEFI里的启动条目,这次因为源文件已经删了,不会再自动恢复:
- 列出所有启动项,找到Ubuntu对应的编号:
比如你会看到类似sudo efibootmgr -vBoot0001* Ubuntu的条目,记住编号0001。 - 删除该启动项:
sudo efibootmgr -b 0001 -B # 把0001换成你找到的实际编号 - 再次确认已删除:
sudo efibootmgr -v
3. 更新Parrot Security的GRUB配置
原来的GRUB配置文件可能还保留着Ubuntu的引导条目,需要重新生成:
sudo update-grub
这一步会自动扫描当前系统,移除不存在的Ubuntu条目,更新grub.cfg。
4. 进入UEFI固件设置锁定启动顺序(关键步骤)
很多主板的UEFI固件有自动扫描引导文件的功能,就算你删了启动项,它可能还会尝试添加。所以要手动设置:
- 重启电脑,按主板对应的按键进入UEFI设置(通常是F2、F10、Del或Esc,看开机提示)
- 找到Boot Order(启动顺序)选项,把
Parrot Security设为第一优先级 - 找到UEFI Boot Entries(UEFI启动条目),确认没有Ubuntu的残留条目,如果有,手动删除
- 关闭Fast Boot(快速启动)选项,避免固件跳过扫描直接加载旧配置
- 保存设置并退出
5. (可选)如果仍有问题,重新安装GRUB到EFI分区
如果以上步骤都做了还是有问题,可能是GRUB的EFI引导文件损坏,重新安装一次:
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=parrot sudo update-grub
做完这些步骤,重启电脑应该就能直接进入Parrot Security,不会再出现GRUB错误界面了。
内容的提问来源于stack exchange,提问作者Terrence Munyunguma




