proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 2
/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
//192.168.1.73/disk1 /media/disk1 cifs username=pi,password=raspberry,_netdev,uid=1000,gid=1000,iocharset=utf8, 0 0
# a swapfile is not a swap partition, so no using swapon|off from here on, use dphys-swapfile swap[on|off] for that
运行
sudo mount -a
时,网络驱动器成功安装我可以先执行cd /media/disk1
,然后再执行ls
,这样可以正确地给我列出所述网络驱动器上所有文件夹的列表。但是,在重新启动pi后,当我将
cd
定位到该位置并再次运行ls
时,就没有了。我必须再次手动运行sudo mount -a
,然后才能装入驱动器。我在其他论坛上已经多次看到此报告,并且共识似乎是fstab中的装入发生得太早-在此之前网络已建立。我已经尝试去实现我所理解的东西-但老实说,很多事情都困扰着我。我已经将
_netdev
添加到fstab中的行中,已经将rootdelay=10
添加到了/boot/cmdline.txt中,我安装了networkmanager ...这些都没有帮助。所以我转向对您来说,准备将pi扔出窗外-跟着我。任何帮助,不胜感激。
#1 楼
我建议您将挂载添加到root或用户crontab。 -e#编辑根crontab将@reboot条目添加到crontab。您需要这样的行,例如
@reboot(睡眠30; / bin / mount / media / disk1)和
,这将等待30秒钟,然后再安装磁盘。
#2 楼
关于在启动时自动安装网络驱动器,我也有同样的问题。我在编辑
mount -a
后尝试在/etc/rc.local
中添加/etc/fstab
命令,但无济于事。它不起作用的原因是在执行mount -a
之前网络尚未就绪。 正如其他人所提到的那样,问题是即使在网络启动之前也已安装了fstab驱动器。
为了确保启动期间网络已准备就绪,在
Wait for Network at Boot
中有一个选项raspi-config
。运行
sudo raspi-config
并将
Wait for Network at Boot
选项设置为Slow wait for network connection before completing boot
并重新启动。当然,启动时间可能会受到影响,但是如果不是很关键,则可以使用此方法。重新启动后,您可以检查网络驱动器是否已自动安装:通过
ls /media/DRIVE_NAME
或df
快速检查评论
这当然是对我有用的修复程序,截至2016年11月,rpi3最新更新
– ChrisAdmin
16-10-31在4:57
我更喜欢使用/etc/rc.local mount -a解决方案,但不要忘记先入睡。查看我刚刚在这里发布的答案:raspberrypi.stackexchange.com/a/63690/49091
–加百利·斯台普斯
17-3-21在3:20
#3 楼
更新说明,看到它出现在Google上。我在乘坐机场时间胶囊时遇到了同样的挫败感。我正在2018年3月14日发布的带有标准GUI的Rasbian Stretch上运行Raspberry Pi 3B +。这是我的fstab代码行:
//100.10.10.1/Data /mnt/timecapsule cifs username=********, password=******, vers=1.0, rw, uid=1000, iocharset=utf8, sec=ntlm 0 0
A随着时间的推移,似乎发生了一些更改:
您需要添加“ vers = 1.0”语句
“ user =”和“ pass =”现在分别应为“ username =”和“ pass =” =“
最后,现在有一个“等待网络”框,可以在Raspberry Pi配置实用程序中打勾,该实用程序解决了我的启动时挂载问题。
经过2天的努力,现在终于安装了我的,并在启动时进行了挂载!
#4 楼
您可以在fstab中添加_netdev和comment = systemd.automount属性,重启后一切正常。我曾经在重启时面临同样的问题。\network_shared_location\directory /your_mount_location/mount_directory cifs _netdev,username=<your_username>,password=<your_password>,workgroup=<YOUR_WORKGROUP>,users,auto,user_xattr,comment=systemd.automount 0 0
评论
这是Debian Buster 10.5上唯一对我有用的东西。对于此评论的实用性,我表示三倍的支持,谢谢。
– nxet
20/09/14 '16:47
#5 楼
解决此问题的另一个技巧是在文件/etc/rc.local
的底部添加命令:mount -a
重新启动后,您可以通过键入以下命令来验证是否还可以: br />
df -h
,您会看到类似这样的内容:
pi@raspberrypi ~ $ df -h
File system Dim. Usati Dispon. Uso% Montato su
/dev/root 7,2G 6,3G 584M 92% /
devtmpfs 119M 0 119M 0% /dev
tmpfs 25M 412K 25M 2% /run
tmpfs 5,0M 0 5,0M 0% /run/lock
tmpfs 49M 0 49M 0% /run/shm
/dev/mmcblk0p1 56M 20M 37M 36% /boot
//192.168.1.1/ws 466G 452G 14G 98% /mnt/winshare <----------
#6 楼
_netdev
中的/etc/fstab
选项似乎对CIF份额根本不起作用。此资源(https://help.ubuntu.com/community/Fstab)似乎证实了当它说“ _netdev-这是一个网络设备,请在启动网络后将其安装。仅对fstype nfs有效”。我更喜欢使用
/etc/rc.local
文件来解决此问题,方法是休眠然后在其中调用mount -a
,而不是在crontab
中使用Wait for network at boot
或raspi-config
选项。但是,要使/etc/rc.local
能够正常工作,请不要忘记睡眠,如下所述。我为解决此问题(在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
完成!现在它对我来说完美无缺!
参考文献:
https://askubuntu.com/a/895124/327339
https:// www.raspberrypi.org/documentation/linux/usage/rc-local.md
http://elinux.org/RPi_Email_IP_On_Boot_Debian
#7 楼
在我的情况下,我购买了Raspberry Pi 3并安装了Raspbian Stretch,我用自己喜欢的网络驱动器排列来编辑fstab,如下所示: > fstab中列出的每个驱动器都会自动挂载,然后将其添加到rc.local和其他几个位置,以便我可以在启动时欣赏这些驱动器的内容,长话短说,直到我决定在该驱动器上添加一行后,它才起作用像这样的root crontab://172.30.0.54/mnt/anim /mnt/share/Z cifs username=frieza,password=meh,uid=1000,gid=1000,vers=2.0 0 0
//172.30.0.56/share/V /mnt/share/V cifs username=goku,password=meh,uid=1000,gid=1000,vers=2.0 0 0
//172.30.0.56/share/M /mnt/share/M cifs username=piccolo,password=meh,uid=1000,gid=1000,vers=2.0 0 0
//172.30.0.56/share/O /mnt/share/O cifs username=drbrief,password=meh,uid=1000,gid=1000,vers=2.0 0 0
//172.30.0.56/share/R /mnt/share/R cifs username=vegeta,password=meh,uid=1000,gid=1000,vers=2.0 0 0
选择我的编辑器(y情况下为纳米),然后在底部添加此行
sudo mount -a
重新启动后,我的情况一切正常。希望这对您有所帮助。
注意:
如果遇到任何问题,您可以随时运行:
sudo crontab -e
,它会提示您运行的内容和内容没有
#8 楼
我知道这是一个较晚的答复,但我遇到了同样的问题,这与调用fstab
时网络没有启动有关。我首先尝试了crontab
,但工作正常,但认为有点混乱... 这里有一篇很棒的文章,其中介绍了如何使用
init.d
中的脚本在引导时运行安装...现在对我来说很棒。评论
如果将来链接消失,您是否可以编辑答案以提供链接中的重要详细信息。
– Greenonline
15年9月16日在20:36
评论
对于为此花费的时间表示歉意,我才有机会再次尝试一下。我很放心地说您的解决方案效果很好。非常感谢您的帮助。
–卢克·托梅(Luke Twomey)
15年8月25日在19:58
这肯定会安装,但是在关机时如何从程序上卸载呢?
–Ciasto piekarz
16年8月20日在18:06