/boot 分区总是必要的吗?

/boot 分区总是必要的吗?

/boot每次安装 Linux 发行版时都应该创建一个分区吗?

/boot拥有分区和使分区可启动之间有区别吗/

答案1

直接回答这个问题:/boot当然,并非在每种情况下都需要单独的分区。

然而,即使你不分割任何其他东西,通常也建议为//boot和 swap 设置单独的分区。我也会强烈建议/home即使您不再进一步分割文件系统层次结构,也要将其放在单独的分区上。

将 /boot 放在与常规根文件系统不同的分区上的原因在于,这样可以降低磁盘上文件系统的复杂性,从而降低引导加载程序引导内核和初始 RAM 磁盘的要求。如果您运行的是非平凡的设置,这一点会变得特别有趣 - 也许您正在运行 RAID,或者在根分区上运行不常见的文件系统(例如 ZFS),或者运行加密的根分区。然后可以使用纯 ext2fs 格式化 /boot 的分区。由于分区只需要很小(几百兆字节就足够了;我当前系统上的 /boot 是 100 MB,我感觉不到任何限制),非日志文件系统(例如 ext2)的缺点不必那么大,因为检查速度非常快,而且文件系统相对简单,并且基本上是静态的,可能会降低未检测到的损坏的可能性。引导加载程序不需要原生理解奇特的文件系统或磁盘设置,这是另一个可能的优势。

将 /home 放在单独分区的原因是,即使出现问题并开始填满它(或者您自己这样做),也不会给非用户进程(很少会用完 /home)或启动过程本身带来问题。此外,如果您可以简单地告诉安装程序保留 /home 原样并重新格式化以用自己的文件/填充它,那么重新安装操作系统或切换发行版就会变得容易得多。如果软件方面真的出现问题,作为最后的恢复努力,这可能会产生重大影响。

在 Linux 上,运行交换文件并不是推荐的设置,我甚至不确定大多数常见发行版的库存内核支持(或允许)基于文件的交换。这有多种原因,其中一个主要原因是性能(主要是由于碎片化的风险)。与 RAM 相比,交换已经非常慢了(它更像是权宜之计而不是解决方案),因此没有理由冒着碎片化的风险让它变得更慢。而且交换分区可以在多启动环境中安全地在 Linux 发行版之间共享;在一般情况下可能不是考虑因素,但对于某些人来说肯定是考虑因素。交换分区也可以放在具有不同特征的单独物理磁盘上;可能是现在的 SSD,或者是运行在单独控制器通道上的 10krpm 驱动器(现在每个 SATA 磁盘都在单独的通道上,最后一个不再是考虑因素,但在 PATA 时代可能会有所不同)。

就我个人而言,我现在将 /、/boot 和 swap 分开,其中我当前系统上的 / 有 100 GB(我还远没有用完;当前使用量为 8.9 GB,这为我提供了所需的所有软件及其他空间)。主磁盘的其余部分由单个文件系统组成,按照个人惯例,我将其安装在 /da(disk a)上。第二个磁盘是 /db,然后是 /dc 等等。(我怀疑 FHS 是否真的赞同这种方案,但在实践中对我来说效果很好。)然后我将 /home 绑定安装到 /da,这意味着我可以移动物理目录,而不必担心更新每个引用它的路径或重新分区,因为我意识到 /home 的磁盘空间有点不足。

答案2

我认为它不再是强制性的。过去,由于 BIOS 的一些限制,它是必要的。8 或 64 位 Go 之后不可能有可启动分区(我不记得具体是多少了)。然后,如果您想进行双启动,您可以放置​​第一个小分区(/boot)和可启动的 Windows 分区,然后再放置其他 Linux 分区。很长一段时间以来,根本没有 /boot 目录。内核直接在 / 上。

答案3

不同之处在于文件系统优化。通常每个分区都有自己的文件、描述符等表。您可以在单个“/”分区上安装 Linux,而无需“/boot”、“/swap”、“/usr”等,但这个单个分区的内部表很快就会变得很大,一些操作会变得有点慢。因此,不同的分区用于为不同类型的任务提供分离的、优化的容器。

答案4

不,我认为 /boot 分区没有必要,原因如下:

  • 您可能希望 /boot 文件夹不要太小并将其包含在 / 中
  • 没有必要创建分区,因为 /boot 的文件和文件夹不经常更新和访问。它不像 /tmp 或 /swap 文件夹。程序不会写入 /boot。
  • /boot 仅在启动和内核更新期间(当 initramfs 映像更新时)使用。
  • 您可以将 /boot 包含到 /root 中,并将其与 GRUB2 配合使用。将 GRUB2 添加到每个驱动器的 MBR。如果第一个驱动器坏了,您可以从第二个、第三个驱动器启动...
  • 更少的挂载 = 更少的 uuid = 更高的可见性 = 更简单

相关内容