单独驱动器上的双引导 – 最佳配置

我即将使用Ubuntu和Windows 10的双启动配置来设置我的新笔记本电脑。我之前使用过一个驱动器并将其分区以包含操作系统。 现在,我有一个128Gb PCIe SSD和一个512Gb SSD。 我希望我的小驱动器只包含Ubuntu系统和存储,​​而较大的驱动器只关注窗口。

我知道通常有两种方法来设置它:

在安装时拔下未使用的驱动器

  1. 拔下1个驱动器并安装插入驱动器的第一个操作系统

  2. 安装新系统时拔出驱动器,插入其他驱动器并安装第二个操作系统

  3. 插件所有驱动器并配置BIOS / UEFI以选择默认启动盘
  4. 在启动时输入BIOS / UEFI进入非默认系统

使用bootloader

  1. 每次安装时,所有驱动器都保留在机器中
  2. 首先安装Windows,因为Linux安装似乎更考虑双启动设置并保持Windows安装
  3. 安装Windows后,安装Linux并选择辅助驱动器作为系统和数据分区
  4. 应创建引导加载程序,以便在计算机启动时选择引导系统

显然,我在之前的设置中使用了第二个选项,因为拔掉分区在物理上是不可能的=)。 为我创建的bootloader ubuntu运行良好,但它默认为Linux。 这意味着在启动时坚持使用电脑并在启动到我喜欢的操作系统(即Windows)时快速循环到Windows选项。

我想将Windows设置为我的默认启动操作系统,并在需要时以方便的方式进入我的辅助操作系统(Ubuntu)。 所有这些都是在安装在单独驱动器上的每个操作系统完成的

考虑到上述方法,实现这一目标的最佳实践是什么? 我还没有提到其他考虑因素或方法吗?

您正在尝试将BIOS知识应用于基于EFI的计算机,这将导致您误入歧途。 (请注意,EFI / UEFI是旧BIOS的替代品。许多人 – 甚至制造商 – 将EFI称为“BIOS”,但这具有误导性。)特别是:

插入所有驱动器并配置BIOS / UEFI以选择默认启动盘

在BIOS下,从磁盘的主引导记录(MBR)读取引导加载程序代码,因此通常引用“引导磁盘”或类似的东西,这是相当准确的。 但是,在EFI下,引导加载程序代码作为普通文件存储在EFI系统分区(ESP)上。 重要的是,单个ESP可以包含多个引导加载程序,您可以拥有任意数量的ESP。 计算机知道要运行哪个引导加载程序,因为存储在NVRAM中的信息。 因此,尽管从磁盘读取引导代码,但“引导磁盘”充其量是模棱两可的,并且在许多情况下都是彻头彻尾的欺骗性。

相反,您应该考虑引导文件 ,并始终牢记要引导的文件在NVRAM中引用。 更复杂的是,如果要引导的文件消失,许多(但不是全部)EFI会删除这些NVRAM引用。 因此,通常拔出磁盘以便在另一个磁盘上启动或安装操作系统可能会导致计算机无法在未插入的磁盘上启动操作系统,即使将其重新插入也是如此。这一事实使得您所描述的磁盘杂乱无章。你的第一个选择是不可取的。 (它可以工作,但如果你尝试,你必须了解你的计算机如何处理其基于NVRAM的引导加载程序的指针,以便你可以重新创建任何被删除的条目。)

您还应该知道Ubuntu有一个错误导致它将其引导加载程序(GRUB)安装到它找到的第一个ESP(通常在/dev/sda ),即使您试图告诉它不这样做。 通过临时更改分区类型代码可以解决此错误。

总的来说,如果你打算长时间将两个磁盘留在计算机中,我建议你不要太担心将两个操作系统完全隔离开来。 特别是,不要过分关注隔离引导加载程序; 让安装人员将引导加载器放在他们想要放置的位置。 这应该适用于大多数目的。 但是,如果您打算不时将磁盘从一台计算机移动到另一台计算机,则需要更加小心并了解有关ESP类型代码的更多信息,计算机如何处理指向引导加载程序的NVRAM条目等。

至于使Windows成为默认操作系统,可以使用GRUB Customizer等工具轻松完成。 但是,我无法提供有关使用它的具体建议,因为我尽可能避免使用GRUB。 (我维护了rEFInd引导管理器,它也可以配置为默认通过更改refind.confdefault_selection行来引导Windows。)

有关EFI模式启动如何工作的更多信息,建议您阅读以下一项或多项:

  • Adam Williamson关于EFI如何工作的博客文章 – 本页描述了EFI模式启动背后的理论。
  • 有关Superuser.com上BIOS和EFI启动之间差异的问答 – 这提供了前面的基础知识,但更简洁。
  • 我在EFI系统上安装Linux的页面 – 这个页面是比Adam Williamson的博客更实用的EFI模式启动介绍。
  • 我的关于Linux的 EFI引导加载程序的页面 – 该页面描述了Linux系统的EFI引导加载程序选择。
  • 我在CSM上的页面 – 此页面涵盖了CSM,包括何时有用以及何时有用。
  • UEFI上的Ubuntu社区wiki条目 – 这个页面有点脱节,但是对于EFI及其问题,它是Ubuntu特定的介绍。

最后,现代EFI提供了一种称为兼容性支持模块(CSM)的function,使用它们可以使用BIOS模式引导加载程序进行引导。 (请参阅上面引用的CSM页面。)如果学习EFI模式的方式对您来说太麻烦了,您可以使用计算机的CSM以BIOS方式继续操作; 然而,这会带来风险。 特别是,许多计算机永远不会完全禁用EFI模式启动支持,因此您可以轻松地在BIOS模式下安装一个操作系统,而另一个操作系统处于EFI模式,这将比全电影或全部模式更难管理。 BIOS安装。 此外,一些EFI缺乏CSM,并且制造商可能会在未来开始放弃CSM,因此坚持使用BIOS模式启动只会延迟了解EFI模式启动的需求。 恕我直言,最好花一两个小时来学习EFI模式启动的基础知识,而不是尝试通过CSM坚持BIOS模式启动。