systemd-repart

出自 ArchWiki

systemd-repart(8) 是一个用于操作 GUID 分区表 (GPT) 的工具。

安装

systemd-repart 是 systemd 的一部分。它也存在于 Arch Linux 安装 ISO 中。

用法

在 Arch Linux 安装期间

systemd-repart 可用于在 Arch Linux 安装过程中创建必要的分区。按照以下步骤设置您的分区。

首先,创建所需的 repart.d(5) 配置文件。以下示例说明如何定义分区;根据您的具体设置调整参数。

创建 repart 配置文件目录

# mkdir /etc/repart.d

然后,为每个分区创建配置文件

/etc/repart.d/00-esp.conf
[Partition]
Type=esp
SizeMinBytes=1G
SizeMaxBytes=1G
Format=vfat
/etc/repart.d/10-root.conf
[Partition]
Type=root
SizeMinBytes=23G
Encrypt=tpm2
Format=btrfs
/etc/repart.d/30-swap.conf
[Partition]
Type=swap
SizeMinBytes=4G
SizeMaxBytes=4G
Encrypt=tpm2
/etc/repart.d/50-home.conf
[Partition]
Type=home
Format=btrfs
注意: Encrypt=tpm2 选项需要您的系统上存在兼容的 TPM (可信平台模块)。如果您没有 TPM,您可以省略此选项或使用不同的加密方法。

创建配置文件后,您可以通过运行以下命令检查建议的更改

# systemd-repart --empty=allow /dev/disk
提示: 使用 --empty=allow 会在 GPT 分区表不存在时自动创建它。请参阅 systemd-repart(8) § OPTIONS

如果输出符合您的预期,您可以通过执行以下命令来应用更改

# systemd-repart --dry-run=no --empty=allow /dev/disk

此命令将按照您的配置文件中的指定创建分区,并在需要时自动加密和/或格式化它们。在继续操作之前,请确保您已备份任何重要数据,因为此操作可能会覆盖指定磁盘上的现有数据。

对于更高级的配置,请参阅 repart.d(5)

然后,挂载所需的分区并继续进行其余的安装

# cryptsetup open /dev/disk/by-partlabel/root-x86-64 root
# mount /dev/mapper/root /mnt
# mount -m /dev/disk/by-partlabel/esp /mnt/boot
注意: 在上面的示例中,没有分区需要在 fstabcrypttab 中添加任何条目,如果使用 systemd#GPT 分区自动挂载,它们将自动解密和挂载。交换分区也将自动配置(即无需在其上运行 mkswap)。