前言

前言

前言

从技术上来说不是这是一个特定于 Ubuntu 的问题,但我怀疑对于 Ubuntu 用户来说这是一个有效的问题。

实际问题

如果非 Ubuntu 操作系统与 Ubuntu 位于不同的物理驱动器上,是否真的值得通过 grub 启动它?

语境

设置

我的设置看起来(或者更确切地说)看了) 如下:

  • 台式电脑
  • SATA 混合 SSD 上的 Ubuntu
  • M2 SSD 上的 Windows 10
  • 我通过 grub2 从混合 SSD 启动了 Ubuntu 和 Windows 10,Ubuntu 位于专用的启动分区中
  • 如果相关的话,所有 EFI

由于市场主导地位,我使用 Windows 来做那些只能在 Windows 上运行的事情,而使用 Ubuntu 来做其他所有事情。

背景

几天前,安装有 Ubuntu 的 SATA 混合 SSD 驱动器发生灾难性故障,变得完全无法使用。

(注:事后看来,这注定会发生——2021 年臭名昭著的三星 EVO 870 之一......)

我很快意识到我甚至无法使用 Windows 启动,因为驱动器不见了,而且 BIOS 不知道如何从 Windows 所在的驱动器启动。

详细问题

经过两天的紧张工作,购买了一块新硬盘,重新安装并设置了一切(这并不几乎结束),我开始想知道在 Ubuntu 所在的驱动器上通过 grub 启动 Windows 或任何非 Ubuntu 操作系统的实际优势是什么。

另一种方法是,在启动机器时进入 BIOS 设置,选择从哪个驱动器启动。

如果我不用 grub 而是在各自的驱动器上启动每个操作系统,我仍然可以使用 Windows 而不必重新安装它。

我唯一能想到的就是方便——浏览 grub 的菜单比在 BIOS 中移动驱动器启动优先级更容易。

然而,我可能忽略了一些技术,这使得从同一个驱动器和分区启动不同的操作系统成为必要,而不管这些操作系统位于不同的物理驱动器中。

我希望更好地理解这一点,以便对我正在痛苦重建的设置做出明智的决定。

答案1

问题

如果非 Ubuntu 操作系统与 Ubuntu 位于不同的物理驱动器上,是否真的值得通过 grub 启动它?

回答

是的。Grub 非常灵活且易于配置。它可以轻松地在双启动设置中与 Windows 配合使用。Windows 引导加载程序 [BCDEdit?] 不关心 Ubuntu。在我看来,用 Windows 引导加载程序替换 grub 是自找麻烦。

我不会讨论其他操作系统,例如安装多个 Linux 发行版以及使用 Ubuntu 的 Grub、另一个发行版的 Grub 或另一个发行版的另一个引导加载程序的优缺点。

需要明确的是,当我们在 Ubuntu-Windows 双启动系统中使用 Grub 时,我们会保留两个引导加载程序。Grub 获得领导角色并首先加载。如果从 Grub 中选择了 Windows,它会将启动 Windows 的工作交给 Windows 引导加载程序。

BIOS(UEFI)启动菜单怎么样?

它不太方便,而且它同时保留了 Grub 和 Windows 引导程序。UEFI 启动选项只允许您在 Grub 和 Windows 引导程序之间进行选择。您仍将拥有 Grub(仅适用于 Ubuntu),尽管它可能不会显示菜单并直接启动到 Ubuntu。

深层发掘...

主要问题(据我理解)是:当我有两个磁盘,每个磁盘一个操作系统时,处理启动的最佳方法是什么?

UEFI 和 ESP

如今的计算机都配备了 UEFI,即 BIOS 的后继者。虽然在软盘驱动器和阴极射线管时代,BIOS 不需要单独的分区,但 UEFI 需要一个专用分区,称为 (U)EFI 系统分区 (ESP)。每台计算机应该在其中一个磁盘中至少有一个 ESP。一个 ESP 足以处理多个磁盘中的多个操作系统。但是,也可以有两个 ESP,每个磁盘一个。

ESP 和引导加载程序

在过去,引导加载程序安装在启动磁盘的系统分区中。使用 UEFI 时,引导加载程序的部分安装在 ESP 中。因此,无论您使用哪个引导加载程序、Grub 还是 Windows,您都需要了解 ESP 位于哪个磁盘中(或者每个磁盘是否都有自己的 ESP),从而了解引导加载程序安装在哪里。

2 个磁盘 1 个 ESP

通常,计算机会预装 Windows。这意味着 ESP 通常与 Windows 位于相同的物理磁盘中。直到 23.04 版本,当您在第二个磁盘中安装 Ubuntu 时,Ubuntu 安装过程会将 Grub 放在它找到的第一个 ESP 中(即 Windows 磁盘中的 ESP)。

在此设置下,如果您的 Ubuntu 磁盘坏了,您仍然可以通过进入 UEFI 设置并将 Windows 引导加载程序设为首选来启动计算机。

如果 Windows 磁盘停止工作,会发生什么情况?好吧,在这种情况下,您无法启动 Windows 或 Ubuntu,因为 ESP 会随磁盘一起消失。

单个 ESP 的另一个缺点是,在例行 Windows 更新/升级期间,它会不时注意到 Windows 引导加载程序不是默认的,并将其设为默认。之后,计算机将直接启动到 Windows,而不显示 Grub 启动菜单。虽然最近我很少看到这种情况发生。只需进入 UEFI 设置并更改默认值或使用 boot-pair 等实用程序,即可轻松修复此问题。

2 个磁盘,2 个 ESP

在此设置中,每个物理磁盘都有自己的 ESP。这样,Grub 就会进入 Ubuntu 磁盘的 ESP,而 Windows 引导加载程序则会进入 Windows 磁盘的 ESP。Grub 仍将处于控制之中。也就是说,您仍会看到熟悉的 Grub 启动菜单,并像以前一样选择 Ubuntu 或 Windows。Grub 足够聪明(使用 OS_prober)可以找出 Windows 引导加载程序位于另一个磁盘的另一个 ESP 中。另一方面,Windows 仍然对其他 ESP、Grub 和 Ubuntu 一无所知。因此,Windows 升级不会干扰默认引导加载程序。

第二,如果两个磁盘中的任何一个坏了,计算机仍然可以使用另一个磁盘和另一个操作系统来启动。

无需接触 Windows 即可安装 Ubuntu有关如何设置 2 磁盘 2 ESP 双启动系统的更多信息。

结论

无论您有两个 ESP 还是一个 ESP,都应该将 Grub 设为默认引导加载程序。

希望这可以帮助

相关内容