当前位置:首页>Linux>在Linux下清理UEFI信息

在Linux下清理UEFI信息

  • 2026-10-01 19:42:49
在Linux下清理UEFI信息
删除磁盘上的win10之后,只是删除了/boot/grub/grub.cfg中的Windows条目,并未清理EFI分区中残留的引导项。
后面在Linux下更新内核以后,grub发现了UEFI中的Windows Boot Manager,然后又自动给我添加回来了。
作为对比,Windows可是会毫不犹豫的干掉Linux引导的——商业软件相比自由软件,天生的格局就小很多。

怎么彻底删除Windows的引导信息呢,只要移除引导列表即可。

从启动选项列表中移除

看看有哪些:

$ sudo efibootmgr -vBootCurrent: 0010Timeout: 5 secondsBootOrder: 0011,0010,000A,000B,0012,000D,000C,0013,0000,0001,0002,0003,0004,0005,0006,0007,0008,0009,000F,000EBoot0000  Startup Menu	FvVol(a881d567-6cb0-4eee-8435-2e72d33e45b5)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)....ISPHBoot0001  System Information	FvVol(a881d567-6cb0-4eee-8435-2e72d33e45b5)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPHBoot0002  Bios Setup	FvVol(a881d567-6cb0-4eee-8435-2e72d33e45b5)/FvFile(9d8243e8-8381-453d-aceb-c350ee7757ca)......ISPH...Boot000A* Windows Boot Manager	HD(1,GPT,21e4e59e-9587-454d-afd7-3ebf7592dc68,0x800,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...,....................ISPH...

里面东西很多,这次只需要注意这个Windows Boot Manager就是了,这里它的序号是000A

$ sudo efibootmgr -b 000A -BBootCurrent: 0010Timeout: 5 secondsBootOrder: 0011,0010,000B,0012,000D,000C,0013,0000,0001,0002,0003,0004,0005,0006,0007,0008,0009,000F,000EBoot0000  Startup MenuBoot0001  System InformationBoot0002  Bios Setup...

现在重启后引导选项就没有Windows Boot Manager了,最后记得把grub.conf里面的Windows条目删除。

彻底清除

最后(可选,非必须)清理文件文件,通常这个分区以及挂载到/boot/efi,如果没有就自己mount一下,它的格式是fat32。

$ lsblk -fNAME        FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS...nvme0n1                                                                            ├─nvme0n1p1 vfat   FAT32       BCF3-8902                                59M    39% /boot/efi...

可以看到相关文件

$ sudo ls /boot/efi/EFI/MicrosoftBoot  Recovery

删除整个目录

$ sudo rm -rf /boot/efi/EFI/Microsoft

根据efi中的引导镜像添加到启动选项

如下,为Debian Linux添加一个efi启动入口。

程序默认会使用被删除而空缺的序号000A

$ sudo efibootmgr --create --disk /dev/nvme0n1 --part 1 --label "Debian Linux" --loader \\EFI\\debian\\shimx64.efiBootCurrent: 0010Timeout: 5 secondsBootOrder: 000A,0011,0010,000B,0012,000D,000C,0013,0000,0001,0002,0003,0004,0005,0006,0007,0008,0009,000F,000E...Boot000A* Debian Linux

最新文章

随机文章