运行Raspbian的树莓派重启后自动挂载NAS失败问题求助
问题原因
- 最核心的原因是Raspbian系统默认启动过程中,
fstab的挂载执行优先级高于网络初始化流程,CIFS是网络文件系统,没有网络连接时无法完成挂载,等你进入系统后网络已经就绪,因此手动执行sudo mount -a可以正常挂载。 - 你当前的
fstab配置存在两处明显错误:- CIFS共享路径缺少前缀
//,和你手动挂载命令的格式不一致 - 挂载点使用了相对路径
SkyNet/Multimedia,必须替换为完整绝对路径(例如/home/pi/SkyNet/Multimedia,根据你实际的挂载点位置调整)
- CIFS共享路径缺少前缀
- 缺少网络挂载专属的挂载参数,系统无法识别该挂载项需要等待网络就绪后执行。
解决步骤
- 修正
fstab配置,执行sudo nano /etc/fstab,将原来的挂载项替换为以下格式,注意替换对应的路径、用户名、密码参数:
//xxx.xxx.xxx.xxx/Multimedia /你的/挂载点/绝对路径/SkyNet/Multimedia cifs username=username,password=password,_netdev,nofail,x-systemd.automount 0 0
参数说明:
_netdev:标记该挂载项为网络设备,需要等网络就绪后再执行挂载nofail:如果挂载失败不阻断系统启动流程,避免出现无法开机的问题x-systemd.automount:启用systemd自动挂载机制,第一次访问挂载点时自动触发挂载,兼容性更好
- 开启系统启动时等待网络的配置,执行
sudo raspi-config,依次选择System Options->Network at Boot,选择确认等待网络连接完成后再启动,保存配置退出。 - 验证配置有效性,执行
sudo mount -a,确认没有报错、挂载正常后重启设备验证自动挂载效果。
可选优化(推荐)
避免将NAS密码明文写在fstab中,可通过单独的凭证文件存储鉴权信息:
- 新建凭证文件:
sudo nano /etc/smbcredentials,写入以下内容:
username=你的NAS用户名 password=你的NAS密码
- 收紧文件权限,避免其他用户读取:
sudo chmod 600 /etc/smbcredentials - 将
fstab配置中的username=username,password=password替换为credentials=/etc/smbcredentials即可。
内容的提问来源于stack exchange,提问作者BartleNuts
相关产品推荐
相关产品推荐

