无法通过 cifs 挂载联网的 Windows 外部驱动器

CWS*_*ear 4 mount samba networking cifs 16.04

自从我执行 Windows 10 周年更新以来,我一直在安装插入网络上的 Windows 机器的外部驱动器时遇到问题。

我的fstab

//bowser.local/Fire  /media/Fire  cifs  auto,_netdev,comment=systemd.automount,sec=ntlm,uid=cameron,credentials=/root/.smbcredentials,iocharset=utf8,file_mode=0755,dir_mode=0755,defaults  0  0
Run Code Online (Sandbox Code Playgroud)

我收到错误:

mount error(5): Input/output error
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
Run Code Online (Sandbox Code Playgroud)

我四处搜索并尝试了许多不同的选择(我的选择并没有开始那么久!)。

问题是,它适用于其他共享。我尝试DesktopCWindows 上的驱动器共享只是为了测试并且它工作正常,所以我知道它的凭据不错,或者它在网络上找不到 PC 或其他东西......它似乎是关于外部驱动器的特定内容? 好吧,驱动器......我有两个我正在尝试安装,并且都有同样的问题。

如果我尝试使用 GUI 并在 Nautilus 中使用“连接到服务器”对 进行评论smb://bowser.local,则Fire共享会显示在那里,但是如果我单击它,则会收到错误消息:

Unhandled error message: Failed to mount Windows share: Invalid argument
Run Code Online (Sandbox Code Playgroud)

Desktop共享工作正常。

不知道它是否有帮助,但在我的 Mac 上,Shared > bowser > Fire在 Finder 中也可以正常工作。

如前所述,将 Windows 10 与周年更新一起使用:

  • Windows 10 企业版 14393
  • Ubuntu 16.04 桌面
  • Mac OS X 10.11.6

更新:感谢 emk2203 的评论,我在尝试直接与smbclient:连接时遇到新错误tree connect failed: NT_STATUS_INSUFF_SERVER_RESOURCES

这导致更多证据表明这是 Windows 的错,一位朋友建议我查看日志。在 Windows 日志中,我发现了这个错误:

服务器的配置参数“irpstacksize”太小,服务器无法使用本地设备。请增大该参数的值。

CWS*_*ear 5

多亏了irpstacksize我在 Windows 日志中发现的错误,我找到了一篇讨论如何增加该值的文章(将其要点放在下面以防链接断开)。

这是一个注册表项(通过 编辑regedit)(如果它不存在就创建它——它对我来说不存在):

HKEY_LOCAL_MACHINE
 \SYSTEM
  \CurrentControlSet
   \Services
    \LanmanServer
     \Parameters
IRPStackSize DWORD 0x0000000f (15)
Run Code Online (Sandbox Code Playgroud)

IRPStackSize区分大小写。十进制 15 是默认值。他们说将它增加到 5 直到(50 是最大值?)。我找不到任何证据表明将其增加到 50 会产生任何真正的负面后果(而且大多数人似乎认为不会),所以在 33 时它仍然不起作用后,我跳到 50 并且它起作用了

在每次更改之间,您需要重新启动Services > Server以使更改生效。