如何指定文件系统自动挂载的顺序?

ænd*_*rük 17 fstab mount

我需要/etc/fstab在另外两行之后安装一个特定的行:

# Always mount these first
UUID=fdf38dd4-9e9d-479d-b830-2a6989958503 / ext4 noatime,discard,errors=remount-ro 0 1
UUID=2b548eb8-fa67-46ce-a998-91d587dba62f /home/.hdd ext4 errors=remount-ro 0 2

# Always mount this second
none /home/ak aufs br:/home/.ssd/ak=rw:/home/.hdd/ak=rw 0 0
Run Code Online (Sandbox Code Playgroud)

当前的行为是经常以不可预测的方式颠倒最后两行的顺序。如何指定必要的顺序?

j-g*_*tus 19

一种选择是将挂载推迟到/etc/fstab完成后,这使您可以完全控制挂载顺序。

只需添加noauto到 fstab 中的挂载选项,然后挂载到rc.local.

根据手册页,按顺序mount -a挂载条目fstab,同时添加-F('fork') 选项将并行挂载它们。似乎标准启动正在使用“fork”,大概是为了减少启动时间,所​​以我想之后(半)手动安装是重新获得安装顺序控制权的最简单方法。


小智 9

Systemd 现在包含一个强制执行挂载顺序的依赖项选项。在您的情况下,添加 fstab 参数:

x-systemd.requires-mounts-for=/,x-systemd.requires-mounts-for=/home/.hdd
Run Code Online (Sandbox Code Playgroud)

如果您需要在其他已挂载的文件系统上挂载,则 noauto 选项将不起作用。在我的情况下,上述工作参见提交https://github.com/systemd/systemd/commit/3519d230c8bafe834b2dac26ace49fcfba139823了解更多详细信息。