简介:我使用的是 Windows 10,并在双启动中安装了 Ubuntu 18.04,效果很好,直到我决定卸载 Ubuntu 并保留 Windows 10。卸载没有按预期进行,我无法访问 Windows 10 启动管理器。
后来我重新安装了 Ubuntu 和 Windows 10,但 GRUB 在其启动菜单中显示了多个我不想要的条目。下面是我的 GRUB 启动菜单的屏幕截图。
到目前为止我已经尝试过:
使用 Boot Repair 修复 Grub。
在 askubuntu 和其他论坛上遇到过各种类似的问题,但我不知道具体该怎么做,以及要删除哪个启动项。我是 Ubuntu 新手,任何帮助都将不胜感激。
这是启动修复日志:https://paste.ubuntu.com/p/pwJxxJjYzZ/这是我的启动信息:https://paste.ubuntu.com/p/CkCRhn7S8s/
启动管理器驱动器:
以下是文本输出:
BootCurrent: 0018
Timeout: 2 seconds
BootOrder: 0018,0019,0005,0006,0007,0008,0009,0004
Boot0000* IDER BOOT CDROM PciRoot(0x0)/Pci(0x16,0x2)/Ata(0,1,0)
Boot0001* IDER BOOT Floppy PciRoot(0x0)/Pci(0x16,0x2)/Ata(0,0,0)
Boot0002* ATA HDD VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f6)
Boot0003* ATAPI CD VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a354)
Boot0004* PCI LAN VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,78a84aaf2b2afc4ea79cf5cc8f3d3803)
Boot0005* USB CD VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,86701296aa5a7848b66cd49dd3ba6a55)
Boot0006* USB FDD VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,6ff015a28830b543a8b8641009461e49)
Boot0007* NVMe0 VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,001c199932d94c4eae9aa0b6e98eb8a400)
Boot0008* ATA HDD0 VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f600)
Boot0009* USB HDD VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,33e821aaaf33bc4789bd419f88c50803)
Boot000A Setup FvFile(721c8b66-426c-4e86-8e99-3457c46ab0b9)
Boot000B Boot Menu FvFile(126a762d-5758-4fca-8531-201a7f57f850)
Boot000C Diagnostic Splash Screen FvFile(a7d8d9a6-6ab0-4aeb-ad9d-163e59a7a380)
Boot000D Lenovo Diagnostics FvFile(3f7e615b-0d45-4f80-88dc-26b234958560)
Boot000E Startup Interrupt Menu FvFile(f46ee6f4-4785-43a3-923d-7f786c3c8479)
Boot000F Rescue and Recovery FvFile(665d3f60-ad3e-4cad-8e26-db46eee9f1b5)
Boot0010 MEBx Hot Key FvFile(ac6fd56a-3d41-4efd-a1b9-870293811a28)
Boot0011 Startup Interrupt Menu FvFile(f46ee6f4-4785-43a3-923d-7f786c3c8479)
Boot0012 Rescue and Recovery FvFile(665d3f60-ad3e-4cad-8e26-db46eee9f1b5)
Boot0013 MEBx Hot Key FvFile(ac6fd56a-3d41-4efd-a1b9-870293811a28)
Boot0014* IDER BOOT CDROM PciRoot(0x0)/Pci(0x16,0x2)/Ata(0,1,0)
Boot0015* IDER BOOT Floppy PciRoot(0x0)/Pci(0x16,0x2)/Ata(0,0,0)
Boot0016* ATA HDD VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f6)
Boot0017* ATAPI CD VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a354)
Boot0018* ubuntu HD(1,GPT,961a0049-1bbe-4587-8dda-2d37421f1e6b,0x800,0x76800)/File(\EFI\ubuntu\shimx64.efi)
Boot0019* Windows Boot Manager HD(1,GPT,961a0049-1bbe-4587-8dda-2d37421f1e6b,0x800,0x76800)/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.}...o................
我想要的是:
如果可能的话,我只想保留两个启动条目(或本机 Ubuntu 和 Windows 条目,另行注意):Ubuntu Windows 启动管理器(在 /dev/sda1/ 上)
注意:我已启用 UEFI 和安全启动,但我的 BIOS 不允许禁用。
答案1
备份!备份!备份!
我还没有这样做过,我要建议的是危险的。制定恢复计划至关重要。
首先,制作 EFI 分区的磁盘映像,这样如果出现问题,您可以恢复 EFI 分区并回到开始的位置。制作磁盘映像文件的方法有很多种。下面是其中一种:
- 从 Ubuntu Live USB 启动并使用“无需安装即可试用 Ubuntu...”选项。
- 打开“磁盘”实用程序。
- 从左侧面板中选择内部驱动器。
- 从主窗口中选择 EFI 分区。
- 确保它尚未安装。
- 从右上角的汉堡菜单≡中选择“创建磁盘映像...”。
- 确保目标分区/磁盘有足够的空间。选择要保存映像文件的文件夹。
- 点击Start Creating按钮并等待很长时间。
如果出现问题,您应该能够从该映像恢复分区。
理解
了解输出sudo efibootmgr
和 Grub 启动菜单之间的关系。让我们重点关注输出的第一部分:
BootCurrent: 0018
Timeout: 2 seconds
BootOrder: 0018,0019,0005,0006,0007,0008,0009,0004
Grub 菜单截图:
第一行sudo efibootmgr
告诉我们默认启动,这对应于 Grub 菜单的第一行*Ubuntu
。Grub*
菜单中的 表示这是默认选择的。
由此我们得知,0018
输出sudo efibootmgr
对应于*Ubuntu
Grub 菜单中。
我们将忽略第二行sudo efibootmgr
。第三行告诉我们 Grub 菜单中 8 个条目的启动顺序:
0018
->*乌布努
0019
->Windows UEFI bootmgfw.efi
0005
->EFI/BOOT/bkpbootx64.efi
0006
->EFI/BOOT/fbx64.efi
0007
->EFI/ubuntu/fwupx64.efi
0008
->EFI/ubuntu/mmx64.efi
0009
->Windows 启动管理器(在 /devsda1 上)
0004
->系统设置
现在我们了解了输出和 Grub 菜单之间的关系,我们可以制定一个策略来删除我们不需要的efibootmgr
条目。efibootmgr
根据您的问题,我们只需要0018
、 和0019
。其余的可以删除。
看“efibootmgr -v”输出的解释了解更多信息。
删除!删除!!删除!!
这是最困难、最危险的部分。
您将需要删除条目0005
、、、、和。您可能还想删除 Grub 菜单中未显示的其他启动条目,但这可能会导致意外行为,因此我不建议这样做0006
。0007
0008
0009
0004
如果你想过着危险的生活,鲁莽行事,你可能想删除不活跃*
启动项旁边没有星号,例如:
Boot000A Setup FvFile(721c8b66-426c-4e86-8e99-3457c46ab0b9)
但是这些条目不会出现在 Grub 菜单中,所以您不需要为了您想要的目的而删除它们。
首先0005
使用以下命令:
sudo efibootmgr -b 5 -B
根据efibootmgr
输出结果和 Grub 菜单的对应关系,我们知道这个启动项对应着/boot/efi
分区中的一个文件,具体来说就是/boot/efi/EFI/BOOT/bkpbootx64.efi
。所以我们也可以删除这个文件,命令如下:
sudo rm /boot/efi/EFI/BOOT/bkpbootx64.efi
验证!验证!验证!
警告删除启动项后,efibootmgr 中的启动项可能已发生改变0005
。运行以下命令:
sudo efibootmgr --verbose
验证启动项编号是否未发生改变。如果已发生改变,请按照上述步骤查找efibootmgr
输出与 Grub 菜单之间的映射。重新启动计算机并拍摄一张新的 Grub 菜单图片以确保无误。
这也是一个很好的时机来验证 Grub 菜单是否仍然按预期工作并且您仍然可以启动 Windows 和 Ubuntu。
如果 Grub 仍然显示EFI/BOOT/bkpbootx64.efi
在菜单中,则必须运行:
sudo update-grub
在 Grub 中进行更改。
对其他启动项重复上述操作
验证一切正常后,对下一个 Grub 条目和efibootmgr
输出中的相应启动条目再次执行此操作
最后的想法:我还没有测试过这个解决方案,而且你总是有可能误删了错误的条目或错误的文件。如果发生这种情况,我希望你能从你创建的映像文件中恢复分区。
希望这可以帮助