在这种情况下,我需要对我的 HDD(Windows)驱动器进行任何更改吗?在我看来,如果我从实时 USB 启动并在 M.2 驱动器上使用 grub 安装 ubuntu,我应该能够通过在启动时选择启动驱动器来启动 Windows 或 Ubuntu,而无需对任何引导加载程序进行任何更改。此外,有人可以确认我是否也需要 UEFI 和/或安全启动吗?
答案1
我应该能够通过在启动时选择启动驱动器来启动 Windows 或 Ubuntu
这条评论揭示了对现代基于 EFI 的计算机启动方式的根本误解,这种误解很可能导致您在未来遇到问题。具体来说,较旧的基于 BIOS 的计算机通过从硬盘的第一个扇区(又称主引导记录,或 MBR)读取引导加载程序代码来启动,并且可以被告知从特定磁盘启动,而基于 EFI 的计算机通过从一个或多个EFI 系统分区 (ESP)。不过,必须告知计算机哪些文件是引导加载程序,这些信息存储在 NVRAM 中。单个 ESP 可以容纳多个引导加载程序,实际上,典型的多引导配置将所有操作系统的引导加载程序放在一个 ESP 上。(也就是说,多个 ESP,无论是在一个磁盘上还是在多个磁盘上,是)请参阅Adam Williamson 的博客文章介绍了 EFI 的工作原理了解有关此主题的更多信息。
在 M.2 驱动器上使用 grub 安装 ubuntu
请注意 ESP必须可以被 EFI 读取。某些计算机的 EFI 可以读取硬盘,但不能读取 NVMe 或 M.2 磁盘。无法知道您的计算机是否也如此。如果是,您必须将引导加载程序放在常规磁盘上。您很可能还必须从常规磁盘启动 Linux 内核,这意味着您需要/boot
在该磁盘上放置一个分区。不过,这还不确定;如果您的固件可以读取您的 M.2 磁盘,那么在该磁盘上使用单独的 ESP 和/或 Linux 内核就没问题了。
一个很大的警告是:Ubuntu 安装程序会忽略您可能给出的有关在 EFI 模式下安装 GRUB 的位置的任何提示。它将安装到它标识为第一个磁盘的 ESP 上(如果它有 ESP)。因此,如果您想将 GRUB 放在 M.2 磁盘上的 ESP 上,并且如果 Ubuntu 安装程序将该磁盘标识为第二个磁盘,您将不得不跳过一些额外的步骤才能获得所需的东西。两种可能性是:
- 您可以在“安装前尝试”模式下启动 Ubuntu 安装程序,打开终端窗口,然后输入
ubiquity -b
。这将启动安装程序,但告诉它不是安装 GRUB。您可能需要手动对 M.2 磁盘进行分区(在运行之前ubiquity
或作为其操作的一部分),并创建 ESP。完成后,您可以/etc/fstab
在已安装的系统中编辑以将 ESP 安装在 M.2 磁盘上/boot/efi
。然后您必须使用引导修复或者手动操作。或者,你可以安装我的rEFInd 启动管理器或者其他一些引导加载程序。 - 您可以正常安装(但可能必须像以前一样手动分区),让 GRUB 安装到第一个磁盘上的 ESP,然后启动到已安装的系统。启动后,您可以编辑
/etc/fstab
、卸载第一个磁盘的 ESP、安装 M.2 磁盘的 ESP,然后通过键入 重新安装 GRUBsudo grub-install
。这应该将 GRUB 安装到 M.2 磁盘。副本仍将驻留在第一个磁盘上,但这不会造成任何损害。
另一方面,Ubuntu 安装程序可能会将 M.2 磁盘识别为第一个磁盘,在这种情况下不需要额外的麻烦。考虑到解决这个问题的麻烦,恕我直言,最明智的做法是让安装程序将 GRUB 放在它想要的位置并与之共存。我可以理解想要拥有“原始”Windows 和 Ubuntu 磁盘的愿望,但实现这一目标所需的努力是巨大的,特别是如果你不完全了解 EFI 启动过程和固件的功能。
还有一个警告:Windows 8 及更高版本将其关机操作转变为挂起到磁盘的操作。这会导致在多重启动时破坏文件系统(包括 ESP)。您应该确保禁用快速启动和禁用休眠以避免这些问题。无论您将 GRUB 安装在何处,都是如此。
另外,有人可以确认我是否也需要 UEFI 和/或安全启动吗?
如果计算机上预装了 Windows 10,那么它几乎肯定会以 EFI 模式启动。请参阅我的这个页面了解如何确定 Windows 启动模式。前面(和后面)的段落假设您的 Windows 以 EFI 模式启动。
一般而言,最好安装所有操作系统,以便它们使用相同的启动模式(BIOS/CSM/legacy 与 EFI/UEFI)。混合启动模式通常是可行的,但它总是有限制的,并且通常需要在安装和引导加载程序配置方面以及引导加载程序使用方面克服额外的障碍。
如果计算机附带 Windows 10 并以 EFI 模式启动,则几乎肯定也会使用安全启动。在大多数情况下,Ubuntu 在安全启动处于活动状态时可以正常工作,因此这不会造成任何问题。如果您认为安全启动导致了问题,则可以禁用它,Windows 将继续启动;但是,根据我看到的各种论坛帖子,我认为许多人都过于仓促地将问题归咎于安全启动。可以肯定的是,它能导致问题,但对于像您这样的相对简单的安装,恕我直言,最好至少在最初阶段保持它启用状态。
因此,总结一下,您可以在 Windows 创建的 ESP 或 M.2 磁盘上的 ESP 上使用 GRUB 设置 Ubuntu,但需要注意的是,如果您的固件无法读取磁盘,后者可能无法工作,并且可能需要经过很多繁琐的步骤才能将 GRUB 安装在 M.2 磁盘上。无论哪种方式,如果一切正常,GRUB 将接管作为默认引导加载程序,您应该能够使用 GRUB 选择要引导的操作系统。或者,您应该能够使用计算机的内置引导管理器在 GRUB(它将ubuntu
在菜单中被调用)或 Windows 之间进行选择。