通过fstab挂载CIFS不会在引导时挂载


20

我想在引导时挂载NAS上的CIFS共享-MythTV服务器将其用作主要媒体存储。我添加了一个条目fstab以使其挂载,但事实并非如此。在查看我的系统日志后,似乎fstab在我的网络接口联机之前正在读取。我可以对fstab条目进行任何修改以更改此设置吗?

fstab装入共享的条目是:

\\192.168.0.26\mythtv\media  /media/mybooklive  cifs  username=user,password=pass,umask=002,uid=136,gid=144,iocharset=utf8   0       0

启动后,它在启动后可以很好地安装sudo mount -a,并且没有其他问题。

谢谢!


2
如果服务器正在运行Ubuntu,则可能需要一个/而不是一个\-“ //192.168.0.26/mythtv/media”请参阅wiki.ubuntu.com/MountWindowsSharesPermanently
Panther

@ bodhi.zazen当我输入它时,它可能已经带有/了,但是现在它以\读出了
。– douggro 2014年

检查fstab中的语法(/ vs \)
Panther 2014年

@ bodhi.zazen我很确定维基文章就是我设置它时遵循的。当我有时间坐在服务器上时,我将检查语法。
douggro 2014年

1
@ bodhi.zazen请把您的评论转换为答案-将\更改为/解决。
douggro 2014年

Answers:


8

这是语法错误,我想您需要一个“ /”而不是一个“ \”,就像这样

//192.168.0.26/mythtv/media  /media/mybooklive  cifs  username=user,password=pass,_netdev,umask=002,uid=136,gid=144,iocharset=utf8  0 0

有关其他信息,请参见:https//wiki.ubuntu.com/MountWindowsShares永久


24

您是否尝试过将选项添加_netdevfstab条目中?您可以将其与字符串中的其他选项一起添加

//192.168.0.26/mythtv/media  /media/mybooklive  cifs  username=user,password=pass,_netdev,umask=002,uid=136,gid=144,iocharset=utf8   0       0

_netdev 应该将安装延迟到网络连接之后。


您可以将上下文添加到fstab行中放置的位置吗?这样,在不使用服务器的情况下可以重新引导服务器,我将尝试一下。谢谢回答。
douggro 2014年

1
这在Ubuntu 12.04中对我有用,但在Ubuntu 16.04中不起作用。最新版本是否已更改?
卡图

2
注意:我认为_netdev实际上可以在16.04中使用,但是凭据= / home / user / .smbcreds不再可用。至少对我来说,当我使用user =,pass =,_ netdev时,它有效;当我使用凭据=,_ netdev时,则无效。两者都在引导后通过命令行的sudo mount-a起作用。
jb510

1
实际上,我认为这可能与对媒体文件夹的权限更改有更多关系。在某个时候,Ubuntu开始将内容挂载到/ media / username / folder名称而不是/ media / folder名称。如果未安装到“用户名”位置,则必须具有sudo级别的访问权限。如果您将路径更改为使用/ media / username路径,我认为它仍然可以正常工作。
djmadscribbler '16

1
_netdev-仅对fstype nfs有效
Mikhail Chuprynski

15

如果_netdev不起作用,请尝试以下选项:

x-systemd.automount

代替。通过在首次访问时安装驱动器来工作。

要测试自动挂载,请卸载您的共享(如果当前已挂载):

$ sudo umount /media/mybooklive

然后重新启动remote-fssystemd单元:

$ sudo systemctl daemon-reload
$ sudo systemctl restart remote-fs.target

2
谢谢,这对我有用18.04 LTS
Chief

1
_netdev不能在18.04上正常工作,这很完美:)
布赖恩说,莫妮卡

6

我正在使用日期为2017-09-07的Raspbian-Stretch构建,并遇到了相同的问题。但是,我可以通过进入raspi-config并在“启动选项”菜单下启用“等待启动时​​等待网络”选项来克服此问题。


1
这实际上非常有帮助,即使启动时一切正常,它也没有安装或显示文件夹,我还是遇到了问题
Alfred Espinosa

3

-使用正斜杠(/)不能解决我的问题。
-此外,将选项添加_netdev到我的/etc/fstab条目中并不能解决我的问题。

为了解决此问题(在我的Pi3上),我所做的是修改/etc/rc.local为休眠20秒(通过致电sleep 20),然后致电mount -a。这样,即使网络尚未连接,当系统第一次读取fstab文件时,挂载也会失败,因此我在此处强制系统等待20秒(给网络时间以连接),然后我强制其mount -a再次调用挂载fstab文件中的所有驱动器。

这是我的/etc/rc.local文件现在的样子:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
#GS notes: a *minimum* of sleep 10 is required for the mount below to work on the Pi 3; it failed with sleep 5, but worked with sleep 10, sleep 15, and sleep 30
sleep 20
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
  mount -a #GS: mount all drives in /etc/fstab
fi

exit 0

做完了!现在,它对我来说非常完美!

参考文献:


您通过wifi连接吗?
cbcoutinho

是的,我使用的是WiFi而不是以太网。
加布里埃尔·斯台普斯

这确实很奇怪,但可能与我的问题无关。我有三个试图通过以太网电缆连接的网络驱动器-没有wifi。其中一个驱动器的名称中有一个特殊字符,这导致它在重新启动后无法连接。执行sudo mount -a可以解决问题,但是我很好奇为什么启动时它不起作用。我将尝试您的解决方案,看看是否有帮助。
cbcoutinho
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.