在https://askubuntu.com/a/119818/5032 qbi 中说:
将 noauto 添加到您的 fstab:
...
所以文件系统不会在启动时自动挂载。此外,您编写了一个脚本,该脚本基本上会挂载您的 mhddfs 并在启动过程的某个后期添加它。
但是你怎么做呢?我的 mergefs 在启动时从不挂载所有驱动器,大概是因为它们之前没有挂载?这是 fstab 中的最后一个条目,如下所示(但有更多驱动器):
/mnt/EXT4_drive/drivepool:/mnt/NTFS_drive/drivepool:/mnt/anotherdrive/drivepool /mnt/drivepool fuse.mergerfs defaults,allow_other,minfreespace=100M 0 0
当我df
在启动后运行时,驱动器名称仅显示包含了一些安装点,以及所有这些安装点应该拥有的一小部分空间,所以如果它们还没有准备好,它们就不包括在内?我必须sudo umount /mnt/drivepool ; sudo mount /mnt/drivepool
在启动后手动运行才能修复它并显示所有这些。
计算机也不止一次启动到“欢迎进入紧急模式!” 当其中一个驱动器在尝试挂载时被自动 fscked 时/mnt/drivepool
。这最近没有发生,也许是因为 mergefs 的变化让它忽略了未准备好的驱动器而不是因为它们而停止?
在 fstab 中的所有其他内容成功挂载和 fscked后,我将如何尽快自动挂载/mnt/drivepool
?
好的,经过大量阅读:
从 Ubuntu 15.04 开始,
fstab
条目被转换为systemd
单位(*.mount
在 下找到的文件/run/systemd/generator
),systemd-fstab-generator
然后以不特定的顺序安装,这就是我失败的原因。但是
systemd
支持依赖项,可以使用 fstab 选项指定这些依赖项x-systemd.requires
。因此,对于每个先决条件挂载,您向 fstab 挂载添加一个单独的条目,它可以理解路径名:
在我的第一次尝试中,我遗漏了 a
/mnt/
并且我的计算机拒绝启动并变为只读状态。ಠ_ಠ 为了防止这种情况,您还应该添加nofail
. 这使得挂载点成为“需要”local-fs.target
而不是“需要”,因此计算机在失败时仍会启动。然后当你这样做时,
mount -a
它会抱怨但它仍然有效。ಠ_ಠ
这是我完整的 fstab 行,自从我更改它以来,它每次都有效: