安装 rEFInd 后我可以安全删除 grub 吗?

安装 rEFInd 后我可以安全删除 grub 吗?

我在我的电脑上使用 rEFInd 与 Windows 10 实现双启动,我想删除 GRUB,因为我不使用它并且操作系统直接从 rEFInd 启动,而不需要 GRUB(安装 rEFInd 后,我ubuntu从中删除了目录/boot/efi/EFI)。

我可以安全地做到这一点吗?如果可以,怎么做?

我的当前内容/boot/efi/EFI

maxim@ProBook:~$ sudo ls /boot/efi/EFI
Boot  Microsoft  refind  tools

已安装的 GRUB 软件包:

maxim@ProBook:~$ dpkg -l | grep grub
ii  grub-common                                    2.02~beta2-36+elementary11+r2~ubuntu0.4.1               amd64        GRand Unified Bootloader (common files)
ii  grub-efi-amd64                                 2.02~beta2-36+elementary11+r2~ubuntu0.4.1               amd64        GRand Unified Bootloader, version 2 (EFI-AMD64 version)
ii  grub-efi-amd64-bin                             2.02~beta2-36+elementary11+r2~ubuntu0.4.1               amd64        GRand Unified Bootloader, version 2 (EFI-AMD64 binaries)
ii  grub-efi-amd64-signed                          1.66.2+elementary11~ubuntu0.4.1+2.02~beta2-36ubuntu3    amd64        GRand Unified Bootloader, version 2 (EFI-AMD64 version, signed)
ii  grub2-common                                   2.02~beta2-36+elementary11+r2~ubuntu0.4.1               amd64        GRand Unified Bootloader (common files for version 2)

先感谢您!

答案1

简短的回答是“是的,如果 rEFInd 对你有用,你可以安全地删除 GRUB。”不过,也有一些注意事项。最值得注意的是,将来总有可能会出问题。例如,错误 #1649326,这会阻止内核 3.13.0-101 到至少 3.13.0-106 通过 rEFInd(或任何其他依赖 EFI 存根加载器的方法)启动。也就是说,考虑到 Ubuntu 保持当前启动的内核安装的方式,即使您遇到这样的问题,也应该能够通过 rEFInd 启动旧内核,无限期地启动或直到找到真正的解决方案。

至于如何删除 GRUB,以下命令应该删除包:

dpkg -P grub-efi-amd64 grub-efi-amd64-signed grub-common grub-efi-amd64-bin \
        grub-common grub2-common shim-signed

有三个注意事项:

  • 软件包变更可能需要对前面的软件包列表进行变更。(该列表取自这一页我几个月前写的 rEFInd 文档。
  • 此命令会删除软件包,但不会删除 ESP 上的 GRUB 二进制文件。要删除该文件,您需要键入sudo rm -rf /boot/efi/EFI/ubuntu
  • Ubuntu 可能会尝试重新添加 GRUB。为了解决这个问题,我个人使用了一个空的“虚拟”包,声称是 GRUB 3。您可以从这里,如果您想使用它。由于它声称是 GRUB 3,Ubuntu 不会尝试用 GRUB 2 替换它。

或者,您可以删除 ESP 上的文件,然后使用以下命令锁定已安装的 GRUB 版本:

apt-mark hold grub-efi-amd64 grub-efi-amd64-signed grub-common \
              grub-efi-amd64-bin grub-common grub2-common

这应该会使 GRUB 脱离 ESP 并阻止将来的 GRUB 更新,尽管您当前的 GRUB 包在技术上仍将保持安装状态。

第三种可能性是使用dont_scan_filedont_scan_dirsrefind.confUbuntu 的 GRUB 保留在 rEFInd 菜单中。此解决方案根本不会删除 GRUB,其优点是如果需要,它应该可以通过计算机的内置启动管理器访问。另一方面,如果 Ubuntu 应该更新 GRUB,它将接管作为默认启动管理器。请参阅这一页以获得关于如何处理此类问题的更多想法。

相关内容