如何将第二个 Linux 发行版 (xubuntu) 添加到 grub?

如何将第二个 Linux 发行版 (xubuntu) 添加到 grub?

我在 pcie ssd 上安装了 Xubuntu,以便与 Mint 并行使用。但是,我仍然想在当前的 SATA SSD 驱动器上使用 Mint。理想情况下,我想确保 Xubuntu 安装是可启动的(我还无法启动),然后在 Grub 中为每个启动项都有一个条目。我有一个启动修复 USB,用于执行任何 grub 命令或生成更多信息。

我尝试了几种不同的 grub 安装组合,但到目前为止还没有成功。假设我希望当前的驱动器(Mint/SATA)来处理 grub 管理,是否有一种规范的方法可以将 xubuntu 发行版添加到 grub 中?

这是我的 lsblk 输出(不包括快照/循环设备)...

sda           8:0    0 111.8G  0 disk 
└─sda1        8:1    0 108.4G  0 part /
sr0          11:0    1  1024M  0 rom  
nvme0n1     259:0    0   477G  0 disk 
└─nvme0n1p1 259:1    0   477G  0 part /media/alpha/xubuntu

sda1 是我当前的 Mint 发行版所在的位置。

update-grub 的输出:

$ sudo update-grub
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/50_linuxmint.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.0-66-generic
Found initrd image: /boot/initrd.img-4.15.0-66-generic
Found linux image: /boot/vmlinuz-4.15.0-58-generic
Found initrd image: /boot/initrd.img-4.15.0-58-generic
Found linux image: /boot/vmlinuz-4.15.0-20-generic
Found initrd image: /boot/initrd.img-4.15.0-20-generic
done

答案1

编辑:原因似乎是其中一个系统通过旧版 BIOS 而不是 UEFI 启动。这导致 Mint 无法检测到 nvm 上的辅助系统。

因此,对于遇到类似问题的人:请确保所有 Linux 安装都使用相同的引导方法。如果修复此问题没有帮助,请检查本文的其余部分。

  • 启动您的两个 Linux 安装并应用以下步骤 - 一个接一个,因为在其中一个安装新内核时,将调用 update-grub 并可能覆盖您在另一个中所做的设置。
  • 编辑 /etc/default/grub 并设置 GRUB_TIMEOUT_STYLE=menu 以使菜单出现,并将 GRUB_TIMEOUT 设置为 10(秒)
  • 运行sudo update-grub此命令会将当前运行的 Linux 的所有内核安装到菜单中。之后,它会添加在当前可用磁盘上找到的所有其他 Linux 安装的所有内核。检查它是否检测到所有可用的系统!
  • 如果上述方法没有帮助,请运行sudo grub-install /dev/sda将 grub 安装到 SSD 中。但这很可能不会改变任何事情,因为它已经自动完成了。

最后调用的Linuxupdate-grub将位于顶部,并且如果 则自动启动GRUB_DEFAULT=0。这可能会改变,因为每当安装新内核时都会自动调用 update-grub。

如果由于某种原因自动检测不起作用,请编辑/etc/grub.d/文件。但您必须update-grub始终在修改这些文件的 Linux 上进行。安装新内核后自动调用 update-grub 时,这可能会出现问题。

如果您希望 UEFI 启动菜单选择启动哪个 Linux,只需这样做:

  • 引导薄荷
  • sudo grub-install /dev/sda
  • 启动Xubuntu
  • sudo grub-install /dev/nvme0n1

这将导致 grub 中出现不同的优先级,具体取决于 UEFI 从哪个磁盘启动。当然,之后不要忘记 update-grub。

附言。如果由于某种原因自动检测不起作用(使用 nvme...)那么您编辑文件/etc/grub.d

聚苯硫醚。如果它仍然不起作用并且您想从 Live CD 尝试。您需要 chroot 进入已安装的系统。这并非小事。让所有 Linux 都安装安装菜单项可能会更加困难。

顺便说一句,我不确定 Linux 如何处理使用 .grub 设置的 grub 安装点grub-install /dev/sda。 grub 菜单和 grub 引导扇区代码之间的联系如何工作?

相关内容