使用 GRUB 和 UEFI 安装多个 Linux 发行版以及 Windows

the*_*ser 5 boot grub2 dual-boot bootloader uefi

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

在此输入图像描述

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

GRUB 菜单如下。

在此输入图像描述

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

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

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

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

预先感谢,卢卡

Rod*_*ith 6

恕我直言,作为一般规则,在一台计算机上安装多个 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 引导加载程序规范。这个想法是,发行版应该将其内核放在标准化位置,并在配置文件格式上进行合作,以便一个发行版的引导加载程序可以加载另一个发行版的内核。这个提议有其优点,但据我所知很少有发行版采用它,所以实际上这不是你今天可以依赖的东西。