本文译者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布。
本文译者十分愿意与他人分享劳动成果,如果你对我的其他翻译作品或者技术文章有兴趣,可以在如下位置查看现有的作品集:
由于译者水平有限,因此不能保证译文内容准确无误。如果你发现了译文中的错误(哪怕是错别字也好),请来信指出,任何提高译文质量的建议我都将虚心接纳。
systemd-gpt-auto-generator — GPT 分区 自动发现 与 挂载
/usr/lib/systemd/system-generators/systemd-gpt-auto-generator
systemd-gpt-auto-generator
能够根据
GPT
分区发现规范
查找 /
,
/home
, /srv
及 swap 分区,
并自动生成对应的 mount 与 swap 单元。
关于GPT分区详解,可以参考
UEFI 规范 第五章。
注意,此工具不适用于非GPT分区(例如传统的MBR分区表),
也不适用于非空挂载目录。
此外,在明确配置了挂载点单元的机器上(例如已在
fstab(5) 中列出的分区),
自动生成的单元
将被手动配置的单元覆盖(但是隐含依赖仍然会被创建)。
此工具仅在 ESP(EFI System Partition)分区所在的物理磁盘上查找根分区。 此工具仅在根分区所在的物理磁盘上查找其他分区。 当系统使用分布式根分区(例如 btrfs RAID)时, 此工具 也不会查找任何其他分区。
借助 systemd-gpt-auto-generator
工具,
可以将文件系统的配置集中到GPT分区表中,
从而没有必要再使用 /etc/fstab
配置文件。
此工具基于分区的GUID值分辨分区的用途, 可以识别的 GUID 如下:
表 1. 分区类型 GUID
分区类型 GUID | 名称 | 解释 |
---|---|---|
44479540-f297-41b2-9af7-d131d5f0458a | Root Partition (x86) | x86根分区。对于32位x86平台,ESP所在物理磁盘的第一个根分区将被挂载为 / |
4f68bce3-e8cd-4db1-96e7-fbcaf984b709 | Root Partition (x86-64) | x86-64根分区。对于64位x86-64平台,ESP所在物理磁盘的第一个根分区将被挂载为 / |
69dad710-2ce4-4e3c-b16c-21a1d49abed3 | Root Partition (32-bit ARM) | ARM32根分区。对于32位ARM平台,ESP所在物理磁盘的第一个根分区将被挂载为 / |
b921b045-1df0-41c3-af44-4c6f280d3fae | Root Partition (64-bit ARM) | ARM64根分区。对于64位ARM平台,ESP所在物理磁盘的第一个根分区将被挂载为 / |
993d8d3d-f80e-4225-855a-9daf8ed7ea97 | Root Partition (Itanium/IA-64) | 安腾(IA-64)根分区。对于64位IA-64平台,ESP所在物理磁盘的第一个根分区将被挂载为 / |
933ac7e1-2eb4-4f13-b844-0e14e2aef915 | Home Partition | 家分区。根分区所在物理磁盘的第一个家分区将被挂载为 /home |
3b8f8425-20e0-4f3b-907f-1a25a76f98e8 | Server Data Partition | 服务器数据分区。根分区所在物理磁盘的第一个服务器数据分区将被挂载为 /srv |
0657fd6d-a4ab-43c4-84e5-0933c84b4f4f | Swap | 交换分区。根分区所在物理磁盘的所有交换分区都将被挂载。 |
c12a7328-f81f-11d2-ba4b-00a0c93ec93b | EFI System Partition (ESP) | 根分区所在物理磁盘的第一个 ESP 分区将被挂载为 /boot 或 /efi (详见后文) |
此生成器能够理解下列分区属性标记:
表 2. 分区属性
名称 | 值 | 适用于 | 解释 |
---|---|---|---|
GPT_FLAG_READ_ONLY | 0x1000000000000000 | / , /srv , /home | 只读挂载 |
GPT_FLAG_NO_AUTO | 0x8000000000000000 | / , /srv , /home | 不自动挂载 |
GPT_FLAG_NO_BLOCK_IO_PROTOCOL | 0x0000000000000002 | ESP | 不自动挂载 |
如果 /home
与 /srv
分区被按照LUKS格式加密,
那么将会自动创建对应的
/dev/mapper/home
与
/dev/mapper/srv
映射设备。
注意,自动创建的设备可能会与
/etc/crypttab
中手动配置的设备发生冲突。
仅在以UEFI方式启动的系统上,才会自动为ESP分区生成对应的 mount 与 automount 单元。
如果存在 /efi
目录,那么ESP分区将会挂载到 /efi
目录;
否则ESP分区将会载到 /boot
目录。
既然生成了 automount 单元,也就表示ESP分区仅在被访问到的时候才会被实际挂载。
如果明确配置了 /boot
(或 /efi
) 挂载点(例如已在
fstab(5) 中列出),
或者 /boot
(或 /efi
) 非空,
那么将不会自动生成相关的挂载单元。
如果将此工具与 btrfs 文件系统一起使用, 那么必须使用 btrfs subvolume set-default 命令明确设置默认子卷。
systemd-gpt-auto-generator
遵守
systemd.generator(7) 规范。