![如何将第二个 Linux 发行版 (xubuntu) 添加到 grub?](https://linux22.com/image/164142/%E5%A6%82%E4%BD%95%E5%B0%86%E7%AC%AC%E4%BA%8C%E4%B8%AA%20Linux%20%E5%8F%91%E8%A1%8C%E7%89%88%20(xubuntu)%20%E6%B7%BB%E5%8A%A0%E5%88%B0%20grub%EF%BC%9F.png)
我在 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 引导扇区代码之间的联系如何工作?