防止在启动过程中强制更改 UEFI 启动顺序

防止在启动过程中强制更改 UEFI 启动顺序

在启动期间,如果 Ubuntu 在 UEFI 启动顺序中找不到自己,它会尝试在彼此之前自动添加另一个新条目。但我的 UEFI 设置有一个名为“启动顺序锁”的设置,可防止对其进行任何外部更改。

现在,每次启动时,Ubuntu 都会尝试添加其条目,打印“重置系统”,然后重新启动并从头开始,因为由于启动顺序锁定,新条目不会保留。

这就提出了一个问题,为什么在启动过程中它必须在 uefi 启动顺序中强制执行自定义条目。我使用完全便携式安装的外部 SSD,其中已经安装了自定义的独立 GRUB Bootloader,它还可以处理 Ubuntu 启动。因此,我只是不希望 Ubuntu 在启动顺序中插入或更改任何内容,或者优先于其他启动选项。

现在系统每次都陷入启动循环,直到我让它应用更改并插入“ubuntu”条目作为主启动选项,而不是其他所有选项。在允许创建条目的情况下,这也是不希望的,因为正如我所说,这是一个便携式安装,它不应该因任何原因干扰主机系统。

有没有可能完全阻止这种行为?

我目前发现的是:

  • dpkg-reconfigure grub-x86_64-efi经常提到的运行没有提供任何配置选项,命令只是立即返回
  • 运行dpkg-reconfigure grub-pc仅要求输入所需的 Linux 内核参数,无需输入其他任何内容
  • 或者设置grub2/update_nvramfalseviadpkg-communicate也不会改变任何东西

所讨论的系统是联想 Thinkpad P15v Gen 1,也带有完整的 Ubuntu 设置。除了这些帖子中常见的情况外,我目前没有任何双启动设置,而且 Windows 也没有安装在任何地方。不过,我可能会在将来添加其他操作系统,因此仅仅接受 Ubuntu 通过自己的 GRUB 安装自行启动对我来说也是不可接受的。

非常感谢任何帮助或建议!


编辑2021-09-02:
关于评论中提出的观点,我想补充一下我之前的信息,以使我的担忧更加清晰。

我的外部驱动器在磁盘的开头有自己的 EFI 分区。磁盘布局目前大致包括:

  • 1MiB 可用空间(用于与 MBR 兼容)
  • 256 MiB EFI 分区,fat32,标志:boot、hidden、esp
  • 512 MiB 分区用于独立 grub,fat32,标志:bios_grub
  • Ubuntu 的 32 GiB 交换分区,linux-swap
  • Ubuntu 的 256 GiB 分区,ext4
  • 有大量可用空间可供以后使用

我知道 Ubuntu 总是写入第一个 EFI 分区的问题,无论我在安装过程中选择什么目标。我已经解决了这个问题,方法是从无盘计算机安装它,只连接我的外部驱动器。
所以这对我来说不是什么问题,如果我之前没有把这个问题说清楚,我很抱歉。我的问题实际上只是关于 UEFI 启动顺序,以及防止 Ubuntu 在每次启动时为自己和它自己的根分区添加新条目(我发现它确实这样做了)。

正如您之前从我的分区布局中看到的,有一个独立的 GRUB 启动分区,其中包含它的 i386-pc 版本,而 x86_64-efi 版本正确安装在 EFI 分区内。我最初将磁盘设置为默认启动我的自定义 GRUB(它也已被覆盖,但我想这是另一个问题)。
我的目标是仅从这个独立版本的 GRUB 启动,独立于 Ubuntu 或我将来可能添加的任何操作系统。

因此,这实际上是两个问题,但原因相同:

  1. 它旨在实现便携性,因此我不希望它在连接到的任何系统上留下痕迹
  2. Ubuntu 在 UEFI 启动顺序中添加条目也完全打破了我最初使用独立 GRUB 安装的想法

我想要实现的是启动 Ubuntu,而无需搜索、创建或重新排序任何启动列表条目。这可能吗?

相关内容