先把最重要的风险说在前,免得操作完开不了机。ESP 分区是 UEFI 电脑开机必备的引导分区,如果你现在正在用这块 ESP 启动 Ubuntu 或者 Windows,绝对不能完整删除整个分区,只会做两件事:一是临时卸载 / 取消开机自动挂载 /boot/efi,二是只清理分区里 Ubuntu 的引导文件;只有第二块硬盘、闲置旧盘上多余无用的 ESP 分区,才能彻底删掉整块分区。
下面分两种场景讲,一种是日常需求:仅取消系统对 /boot/efi 的自动挂载、清理 Ubuntu 引导残留,不删除 ESP 分区本体(绝大多数人用这个);另一种是闲置磁盘,彻底删除整块没用的 ESP 分区。所有命令都适配 Ubuntu 26.04,复制就能直接跑。
先做前置检查,确认你手里的 ESP 分区信息,避免删错盘。
查看当前系统正在挂载的 ESP:
findmnt /boot/efi
输出里能看到分区设备路径、UUID、文件格式 vfat。
/boot/efi /dev/nvme0n1p1 vfat rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro
列出所有磁盘的分区,定位 ESP:
lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,PARTLABEL
带 PARTLABEL=EFI System Partition、FSTYPE=vfat 的就是 ESP,NVMe 硬盘一般是 /dev/nvme0n1p1,SATA 盘为 /dev/sda1。
查看主板固件里的启动项,确认 Ubuntu 引导条目:
efibootmgr -v
带 Ubuntu 字样的 BootXXXX 编号,后面清理引导会用到。
场景一:仅取消 /boot/efi 自动挂载,清理 Ubuntu EFI 引导(推荐,双系统 / 本机正在使用 ESP)
这个场景适合只想删掉 GRUB 开机选项、不再挂载 /boot/efi,但还要保留 ESP 给 Windows 启动使用的双系统用户,不会破坏 Windows 引导文件。
第一步,临时卸载当前挂载的 /boot/efi
sudo umount /boot/efi
如果提示设备忙,重新挂载为读写再卸载:
sudo mount -o remount,rw /boot/efi
sudo umount /boot/efi
第二步,删除 /etc/fstab 里 ESP 自动挂载条目,永久取消开机挂载
sudo nano /etc/fstab
找到类似下面这一行,直接整行删除:
UUID=ABCD-1234 /boot/efi vfat umask=0077 0 1
按 Ctrl+O 保存,Ctrl+X 退出,执行重载挂载配置确认无报错:
sudo mount -a
没有输出报错就代表 fstab 修改生效,重启后系统不会再自动挂载 /boot/efi。
第三步,清空 ESP 内 Ubuntu 所有引导文件(切记不要删 Microsoft 文件夹)
临时重新挂载 ESP 分区,用来清理残留文件,替换成你自己查到的 ESP 设备路径:
sudo mkdir -p /mnt/tmp-efi
sudo mount -t vfat /dev/nvme0n1p1 /mnt/tmp-efi
只删除 Ubuntu 相关引导目录,Windows 启动文件不动:
sudo rm -rf /mnt/tmp-efi/EFI/ubuntu
# 可选,删除GRUB备用引导文件
sudo rm -rf /mnt/tmp-efi/EFI/BOOT/BOOTX64.EFI
清理完成后卸载临时挂载目录:
sudo umount /mnt/tmp-efi
sudo rmdir /mnt/tmp-efi
第四步,删除主板 UEFI 固件里 Ubuntu 开机启动项
先用 efibootmgr 记下 Ubuntu 对应的 Boot 编号,比如 Boot0001:
sudo efibootmgr -b 0001 -B
-b 后跟启动项编号,-B 代表彻底删除该固件启动条目,重启开机就不会再出现 GRUB 引导菜单。
第五步,彻底卸载系统内所有 GRUB EFI 相关组件(可选)
如果完全不用 Ubuntu 了,可以清理全部 efi 引导软件,释放空间:
sudo apt purge grub-efi-amd64 grub-efi-amd64-bin grub-efi-amd64-signed grub-common shim-signed -y
sudo apt autoremove -y
场景二:彻底删除整块闲置 ESP 分区(仅第二块硬盘 / 旧系统盘,本机不从该盘启动)
只有确认这块 ESP 所在硬盘不是电脑开机启动盘,才能执行分区删除操作,误删系统盘 ESP 会直接整机无法开机。
第一步,确认分区未挂载,先卸载(如果有挂载)
sudo umount /boot/efi
# 或临时挂载点
sudo umount /mnt/tmp-efi
第二步,使用 fdisk 交互式删除分区,示例磁盘 /dev/sdb,ESP 分区号 1
sudo fdisk /dev/sdb
依次输入指令:
- d (删除分区)
- 1 (填入 ESP 对应的分区编号)
- w (写入分区表修改并退出)
第三步,通知内核刷新分区表,不用重启就能识别改动
sudo partprobe
也可以用 parted 一键删除,更直观:
sudo parted /dev/sdb rm 1
补充常见踩坑说明
- 单系统 Ubuntu,整块 ESP 是唯一引导分区:只能清理 ubuntu 文件夹、取消挂载,千万不要删除整个 ESP 分区,重启直接进 BIOS 无系统。
- 双系统共用一块 ESP 分区:只删 EFI/ubuntu 目录,Microsoft 文件夹不能动,否则 Windows 无法启动。
- 执行 umount 提示 target is busy:关掉所有打开 ESP 目录的终端、文件管理器再重试。
- 重启后依然出现 GRUB 菜单:代表 efibootmgr 没有删掉对应固件启动项,重新执行删除 Boot 编号命令。
- 操作后想恢复挂载 /boot/efi:把 ESP 的 UUID 写回 /etc/fstab,执行 sudo mount -a 即可复原。
简单总结两种使用场景:
日常双系统清理 Ubuntu 引导、不想自动挂载 /boot/efi,走场景一整套流程;旧硬盘、闲置磁盘上无用的 ESP 分区,确认不参与开机引导后,再执行场景二彻底删除分区。全程按步骤核对分区设备名,基本不会出现引导损坏的问题。