GRUB 引导加载程序被覆盖

GRUB 引导加载程序被覆盖

我的个人电脑上除了 Lubuntu 之外还安装了 Linux Mint。

从那时起,我的电脑启动时会使用 Mint 的自定义 GRUB,而不是 Lubuntu 的 GRUB。每次 apt 安装新内核时,Lubuntu 仍会更新其引导加载程序,但它不会让这个引导加载程序出现在任何地方。

我更喜欢旧版 GRUB(主要是因为它可以自动启动 Lubuntu)。如何将其重新设为默认?

答案1

你没有提供你的盒子的具体信息 - 你正在使用通用接口安全 uEFI或者BIOS启动时?我将假设 BIOS 并介绍我所做的常见过程。

对于我自己的盒子(我每周都会进行 QA 测试和安装多次版本),通常有 1-6 个 (GNU/Linux,但主要是 Ubuntu 版本) 系统安装在一个盒子上,最后安装的总是会拥有 grub,并且在验证最后一次 QA 测试安装一切正常之后(并在 iso.qa.ubu.com 上报告测试...),

我启动了我想要的系统 grub 和

sudo update-grub
sudo grub-install /dev/sda

我使用第一个update-grub命令,以便它知道我上次安装和任何更改(例如 Lubuntu多毛的每天更新一次,其内核可能比之前安装的内核更新。其次,我让操作系统拥有 MBR 的所有权(主引导记录) BIOS 系统启动的磁盘(在这个例子中是我的 Debian Bullseye/sid;我没有在运行 Lubuntu 的主系统上进行测试)。

我假设 BIOS 可以解决这个问题,下面是我在特定机器上经常执行的步骤,但要根据你的特定机器进行调整;有些机器上不会这样/dev/sda

答案2

经典答案对于大多数用户来说:

  1. 登录您的 Lubuntu 系统。
  2. 跑步sudo update-grub

这是一个更复杂的答案,将菜单项从一个菜单转移到另一个菜单。但是,答案有点过时,所以我将在这里更新它:

  • 在两个操作系统上查找 /boot/grub/grub.cfg。将它们复制到可以并排查看的位置。
  • 每个 grub.cfg 文件的底部都有菜单设置。如果某个菜单设置缺失,请不要将其复制过来。
  • 在两个操作系统上查看 /etc/grub.d/。找到创建缺失菜单设置的文件。复制该文件。
  • 最后,运行以使用新设置sudo update-grub创建一个新文件。grub.cfg

有些人安装每个磁盘上有不同的操作系统,这可能意味着这些人安装了两个 GRUB,每个磁盘上一个。

  • 这仅适用于不同的磁盘。如果你在同一个磁盘上有两个分区,那么就使用 top。这对你没有帮助。
  • 您可以简单地在 BIOS 中选择要启动的磁盘。
  • 您可以使用前面的说明将一个菜单项复制到另一个 GRUB。您必须确保菜单项指向正确的磁盘。
  • 或者您可以完全覆盖其中一个 GRUB grub-install /dev/sdX(显然您必须X用正确的磁盘替换)。

相关内容