从 EFI 中删除 GRUB 引导加载程序

Cyb*_*ran 6 grub ubuntu uefi

在 Ubuntu 20.04 上,我想删除默认 GRUB 安装的 EFI 引导加载程序。基本上,我正在寻找 的倒数grub-install,它不会留下任何功能失调的残留物(EFI 分区上的文件、NVRAM 条目等)。

  • 我不想卸载 GRUB 软件包
  • 我不想卸载 Linux
  • 我没有 Windows
  • 同一驱动器上还安装了其他具有自己的 EFI 引导加载程序的操作系统,这些操作系统必须不受影响

我没有找到类似的命令grub-uninstall,但一定有一些简单的方法,对吧?

小智 6

它不像 grub 在 EFI 分区中占用的空间很大,在我的例子中/boot/efi/EFI/ubuntu/占用了 4.4 MB....

也许如果引导加载程序只是打扰你可以使用:

推荐的替代方案

  1. 用于efibootmgr管理启动选项
:~$ efibootmgr

BootCurrent: 0003
Timeout: 0 seconds
BootOrder: 0000,0003,0004,0005
Boot0000* ubuntu
Boot0003* rEFInd bootmgr
Boot0004* Windows Boot Manager
Boot0005* ubuntu
Run Code Online (Sandbox Code Playgroud)
  1. 更改启动顺序
:~$ sudo efibootmgr --bootorder 0003,0000,0004,0005

BootCurrent: 0003
Timeout: 0 seconds
BootOrder: 0003,0000,0004,0005
Boot0000* ubuntu
Boot0003* rEFInd bootmgr
Boot0004* Windows Boot Manager
Boot0005* ubuntu
Run Code Online (Sandbox Code Playgroud)
  1. 停用特定启动
:~$ sudo efibootmgr --bootnum 0000 --inactive

BootCurrent: 0003
Timeout: 0 seconds
BootOrder: 0003,0000,0004,0005
Boot0000  ubuntu
Boot0003* rEFInd bootmgr
Boot0004* Windows Boot Manager
Boot0005* ubuntu
Run Code Online (Sandbox Code Playgroud)

实际删除 EFI 中的内容

  1. 首先我们需要知道ESP安装在哪里。我们来调查一下。在 Linux 下,ESP 通常安装在/boot/efi,但有时安装在/boot、 或/efi。在 macOS 或 Windows 下,ESP 默认情况下未安装,因此您必须自行安装才能访问它。...更多信息在这里
:~$ sudo fdisk -l | grep -i efi
/dev/sda2    1024000   1638399    614400  300M EFI System
:~$ df | grep -i sda2
/dev/sda2         303104   113684    189420  38% /boot/efi
Run Code Online (Sandbox Code Playgroud)
  1. 要访问EFI引导部分,我们需要以超级用户身份访问

    A。通常你会这样做su

    b. Ubuntu 已su锁定帐户,因此您可以输入sudo -s

username@nodename:~$ sudo -s
[sudo] password for username: 
root@nodename:/home/username# cd /boot/efi/
root@nodename:/boot/efi#
Run Code Online (Sandbox Code Playgroud)
  1. 搜索grub在哪里:
:/boot/efi# find . -iname *grub*
./EFI/ubuntu/grubx64.efi
./EFI/ubuntu/grub.cfg
Run Code Online (Sandbox Code Playgroud)
  1. 我建议制作一个备份副本。

    A。cp -r ./EFI/ubuntu /home/username/tmp/ubuntu

    b. 复制的文件将拥有root所有者,为了能够访问它们,您需要更改其所有权sudo chown username -R /home/username/tmp/ubuntu/

  2. 现在您已经有了备份副本并确定可以由./EFI/ubuntu/...您决定删除您想要的内容...rm -r ./EFI/ubuntu/

祝你好运:)

PS我知道我的回答晚了5个月,但这是第一个搜索引擎匹配的内容,所以我决定在找到自己的答案后给出一个答案