我刚刚在我的系统上安装了一个新的 ubuntu,它与另一个 Linux 发行版并存。我原来的 Linux 发行版使用 grub 启动。然而现在,当我启动笔记本电脑时,它会启动到一个新的 grub,该 grub 源自新的 ubuntu 安装,其中不包含我的原始发行版的条目。如果我删除 ubuntu 的 UEFI 条目,我的机器将启动到原来的 grub,其中包含一个在新 grub 中启动的新条目。
然而真正的问题才开始。如果我启动到 ubuntu,它会以某种方式“恢复”UEFI 条目,这意味着下次启动时它会再次启动到 ubuntu grub。
我不知道如何解决这个问题。理想情况下我只想吃一个幼虫。但是如何删除新安装的 ubuntu grub 并添加启动到新 ubuntu 的正确条目呢?
答案1
正如 rastafile 指出的那样,发行版之间几乎没有合作。达到他们可以一起工作的地步比听起来更难。许多发行版都提供了旨在使用的签名版本全员生产管理几乎不可能提出一种商业安排,允许一个发行版将更改放入另一个发行版的配置中。
然而... 我会很惊讶您看到 EFI 的任何实例在完整安装之外自动更新。软件包更新通常会触发更改(grub 菜单)update-grub
的内容。/boot/grub
更新不通常情况下grub-install
写入的触发器/boot/efi/EFI/ubuntu
。
您可能只删除了 UEFI 的 BIOS 条目,而没有删除文件。 UEFI BIOS 条目有点棘手,有些东西会注意到 EFI 分区上的文件并自动重新恢复 BIOS 条目。一些较旧的(实施不佳)BIOS 只是在每次启动时重新扫描 EFI 分区以查找新条目。
另请注意,某些发行版确实会发生冲突,因为它们是从 Ubuntu 分叉出来的,并且不打算更改其 EFI 文件的位置。具体来说,我知道 Linux Mint 使用了EFI/ubuntu
他们早就应该切换到的地方EFI/mint
。
如果您遇到问题,只需卸载 Ubuntu 的 Grub:
从 Ubuntu 中彻底删除 grub。如果您的其他发行版已成功为 Ubuntu 创建 grub 菜单项,则不需要在两个发行版中都安装 grub。
# Find grub packages with dpkg --list | grep grub # Remove these packages replacing "..." for the package names. sudo apt-get autoremove ...
由于您之前删除了 BIOS 中的 EFI 条目,因此您可能还想从文件系统中删除 EFI 文件。
# DO NOT DO THIS IF you are using Linux Mint or Kali sudo rm -rf /boot/grub/efi/EFI/ubuntu