删除位于 sda 中的 GRUB2?以及如何修复 EFI Boot 选择器中的两个 Ubuntu 条目?

删除位于 sda 中的 GRUB2?以及如何修复 EFI Boot 选择器中的两个 Ubuntu 条目?

我的华硕 K55V 笔记本电脑上有 EFI Windows 8。EFI 分区是sda1

我尝试在 EFI 模式下安装 Ubuntu,并为 Ubuntu 引导加载程序创建/选择了单独的引导分区。

Ubuntu 安装完美,但我在 EFI 设置中得到了 2 个启动项。当我尝试在 EFI 设置(BIOS 屏幕)中删除它时,它在重启时恢复。

所以我尝试boot-repair从 live-usb 执行此操作,结果是它将 GRUB2 添加到我的sda分区。但它没有解决 2 个 Ubuntu 启动项。所以我删除了 Ubuntu 分区(boot/swap/mount),以从我的笔记本电脑中删除 Ubuntu。

现在的问题是 GRUB2sda在 EFI 启动选择器中列出(但实际上并未安装 Ubuntu)。

检查一下http://paste.ubuntu.com/1554147/

我需要两个解决方案:

  1. 如何从sda分区中删除 GRUB2?
  2. 如何在没有 2 个启动项的情况下安装 Ubuntu?sda1安装 Ubuntu 时是否应选择 (EFI 分区) 作为引导加载程序分区?

答案1

在 UEFI 模式下从 Ubuntu 映像启动。选择“尝试不安装”。

首次运行sudo apt-get install efibootmgr(无需互联网连接)

然后使用 查看条目sudo efibootmgr -v。它给出了许多这样的条目:

$ sudo efibootmgr -v
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,0001,0003
Boot0000* rEFInd Boot Manager   HD(1,28,96000,bc34b60c-6611-492f-99b0-d2c37bd77f48)File(\EFI\refind\shim.efi)
Boot0001* fedora    HD(1,28,96000,bc34b60c-6611-492f-99b0-d2c37bd77f48)File(\EFI\fedora\grubx64.efi)
Boot0003* ubuntu    HD(1,28,96000,bc34b60c-6611-492f-99b0-d2c37bd77f48)File(EFI\Ubuntu\grubx64.efi)

ubuntu然后尝试使用以下代码删除条目

$ sudo efibootmgr -b 3 -B

答案2

在 EFI 中,引导加载程序只是文件。Ubuntu 的 GRUB 存储EFI/ubuntu/grubx64.efi在 EFI 系统分区 (ESP) 上——/dev/sda1就您而言。因此,要删除 GRUB,您必须删除该文件。

不过,我怀疑你的根本问题实际上不是文件问题;而是另外两件事之一(你的描述不够清楚,无法确定是哪种情况):

  • 您的固件内置启动管理器中有两个 Ubuntu 条目。
  • 您在 GRUB 中有两个 Ubuntu 条目。

我见过 Ubuntu 创建两个 EFI 启动管理器条目,在这个系统(基于 ASUS 主板)上,它们似乎很难被删除。使用efibootmgr应该可以删除额外的条目,例如efibootmgr -b 0007 -B删除条目 #7;但在出现此问题的系统上,有问题的条目总是不断重新出现。也许这是一个固件错误,或者可能是 Ubuntu 启动脚本出了问题。这其实不是什么大问题,因为计算机通常会启动到默认条目,所以我唯一一次看到额外的条目是当我需要使用固件的启动管理器从我的默认启动加载程序切换时。在我的情况下,唯一能摆脱重复条目的方法是完全清除全部通过固件更新删除条目。此后,我最终只剩下一个条目。也许使用efibootmgr删除两个条目会产生类似的效果。

如果 GRUB 菜单中有两个 Ubuntu 条目,那么它们出现在那里可能是有原因的——为了启动两个不同的内核或以两种不同的方式启动(例如,正常启动和单用户模式)。我不建议尝试调整这一点,但如果您决心这样做,您可以寻找一个名为“GRUB Customizer”的工具,它应该可以简化 GRUB 配置。不过,我手边没有 URL。

相关内容