/boot 是否需要安装在单独的主分区上?

Roh*_*han 6 linux boot partition

我使用 Linux Mint 双启动 Windows 7。但是,Windows 7 的分区布局占据了所有主分区,让我可以选择多一个主分区或多个逻辑分区。所以,我选择了合乎逻辑的。但是,我只是读到 /boot 应该安装在单独的主分区上,但我将整个根目录安装在逻辑分区上。我的 Linux Mint 运行似乎很好,但这可能有问题吗?

Gil*_*il' 13

Linux 不在乎在哪里/boot。事实上,/boot除了更新其内容外,Linux 本身根本无法访问。只有引导加载程序访问/boot.

在大多数设置中,没有必要放置/boot一个单独的分区。分离有缺点/boot:它更复杂,它用完分区表中的一个条目,它可能会耗尽空间......分离的唯一原因/boot是是否有必要使系统可启动。

对于较旧的 PC,过去常常需要/boot在磁盘的开头有一个小分区。这是由于BIOS限制造成的。BIOS 是计算机闪存中的系统软件,用于从硬盘加载操作系统。较旧的 BIOS 世代往往无法读取整个磁盘。UEFI 和 UEFI 之前的最后几代 BIOS 没有这样的限制,所以现在你几乎可以忘记这些,但你仍然会找到可以追溯到有限 BIOS 时代的教程(以及受过教育的人)/boot出于这个原因创建一个单独的分区,并且不知道它不再相关)。

使用单独/boot分区的另一个原因是,如果您的根分区使用了引导加载程序不支持的某些机制。在大多数情况下,就像 BIOS 限制一样,这是一个过时的问题:Grub(标准 PC 引导加载程序)支持 Linux 支持的大多数文件系统和分区类型。

UEFI系统上,可以将内核映像放在 EFI 分区上。然后你有一个单独的引导分区,但它不是一个 Linux 特定的引导分区,它是一个系统范围的引导分区。

/boot这些天有一个单独的分区的主要原因是如果你加密系统分区。知道如何执行解密的代码位于内核(或 initrd/initramfs)中,因此内核(和 initrd/initramfs)需要位于未加密的存储中。即使引导加载程序支持加密机制,您也需要输入两次密码,一次用于引导加载程序,一次用于 Linux 本身(否则必须有一种机制来传达该密码,这将很难做到)没有比它应该更广泛地暴露密码)。

请注意,此答案适用于 PC 计算机。其他类型的计算机以不同的方式启动,可能需要也可能不需要内核位于特殊位置。