其他人已经暗示了解决方案,但是简短地解释原因可能是值得的。
mount.cifs
在Ubuntu 16.04中,默认情况下使用SMB1协议。
在的更高版本中mount.cifs
,默认的SMB版本是2.1或3.0。
当前的Windows服务器不再支持SMB 1.0协议,除非在其注册表中对其进行了特殊配置以接受该协议。因此,默认情况下,它们拒绝使用SMB1协议来自客户端的连接。这导致产生误导性消息“主机已关闭”。
但是某些较旧的系统(通常是NASes)不支持协议2.1或3。
解决方案是mount.cifs
使用vers=
选项告诉使用正确的协议连接到服务器。例如,要连接到Windows 10计算机,请执行以下操作:
mount -t cifs ... -o vers=3.0,...
或从Ubuntu 18.04或更高版本迁移至旧的NAS:
mount -t cifs ... -o vers=1.0,...
从man mount.cifs
(在Ubuntu 16.04中):
vers=
SMB protocol version. Allowed values are:
· 1.0 - The classic CIFS/SMBv1 protocol. This is the default.
· 2.0 - The SMBv2.002 protocol. This was initially introduced in
Windows Vista Service Pack 1, and Windows Server 2008. Note
that the initial release version of Windows Vista spoke a
slightly different dialect (2.000) that is not supported.
· 2.1 - The SMBv2.1 protocol that was introduced in Microsoft
Windows 7 and Windows Server 2008R2.
· 3.0 - The SMBv3.0 protocol that was introduced in Microsoft
Windows 8 and Windows Server 2012.
Note too that while this option governs the protocol version used,
not all features of each version are available.
如果您在中定义安装/etc/fstab
,它可能看起来像这样:
//server/share /mnt/share cifs defaults,vers=3.0,...your_other_options...,nofail,x-systemd.device-timeout=15 0 0