使用 GRUB 和 UEFI 在 Windows 上安装多个 Linux 发行版

使用 GRUB 和 UEFI 在 Windows 上安装多个 Linux 发行版

我读了一些帖子和手册页,但我仍然有疑问。我的 gParted 截图如下。

在此处输入图片描述

在 Ubuntu 16.10 的安装过程中,我在 /dev/sda1 中安装了 GRUB(“Windows 启动管理器”写在 /dev/sda1 附近)(我之前已经禁用了“安全启动”)。

GRUB 菜单如下。

在此处输入图片描述

到目前为止一切都运行良好,但现在我计划安装多个 Linux 发行版,UbuntuStudio 和 Arch 发行版(我认为是 Antergos)。我还想在 SSD 中留出额外的空间,以便在我想尝试发行版时使用。我想事先确定以下内容。

每当我安装新的发行版时,我是否需要安装引导加载程序?如果是这样,像以前一样将所有内容安装在 /dev/sda1(“Windows 引导管理器”)中是否正确?

过去,我尝试使用 Windows XP、Ubuntu 和 UbuntuStudio 对我的旧笔记本 (BIOS) 进行三重启动,但每当我更新内核时,我就无法再启动了。如果我没记错的话,他们建议在单独的分区上安装一个 GRUB,并参考 Linux 发行版。现在使用 UEFI 拥有多个 Linux 发行版的最佳方法是什么?与过去 (BIOS) 有什么不同(只是出于好奇)?

请保持简单,我很高兴了解启动过程如何工作以及如何完美地启动和更新多个 Linux 发行版,但我读过的许多答案往往令人费解。

提前致谢,卢卡

答案1

一般来说,在我看来,在一台计算机上安装多个 Linux 发行版以实现多重引导会得不偿失。大多数情况下,一个发行版会执行其他发行版会执行的操作。如果您想要体验多个桌面环境,您可以在 Ubuntu 中安装任意数量的桌面环境,并通过注销并再次登录在它们之间切换,在登录时选择适当的桌面环境。您甚至可以进行设置,以便可以在不同的虚拟终端 (VT) 上同时登录到多个桌面环境。

如果您想要体验不同的软件包管理器或其他真正特定于发行版的功能,那么使用虚拟化环境(如 VirtualBox 或 VMware)安装额外的发行版可能会比双启动更容易、更安全。这还有一个好处,就是您可以同时运行两个发行版。

话虽如此,如果你真的需要多重引导,在我看来 GRUB 并不是最好的选择。它的致命弱点是它需要在安装它的操作系统中进行配置。(至少,Ubuntu 和大多数其他发行版提供的默认配置是这样的。它可以创建一个最好与任何一个发行版分离的 GRUB 配置,但这需要高级知识,并且仍然需要在操作系统内进行配置。)也就是说,如果您使用 Ubuntu 的 GRUB 来控制启动过程,但您还安装了 Fedora,那么当您更新 Fedora 的内核时,Ubuntu 的 GRUB 将不知道这一事实,直到您重新启动进入 Ubuntu 并输入sudo update-grub(或直到您更新 Ubuntu 的内核)。或者,Ubuntu 的 GRUB 可能会链式加载到 Fedora 的 GRUB,在这种情况下,Fedora 的 GRUB 将知道更新的 Fedora 内核,但这会使启动 Fedora 的过程变得复杂。更糟糕的是,每个操作系统都可能试图控制启动过程,导致重复启动政变,操作系统 A 将其引导加载程序设置为默认引导加载程序,即使您希望操作系统 B 的 GRUB 完成这项工作。(但这不是 GRUB 特有的问题;每次进行多重引导时都可能发生这种情况。)您尝试进行多重引导的操作系统越多,您遇到引导问题的频率就越高。

对于复杂的设置,很多人更喜欢使用我自己的rEFInd 启动管理器。与 GRUB 不同,rEFInd 会在计算机启动时扫描磁盘以查找引导加载程序和内核,因此无论哪个发行版安装了内核或 rEFInd,它都会检测到新内核。不过,这有一些注意事项,您可能需要针对每个发行版进行一些调整才能使其正常工作。特别是,您可能需要/boot/refind_linux.conf为每个发行版准备一个文件,以便 rEFInd 可以将适当的引导选项传递给每个操作系统。这在这一页rEFInd 文档。

另一种方法,尽管目前主要还只是理论上的,是使用Freedesktop.org 引导加载程序规范。这个想法是,发行版应该将其内核放在标准化的位置,并在配置文件格式上进行协作,以便一个发行版的引导加载程序可以加载另一个发行版的内核。这个提议有其优点,但据我所知,很少有发行版采用它,因此从实际情况来看,这不是您目前可以依赖的东西。

相关内容