Ubuntu 20.04 - 如果启动期间挂载失败,如何自动挂载 CIFS 共享

Ubuntu 20.04 - 如果启动期间挂载失败,如何自动挂载 CIFS 共享

我正在尝试在运行 Ubuntu 20.04.3 的桌面上自动安装位于运行 openmediavault 5.6.12-1 和 samba 版本 4.9.5-Debian 的 nas 上的 samba 共享。

按照以下说明操作后openmediavault 论坛Ubuntu 社区我在 fstab 文件中添加了以下命令:

//192.168.100.12/HomSpace /media/nasMounted cifs credentials=/root/.memoriaCredentials,uid=1000,gid=1000,noperm,rw,vers=3.0 0 0

当我执行时,sudo mount -a共享文件夹正确安装,没有错误。不幸的是,重新启动 PC 后,文件夹不会自动安装。我在互联网上找不到任何说明,建议以不同且同样可行的方式安装 cifs 共享文件夹,并且日志中没有任何错误,我不知道我做错了什么。

我添加到 fstab 的命令有什么问题?如何在启动时自动挂载 cifs 共享?提前谢谢您。

答案1

由于共享会在您发出时挂载,因此sudo mount -a我怀疑您的 fstab 声明没有问题。这确实表明存在时间问题。Linux 在网络堆栈启动并运行之前读取 fstab,因此当它挂载网络共享时会失败。

有两种可能性可以将其转变为“按需安装”:

[1] 保留当前的挂载点,但添加两个选项:noauto,user

//192.168.100.12/HomSpace /media/nasMounted cifs credentials=/root/.memoriaCredentials,uid=1000,gid=1000,noperm,rw,vers=3.0,noauto,user 0 0

当您启动系统时,共享不会挂载,但它会作为启动器显示在文件管理器的侧面板上。单击它,它会转到 fstab 以查看如何挂载它,然后执行挂载操作。

编辑如下所述,为了使此方法有效,我应该确保普通用户可以读取凭证文件。将其放在主目录下会是更好的选择。

[2] 更改您的挂载点并使用 systemd 自动挂载程序。

挂载点不能位于您的主目录或 /media 下,因此我建议使用 /mnt/nasMounted 之类的挂载点。然后添加两个选项noauto,x-systemd.automount

//192.168.100.12/HomSpace /mnt/nasMounted cifs credentials=/root/.memoriaCredentials,uid=1000,gid=1000,noperm,rw,vers=3.0,noauto,x-systemd.automount 0 0

这通过访问 /mnt/nasMounted 挂载点来实现。您可以直接通过文件管理器、任何应用程序或任何其他进程访问。几乎任何访问该挂载点的操作都会触发挂载,而无需您的干预。

无论如何,在编辑 fstab 后,运行这两个命令以使 systemd 正常运行:

sudo systemctl daemon-reload

sudo systemctl restart remote-fs.target

相关内容