我怎样才能阻止 Ubuntu 更新 grub?

我怎样才能阻止 Ubuntu 更新 grub?

我有一个三重启动系统:Manjaro、Ubuntu 和 Fedora。Manjaro 和 Fedora 不会引起任何启动问题,但是,大约每 5 次或 6 次 Ubuntu 更新时,Ubuntu 就会更改 GRUB 顺序并尝试变为顺序 1,在大多数情况下,它会将我带出 GPT 并将我放入 Ubuntu 根分区的 MBR 中。(Manjaro 故意位于位置 1)。

我一直在使用 efibootmgr 来解决这个问题,这并不难,只是在工作时发生时很烦人。在最近的 Ubuntu 更新中,他们又做了一次,efibootmgr 进程无法解决问题。此外,efibootmgr -v 顺序无法识别。

在 gparted 中我的分区是:

nvme0n1p1- uefi (fat32)
nvme0n1p2- swap (linux Swap)
nvme0n1p3- Ubuntu root (ext4)
nvme0n1p4- Ubuntu home (ext4)
nvme0n1p5- Manjaro root (ext4)
nvme0n1p6- Manjaro home (ext4)
nvme0n1p7- Fedora root (ext4)
nvme0n1p8- Fedora home (ext4)

efibootmgr 顺序如下:

nicole@nicole-Ubuntu:~$ efibootmgr -v
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0025,0000,0026,0018,0019,001A,001B,001C,001D,001E,001F,0020,0021,0022
Boot0000* ubuntu    HD(1,GPT,45c075c7-049f-4593-9fb0-aaab4ab0d960,0x800,0x1f4000)/File(\EFI\ubuntu\shimx64.efi)
Boot0010  Setup FvFile(721c8b66-426c-4e86-8e99-3457c46ab0b9)
Boot0011  Boot Menu FvFile(126a762d-5758-4fca-8531-201a7f57f850)
Boot0012  Diagnostic Splash Screen  FvFile(a7d8d9a6-6ab0-4aeb-ad9d-163e59a7a380)
Boot0013  Lenovo Diagnostics    FvFile(3f7e615b-0d45-4f80-88dc-26b234958560)
Boot0014  Regulatory Information    FvFile(478c92a0-2622-42b7-a65d-5894169e4d24)
Boot0015  Startup Interrupt Menu    FvFile(f46ee6f4-4785-43a3-923d-7f786c3c8479)
Boot0016  Rescue and Recovery   FvFile(665d3f60-ad3e-4cad-8e26-db46eee9f1b5)
Boot0017  MEBx Hot Key  FvFile(ac6fd56a-3d41-4efd-a1b9-870293811a28)
Boot0018* USB CD    VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,86701296aa5a7848b66cd49dd3ba6a55)
Boot0019* USB FDD   VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,6ff015a28830b543a8b8641009461e49)
Boot001A* NVMe0 VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,001c199932d94c4eae9aa0b6e98eb8a400)
Boot001B* NVMe1 VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,001c199932d94c4eae9aa0b6e98eb8a401)
Boot001C* ATA HDD1  VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f601)
Boot001D* ATA HDD2  VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f602)
Boot001E* ATA HDD0  VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f600)
Boot001F* USB HDD   VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,33e821aaaf33bc4789bd419f88c50803)
Boot0020* PCI LAN   VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,78a84aaf2b2afc4ea79cf5cc8f3d3803)
Boot0021  Other CD  VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a35406)
Boot0022  Other HDD VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f606)
Boot0023* IDER BOOT CDROM   PciRoot(0x0)/Pci(0x14,0x0)/USB(15,1)
Boot0024* IDER BOOT Floppy  PciRoot(0x0)/Pci(0x14,0x0)/USB(15,0)
Boot0025* ATA HDD   VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f6)
Boot0026* ATAPI CD  VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a354)
nicole@nicole-Ubuntu:~$ 

用于显示其他可启动卷的条目不再存在。

虽然我还没有完成研究如何修复这个最新更新注入的错误,以便我可以重新使用 Manjaro,但任何帮助修复它的帮助都会受到感谢。我真正想要的是一个更新选项,它允许我保持我的 ubuntu 更新,但过滤掉 Ubuntu 修改 grub 菜单的任何尝试。

有人建议修复方法是退回到以前的内核,但这不是我想要的,我希望 Ubuntu 内核的更新保持最新,我只是不希望 Ubuntu 更改 GRUB 启动(所有 3 个系统使用)来更改 grub 菜单。

答案1

我找到了答案,我想我会把它发布在这里,供其他遇到这个问题的人参考。虽然我没有找到阻止 Ubuntu 更改 grub 的方法,但我确实找到了如何将其恢复到 Manjaro 控制。

在 forum.manjaro.org 上找到解决方案

解决方案是强制 Majaro 重新控制 grub

要解决 grub 问题,请按照下列步骤操作:

  1. 从 Manjaro live-usb 启动 – 在提示符下(此时无需使用 sudo)
  2. manjaro-chroot -a(这需要一分钟才能进入下一步,因为它正在加载你的 Manjaro 分区
  3. 将显示已安装的 Linux 操作系统列表。在我们的例子中:0) Ubuntu
    1. Manjaro/linux
    2. Fedora 选择 #1 Manjaro/linux
  4. sudo grub-install dev/sdx(sdx 是系统的启动分区。在我们的例子中是 nvme0n1p1)

将会进行快速安装,并在完成之前检查错误。如果没有错误,将会显示一条消息通知您。 参见下图:

退出并重新启动,grub 已回到 Manjaro 控制。

相关内容