如何在Ubuntu 22.04.03中挂载Windows本地PC的第二个SMB共享驱动器
如何在Ubuntu 22.04.03中挂载Windows本地PC的第二个SMB共享驱动器
别担心,第一天用Linux就折腾SMB挂载已经超棒了!咱们一步步来搞定第二个共享的问题,你遇到的parse error大概率是fstab的格式问题,咱们先排查再解决:
首先,明确fstab的正确格式要求
fstab里每一行必须严格遵循6个字段的结构,少一个都会触发解析错误:
<共享路径> <本地挂载点> <文件系统类型> <挂载选项> <dump> <pass>
你之前的配置可能漏了最后两个必填字段(dump和pass,一般填0 0就行),或者路径里的空格没处理好,这是新手最容易踩的坑。
具体操作步骤
确保第二个本地挂载点存在
如果/media/LOCAL FOLDER 2这个目录还没创建,先执行:sudo mkdir -p "/media/LOCAL FOLDER 2"用引号把带空格的路径括起来,避免命令解析错误。
修正fstab里的配置行
打开fstab文件:sudo nano /etc/fstab把你添加的两行改成符合格式的写法,注意处理空格和补全最后两个字段:
方法一:用\040转义空格//IP-ADDRESS/SHARE\040FOLDER\0401 /media/LOCAL\040FOLDER\0401 cifs credentials=/home/你的用户名/.smbcredentials,iocharset=utf8 0 0 //IP-ADDRESS/SHARE\040FOLDER\0402 /media/LOCAL\040FOLDER\0402 cifs credentials=/home/你的用户名/.smbcredentials,iocharset=utf8 0 0方法二:用双引号包裹带空格的路径(更直观)
"//IP-ADDRESS/SHARE FOLDER 1" "/media/LOCAL FOLDER 1" cifs credentials=/home/你的用户名/.smbcredentials,iocharset=utf8 0 0 "//IP-ADDRESS/SHARE FOLDER 2" "/media/LOCAL FOLDER 2" cifs credentials=/home/你的用户名/.smbcredentials,iocharset=utf8 0 0注意:
- 把
/home/你的用户名/.smbcredentials替换成你实际存放凭证的文件路径 iocharset=utf8是为了支持中文文件名,可选但建议加上
- 把
验证凭证文件的权限
SMB要求凭证文件的权限不能太开放,否则会拒绝挂载,执行:sudo chmod 600 /home/你的用户名/.smbcredentials测试挂载配置
不用重启,直接执行命令让系统重新读取fstab并挂载:sudo mount -a如果没有报错,就说明第二个共享已经成功挂载了!可以去
/media/LOCAL FOLDER 2里看看内容。
如果还是报错怎么办?
如果mount -a提示错误,可以把错误信息贴出来,但大概率是路径转义、凭证路径或者权限的问题。另外,你也可以先手动挂载测试一下,确认参数没问题:
sudo mount -t cifs "//IP-ADDRESS/SHARE FOLDER 2" "/media/LOCAL FOLDER 2" -o credentials=/home/你的用户名/.smbcredentials,iocharset=utf8
手动挂载成功后,再把对应的参数写到fstab里就不会错了。
备注:内容来源于stack exchange,提问作者MartyCH85
相关产品推荐
相关产品推荐

