云的博客 logo 云的博客

知识分享 经验总结 技术前沿

  1. Home
  2. Posts
  3. 在Linux中删除EFI引导分区已弃用条目

在Linux中删除EFI引导分区已弃用条目

Mar 30, 2024 bayview

ChatGPT Image 2026年1月2日 13_10_54.png

在多系统安装、系统重装或磁盘迁移后,EFI 系统分区(ESP)中往往会残留已卸载系统的引导文件,UEFI 固件的启动菜单中也会出现失效的启动条目。这些残留不影响日常使用,但会造成启动菜单混乱,在某些机器上甚至导致启动时间变长。本文介绍如何手动清理这些遗留内容。

操作环境:Linux(以 NVMe 硬盘为例)
所需权限:sudo
核心工具:efibootmgr · cfdisk · rm

⚠️ 操作前请注意:EFI 引导文件直接关系到系统能否正常启动。删除前请仔细确认目标条目和文件,误删当前系统的引导文件将导致系统无法启动。建议操作前备份 EFI 分区内容。


一、查看当前 EFI 启动条目

1.1 列出所有启动项

使用 efibootmgr 工具读取 UEFI 固件中存储的启动条目列表:

sudo efibootmgr
输出示例
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0002,0003
Boot0001* ubuntu
Boot0002* Windows Boot Manager
Boot0003* Fedora
字段说明
字段 说明
BootCurrent 当前本次启动所使用的条目编号
BootOrder 启动尝试顺序,从左到右依次尝试
Boot#### 各启动条目,* 表示该条目当前已启用

💡 记下需要删除的条目编号(如 0003),后续步骤会用到。已卸载的系统条目通常仍出现在列表中,但实际引导文件可能已不存在。


二、确认 EFI 分区位置

2.1 查看磁盘分区结构

在删除 EFI 目录内的文件之前,需要先确认 EFI 系统分区(ESP)挂载在哪个设备上。使用 cfdisk 查看分区布局:

sudo cfdisk /dev/nvme0n1

如果你的硬盘是 SATA 接口,设备名称通常为 /dev/sda,请按实际情况替换。

如何识别 EFI 分区

在 cfdisk 的分区列表中,EFI 系统分区的 Type 列会显示为 EFI System,文件系统格式为 FAT32,容量通常在 100 MB ~ 512 MB 之间。

确认后按 q 退出 cfdisk,无需做任何修改。


三、删除弃用的引导文件

3.1 进入 EFI 目录

EFI 分区通常挂载在 /boot/efi,各系统的引导文件分别存放在以系统名称命名的子目录中:

cd /boot/efi/EFI/
ls -lh
目录结构示例
/boot/efi/EFI/
├── ubuntu/        ← 当前系统(请勿删除)
├── Windows/       ← Windows 引导文件
├── fedora/        ← 已卸载的 Fedora(可删除)
└── BOOT/          ← 备用引导文件,一般不要删除

3.2 删除目标引导目录

确认目录名称后,执行删除命令:

sudo rm -rf /boot/efi/EFI/需要删除的目录名
示例:删除已卸载的 Fedora 引导文件
sudo rm -rf /boot/efi/EFI/fedora

⚠️ 请勿删除以下目录:

  • 当前正在使用的系统引导目录(可通过第一步的 BootCurrent 对应确认)
  • BOOT/ 目录(包含 UEFI 备用引导程序 bootx64.efi,部分机器依赖它启动)

四、删除 UEFI 启动条目

4.1 移除失效的启动项

删除 EFI 文件后,UEFI 固件中对应的启动条目仍然存在,需要手动从 NVRAM 中移除:

sudo efibootmgr -b 引导序号 -B

参数说明:-b 指定条目编号,-B 表示删除该条目(Boot delete)。

示例:删除编号为 0003 的 Fedora 启动条目
sudo efibootmgr -b 0003 -B

4.2 验证清理结果

删除完成后,再次运行 efibootmgr 确认条目已被移除:

sudo efibootmgr

若输出的启动列表中已不再出现已删除的条目,说明清理成功。


参考资料

  • efibootmgr 使用手册 — Linux man-pages
  • EFI System Partition — ArchWiki
  • GRUB 与 EFI 引导修复 — Ubuntu 官方文档

Table of Contents

  • 一、查看当前 EFI 启动条目
    • 1.1 列出所有启动项
  • 二、确认 EFI 分区位置
    • 2.1 查看磁盘分区结构
  • 三、删除弃用的引导文件
    • 3.1 进入 EFI 目录
    • 3.2 删除目标引导目录
  • 四、删除 UEFI 启动条目
    • 4.1 移除失效的启动项
    • 4.2 验证清理结果
  • 参考资料

Recent Posts

  • 用python演示A星算法 Feb 1, 2026
  • 手动部署 Mattermost 到 Ubuntu Server 20.04 Apr 17, 2025
  • 在 Ubuntu Server 上部署 FTP 服务 Jul 9, 2024
  • LFS安装笔记本无线网卡驱动需要注意的几点问题 Jun 30, 2024
  • 为Typecho代码块添加一键复制按钮 Jun 28, 2024
← 使用 Lsyncd 实时同步目录内容 为Typecho代码块添加一键复制按钮 →
Powered by Hugo & Explore Theme.