为什么 Ubuntu Server 安装程序会创建单独的 /boot 和 /boot/efi 分区?单独分区上的 /boot 是可选的吗?

为什么 Ubuntu Server 安装程序会创建单独的 /boot 和 /boot/efi 分区?单独分区上的 /boot 是可选的吗?

我正在安装 Ubuntu Server,我注意到引导的 lvm 过程将创建一个 512MB 的 /boot/efi fat32 分区以及一个 1GB 的 /boot ext4 分区。然后将硬盘的其余部分交给 LVM 用作 lv 下的 /。

我知道将作为 /boot/efi 安装的 512MB 分区是用于 EFI 启动的 EFI 系统分区,并且需要 fat32 格式化,因为 EFI 无法识别更奇特的文件系统。

但是,我想知道为什么还要划分一个单独的 1GB /boot 分区。

在另一个安装中,我手动配置了分区,并在空白硬盘下选择了“用作启动设备”选项。这创建了 512GB ESP。然后,我

  • 在另一块硬盘上创建了备份 ESP
  • 在两者的可用空间上为 / 创建 lvm-on-mdadm 设置。

安装完成后,硬盘有 512MB ESP,可用空间为 lvm-on-mdadm,/boot 是 / 的子文件夹。我并不是故意不创建单独的 /boot 分区,只是不知道这样做更好。

用户“user589808:说这里

ESP(EFI 系统分区)不应与 /boot(大多数 Ubuntu 安装不需要)混淆,并且是标准要求。

一方面,我不想违背准则并希望尊重默认设置,但另一方面,我正在一台存储空间较小的机器上使用虚拟机,并且拥有一个单独的 1GB /boot 分区,该分区甚至可能不会完全填满(以及调整分区大小时可能涉及的所有复杂性)似乎不如拥有一个包含 /boot 作为子文件夹的 lvm lv 理想。(不过我不会使用 lvm-on-mdadm,只使用 lvm)

在具有 ESP 的 lvm 或 lvm-on-mdadm 系统上,是否需要单独的 /boot 分区?

答案1

让我们回到大约五六年前……

当时,使用默认设置的 Ubuntu 常规安装不使用 LVM,而 /boot 只是根驱动器上的一个目录。(您可以在安装过程中取消选择 LVM,从而实现这种更简单的传统行为)。

大多数选择 LVM 的人是因为他们想加密他们的系统。他们不知道 LVM 还有什么其他用途(大多数人仍然不知道)。Ubuntu 直到启动后才能读取加密分区,因此选择 LVM 会触发创建未加密的 /boot 分区。

大约五年前,启动方面的变化(如 EFI 和 SecureBoot)导致了 EFI 分区的创建。

从 20.04 开始,安装程序的默认设置从非 LVM 切换为 LVM,导致默认创建单独的 /boot 分区(除了 EFI)。回想一下,您可以取消选择 LVM 以使用旧版 /boot目录而不是创建新的分区。

请记住,软件环境在不断发展。EFI、LVM 和单独的 /boot 分区将来可能会被更新或更好的想法取代或取代。这种事以前发生过。不止一次。


在您的特定情况下(“在存储空间较少的机器上使用虚拟机“),我没有看到使用 LVM(或 EFI)的好处,因此请考虑简化。如果您的主机可以运行 Snap,则可以运行 LXD 容器,这些容器感觉像 VM,但对资源的要求更精简。

相关内容