如何双启动两个不同的 Linux 发行版?

如何双启动两个不同的 Linux 发行版?

我正在寻找一种同时引导 Windows、lubuntu (natty) 和 Arch Linux 的方法。
我知道如何可以设置它,但我想知道正确的方式。

现在每个发行版都有自己的grub安装,以及自己的/boot

有没有办法使用相同的/boot?或者我应该卸载 arch 中的一个,然后让 lubuntu 来完成这项工作。

编辑:也许我可以将一个加载到另一个?这可能不是正确的方法,但这无疑是一个简单且可维护的解决方案。

更新:我做了一些研究,发现有两种方法可以做到这一点。首先,我在 arch 上有 grub1,在 lubuntu 上有 grub2(没有特别的原因,这是默认的)

  1. 使用任一发行版的单个 grub 安装。
  2. 通过将 grub 引导加载程序安装到分区上,从一个安装链接加载到另一个安装。

首先,我尝试执行 2.,但grub-install(grub2) 向我发出关于安装到分区的严重警告,因此我认为这不是一个好主意。
然后我发现我可以在 ubuntu 上使用 grub1 安装,并且grub-update会自动检测 arch linux。因此,我将 grub2 重新安装到 MBR 上,但grub-update无法自动检测 arch。

#所以,我更新后的问题是...我需要向 grub.d 添加什么才能使其自动检测 arch,或者只是手动输入?

手动输入没有任何问题,但执行此操作的示例脚本会很有用。

编辑:看起来是从 arch 切换到 lubuntu 时出现的问题。我update-grub从 lubuntu 重新运行,现在一切正常。

答案1

通过与 #archlinux 的人们交谈,我得到了很多关于如何做到这一点的想法

  1. 从 arch 卸载 grub,然后直接使用 lubuntu 的 grub 安装。您将使用 lubuntu 的 grub 安装而不是 archlinux 的,因为 lubuntu 会大量更改内核版本,并且在 grub.cfg 中有多个条目等。
  2. Chainlink grub 安装。请参阅这里。您需要使用grub-install /dev/sdaNgrub2。它会抱怨安装到分区并失败,但我相信有办法解决此问题。
  3. 使用单个 /boot。Arch 和 lubuntu grub2 安装可以共存。我不喜欢这个解决方案,因为内核更新似乎可能会相互覆盖。也许 ubuntu 和 Arch 组合不行……但其他组合肯定行得通。
  4. 从 lubuntu 卸载 grub2 并使用 Arch 中的 grub1 安装。然后使用 /boot/kernel > /boot/actual_kernel_name 的符号链接。这需要手动任务,所以我选择不这样做。

我最终选择了 1。这种方式update-grub可以在 lubuntu 中正常工作。
如果我需要在 Arch 中更新它,我总是可以使用grub-mkconfig /mnt/lubuntu/boot/grub.cfg(实际上,这将使用 Arch 的 grub.d,我不想维护其中两个。嗯。)

相关内容