当您双引导 Linux 和 Windows 时,是否应该有单独的引导分区?

当您双引导 Linux 和 Windows 时,是否应该有单独的引导分区?

当您安装现代 Linux 发行版时,通常不需要单独的/boot;然而,有似乎是特殊情况/场景需要有一个单独的/boot 分区。我想知道双启动 Linux 和 Windows 是否属于其中一种情况。如果是这样,我希望能解释一下为什么会这样。

答案1

在现代 UEFI 系统上,EFI 系统分区(简称 ESP;固件从中加载引导加载程序的分区)可能安装在/boot/efi/boot,具体取决于发行版。有些发行版将 ESP 完全卸载以供正常使用,但仍然需要知道它在哪里以便在需要时更新引导加载程序或其配置。

如果有足够的空间,ESP 可以与 Windows 引导加载程序(或者实际上与任何符合 UEFI 规范的操作系统的引导加载程序)共享,或者如果 Linux 和 Windows 位于不同的磁盘上,则可以为每个磁盘/操作系统分配一个专用的 ESP 。如果您有一天希望将一个磁盘或另一个磁盘移动到另一台计算机而不重新安装操作系统,那么为每个磁盘配备一个专用的 ESP 将使事情变得更容易:每个磁盘都可以自行启动,而不依赖于另一个磁盘的存在。

ESP 必须使用固件支持的文件系统类型:UEFI 规范保证支持 FAT32,但硬件供应商也可能选择支持其他文件系统。本机 Linux 文件系统不太可能受支持,因此您不能仅将根分区指定为 ESP。

/boot这与传统 BIOS 系统上分区的使用不同。

在 20 世纪 90 年代末到 2004 年左右的基于 BIOS 的系统中,磁盘大小的增长速度超过了 BIOS 扩展规格的增长速度。 2003 年,指定了现在标准的 LBA48 访问方法,它支持高达 128 PB 范围的磁盘大小。

在使用旧 BIOS 的系统上,无法使用 BIOS 功能访问磁盘的完整大小,因此确保引导加载程序、内核和 initramfs 文件位于磁盘开头附近、BIOS 的磁盘空间范围内非常重要使用权。将它们全部/boot放在位置和大小适当的单独分区中是实现这一目标的一种可靠方法。如果您没有这样的限制,那么您就不需要/boot传统意义上的分区。

现代版本的 GRUB 现在包括直接 ATA 和 AHCI 支持,这也可用于通过 GRUB 绕过 BIOS 直接驱动磁盘控制器硬件来解决这些 BIOS 限制;但是,根据所使用的发行版,默认情况下可能不会启用此类支持,因为它比相应的基于 BIOS 的代码经过的测试要少得多,并且这些功能的文档非常稀疏。

相关内容