使用 fstab 从已挂载的驱动器挂载子目录

使用 fstab 从已挂载的驱动器挂载子目录

我在启动时安装了外部 NTFS HD,并希望将子目录绑定到我的 ~/Documents 文件夹。为此,我根据以下内容将以下条目添加到 fstab 中这个答案

# Local HD Mounts
UUID=XXXXXXXXXX   /mnt/dpvs     auto    nosuid,nodev,nofail,x-gvfs-show 0       0

# Local binds
/mnt/dpvs/Documents     /home/username/Documents   none    defaults,bind   0       0

我可以挂载外部硬盘(第一个条目),但第二个条目在启动时不起作用。目录为空,设备显示“文档”挂载,卸载时出现错误(umount: /home/username/Documents: umount failed: Operation not permitted)。奇怪的是,如果我启动时没有绑定条目,然后将其添加到 fstab 并使用 重新挂载mount -a,它就可以正常工作。

我该怎么做才能挂载这个子目录?

答案1

在 fstab 中调用挂载绑定时,该外部驱动器的挂载可能尚未准备好。这可以通过在启动过程中稍后执行挂载命令来解决,例如将其放在文件中/etc/rc.local,或者可能更好,因为这种方式在最新的 Ubuntu 版本中仍然是默认设置的,在 cron 作业中。

要创建 cronjob,请使用以下命令打开 crontab 文件

sudo crontab -e

添加挂载命令如下

@reboot mount --bind /mnt/dpvs/Documents /home/username/Documents

保存并关闭 crontab 文件。每次重启后都会执行该命令。

您最终可能会通过使用以下命令引入等待时间(例如 1 秒)来延迟启动sleep

@reboot ( sleep 1 ; mount --bind /mnt/dpvs/Documents /home/username/Documents )

相关内容