[UEFI][GRUB] 启动修复不断将 MokManager.efi 添加到启动菜单中

[UEFI][GRUB] 启动修复不断将 MokManager.efi 添加到启动菜单中

我在安装 Arch 和 Ubuntu 时遇到了麻烦(特别是它没有加载 FAT32)。我运行了 boot-repair 以为它可以解决问题。但它将 MokManager.efi 添加到了 grub 启动菜单列表中。

这是我所做的 -

  1. 格式化 Arch 分区。
  2. 创建了我的 /boot 分区的备份。
  3. 从 /boot/efi 中删除所有内容。
  4. 放置memtest86+配置、System.map、initrd维姆林兹FAT32 启动分区的 /boot 和 /boot/efi 中的文件。
  5. 通过删除 MokManager 条目检查更新的 /etc/grub.d/25_custom 文件。
  6. update-grub
  7. 再次运行启动修复

但出于某种原因,boot-repair 再次将 MokManager.efi 文件添加到 /boot/efi/ubuntu 和 /boot/efi/efi/ubuntu 文件夹中。我也不确定为什么它一直在 /boot/efi 中创建一个 efi 文件夹。但它在下一次 boot-repair 时再次出现。

我可以备份我的主文件夹并重新安装整个文件夹,但我不明白 MokManager 文件从哪里不断出现。对此有什么想法吗?

答案1

首先,要知道这MokManager.efi是一个用于管理机器所有者密钥 (MOK) 的工具,MOK 是 Shim 用来在安全启动处于活动状态时启动您选择的操作系统的安全启动密钥。如果您的计算机上的安全启动处于活动状态,您可能应该安装 MokManager 并可以从 GRUB 访问,这样您就可以在需要时启动您选择的应急工具。如果您的计算机上的安全启动处于非活动状态或不受支持,MokManager 就是无用的——但它的无用性并不大,所以我不会太担心它。(您会在任何现成的 Linux 发行版中发现更多无用的垃圾,而且很少有人会翻遍所有这些文件来清除它们。)

话虽如此,我猜 Boot Repair 正在MokManager.efi从软件包安装的文件中查找二进制文件shim。具体来说,文件是/usr/lib/shim/MokManager.efi.signed(复制到 ESP 时,它会被重命名以省略.signed扩展名)。如果您确实不需要 Secure Boot,您可以尝试删除该软件包——但其他软件包可能依赖于它,因此您可能需要删除不止一个。另一方面,如果您从实时 CD 运行 Boot Repair,可以想象它会从那里而不是从常规安装中提取 MokManager,因此从常规安装中删除文件可能无效。出于类似的原因,编辑本地 GRUB 配置文件可能不会有太大用处。

将 memtest86+、config、System.map、initrd 和 vmlinuz 文件放在 FAT32 启动分区的 /boot 和 /boot/efi 中。

“FAT32 启动分区”称为EFI 系统分区 (ESP)。如果您使用的是 GRUB,则无需将大部分文件复制到 ESP,当然也不必复制到该分区上的boot或目录。默认情况下,ESP 上不存在这两个目录。但请注意,ESP 通常安装在,因此根据您的描述,您可能已将这些文件复制到您的正常 Ubuntu 发行版中和/或复制到boot/efi/boot/efi/bootESP。(处理 ESP 时,了解挂载点至关重要。EFI 可能会将文件视为fs0:\EFI\ubuntu\grubx64.efi,但该文件很可能位于/boot/efi/EFI/ubuntu/grubx64.efiUbuntu 中。您从完整的 Ubuntu 文件路径中“删除”挂载点,以确定文件在分区本身上的位置。EFI 不知道 Ubuntu 挂载点是什么,因此无需使用 Ubuntu 挂载点即可访问文件。)

在这些文件中,大多数属于Ubuntu /boot目录不在 ESP 上。(在某些情况下,/boot它本身就是一个单独的分区。)各种memtest86+*文件也应该放在 中/boot,由memtest86+软件包自动放置在那里。应该不需要调整其中任何一个。如果您一直在复制这些文件以实现某个特定目标,那么也许您应该分享这个目标,因为除非您省略了一些关键细节(例如,如果您打算在计算机上使用 gummiboot/systemd-boot),否则您不太可能做对。

一般来说,所有这些东西都应该可以正常工作。如果它不工作,那么肯定是出了问题,你所描述的操作不太可能有帮助,所以知道问题出在哪里对于帮助你至关重要。如果你只是想从你的 GRUB 菜单中移除 MokManager,我建议你不要费心——如果你坚持要尝试,复制你的内核和其他文件将不是帮助;您需要调整 GRUB 配置文件并运行update-grub。(恐怕我不知道您要做什么才能删除 MokManager。)或者,您可以从 GRUB 切换到任何其他几个适用于 Linux 的 EFI 引导加载程序。

相关内容