![Android 无法访问 Windows SMB 共享 USB 驱动器](https://linux22.com/image/1470535/Android%20%E6%97%A0%E6%B3%95%E8%AE%BF%E9%97%AE%20Windows%20SMB%20%E5%85%B1%E4%BA%AB%20USB%20%E9%A9%B1%E5%8A%A8%E5%99%A8.png)
Windows 共享 SMB USB 磁盘驱动器可由网络上的 Windows 7 计算机访问,但 Android 设备无法访问。共享内部驱动器可以访问,但如果驱动器是具有相同权限的外部 USB 驱动器,则各种 Android SMB 访问应用程序都无法看到它。我必须做什么才能解决这个问题,或者这是一个 Android SMB 客户端错误?谢谢。
答案1
注册表项方法在我的 Windows 10 Professional 上不起作用,但 PowerShell 命令Set-SmbServerConfiguration -IRPStackSize
可以起作用。
在发出Set-
命令之前,我运行了命令Get-SmbServerConfiguration
来检查当前值。它返回15尽管注册表值是40!
然后我用Set-SmbServerConfiguration -IRPStackSize 40
,重新启动服务器服务,一切都运行良好。
我强烈建议你始终重新启动服务器更改这些值后即可开始服务。
答案2
我遇到了同样的问题(所有 SMB 客户端,但 Android 中的客户端可以访问 Windows 机器中的特定共享位置,即使我向所有客户端输入了相同的登录凭据)。
对我来说,解决办法是:
登录 Windows 机器。
以管理员身份启动注册表(regedit)。
点击前往:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\参数
在右侧面板中,看到“EnableAuthenticateUserSharing”项的值为 0。
双击该项目并将值更改为 1。
单击“确定”关闭。
无需重新启动 Windows 机器。
如果在步骤 4 中您已经看到值 1,这显然不是您的解决方案。此外,您可能有多个问题,仅此一点可能还不够。
稍后添加
上述修复只管用了几天,我又发现了老问题。除了使用 Android 作为客户端并使用特定的 Windows 计算机作为服务器外,SMB 仍可正常工作(Android 计算机可以通过 SMB 连接到其他 Windows 计算机)。
然后有效的方法是“强制停止”Android客户端应用程序并重新启动它。
更多内容请参见:
答案3
我在第三篇文章中找到了答案(当然是在谷歌的帮助下):
简而言之,托管 USB 驱动器的机器必须具有一个名为 IRPStackSize 的注册表项。链接提供了详细信息。我试过了,现在我可以通过 SMB 从 Android 访问所有机器驱动器。