我已经运行 16.04 四年了,并选择升级到 20.04。
我有两个 Buffalo Linkstation NAS 设备,使用多年,没有遇到太多问题。但是升级后,网络共享对我来说完全不可用。
我已经尝试过这些建议,例如,升级到 20.04 后无法再访问 NAS但没有成功。到目前为止,这是我的行动方针:
- 在盒子上执行 Windows 10 的全新安装(而不是升级)。
- 执行 Ubuntu 20.04 的全新安装(而不是升级),创建双启动系统。
- 使用以下内容更新 /etc/fstab,这些内容是从我的 16.04 环境中的 fstab 文件复制并粘贴的:
//192.168.1.2/share /mnt/FileServer cifs 用户名=guest,uid=1000 0 0
- 安装 Samba:sudo apt-get install samba
- 使用以下命令更新 smb.conf 文件客户端最小协议 = NT1
- 重启 samba:sudo service smbd restart
- sudo 安装 -a
我收到此错误:
mount:/media/FileServer:特殊设备//192.168.1.2/share 不存在。
我也尝试过将最低协议设置为 CORE,但没有成功。我找不到任何方法来影响 Buffalo Linkstation NAS 设备上的 Samba 版本。有人可以建议尝试其他方法吗?
谢谢!
答案1
CIFS 基于 Linux 内核,对 smb.conf 一无所知,因此在那里进行的更改不会对 cifs 挂载产生影响。
我假设 NAS 仅运行 SMB1,因此您需要在 fstab 声明中通过添加vers=1.0
到选项列表中来指定这一点:
//192.168.1.2/share /mnt/FileServer cifs username=guest,uid=1000,vers=1.0 0 0
您可能需要添加另一个选项来更改 SMB1 当时的默认安全模式:sec=ntlm
因此该行变成:
//192.168.1.2/share /mnt/FileServer cifs username=guest,uid=1000,vers=1.0,sec=ntlm 0 0
编辑:添加 vers 的原因来自 man mount.cifs 中的 vers 选项:
The default since v4.13.5 is for the client and server to negotiate the highest possible version greater than or equal to 2.1. In kernels prior to v4.13, the default was 1.0. For kernels between v4.13 and v4.13.5 the default is 3.0.
Ubuntu 16.04 中的 Linux 内核使用 vers=1.0 访问 NAS。现在它尝试在 2.1 和 3 之间访问它。添加 vers=1.0 会覆盖默认值。