根据你遇到的问题,以下是分步解决方案:
步骤1:在Windows上启用SMB 2.0/3.0并禁用SMB 1.0
-
打开PowerShell(管理员权限)右键点击开始菜单 → 选择 Windows PowerShell (管理员)。
-
禁用SMB 1.0(如果已启用)输入以下命令禁用旧协议:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 -Force
-
启用SMB 2.0/3.0Windows 10/11 默认启用SMB 2/3,无需额外操作。可通过以下命令确认:
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" | Select-Object SMB1, SMB2
- 如果
SMB1 显示为 0 ,表示已禁用。
SMB2 显示为 1 表示已启用。
-
重启Windows服务
Restart-Service LanmanServer -Force
步骤2:在飞牛系统中指定SMB版本挂载
-
使用 vers=2.1 或 vers=3.0 挂载修改挂载命令,显式指定SMB版本:
sudo mount -t cifs //Windows_IP/共享名 /挂载点 -o username=Windows用户名,password=密码,vers=2.1
- 替换
Windows_IP 、共享名 、挂载点 、用户名 、密码 。
- 如果
vers=2.1 失败,尝试 vers=3.0 。
-
检查CIFS工具版本
确保已安装 cifs-utils :
sudo apt update && sudo apt install cifs-utils # Debian/Ubuntu
sudo yum install cifs-utils # CentOS/RHEL
步骤3:验证Windows共享权限
-
共享权限
- 右键共享文件夹 → 属性 → 共享 → 高级共享 → 确保共享名正确。
- 点击 权限 → 添加用户并赋予 完全控制 权限。
-
安全权限
- 右键文件夹 → 属性 → 安全 → 编辑 → 添加用户或组 → 勾选 修改 和 写入 权限。
步骤4:关闭防火墙(临时测试)
- 暂时禁用Windows防火墙
- 打开 控制面板 → 系统和安全 → Windows Defender 防火墙 → 点击 启用或关闭防火墙 → 选择 关闭。
- 测试挂载是否成功,若成功则需在防火墙中放行SMB端口(TCP 445)。
步骤5:检查飞牛系统日志
-
查看挂载详细错误
dmesg | grep CIFS
查找与挂载相关的错误信息,确认是否与协议版本或权限相关。
步骤6:其他尝试
最终命令示例
sudo mount -t cifs //192.168.1.100/SharedFolder /mnt/win_share -o username=user,password=pass,vers=2.1,uid=1000,gid=1000
uid 和 gid 可设置为飞牛系统用户的ID(通过 id 命令查看)。
原因总结:
Linux内核从5.x版本开始逐步弃用SMB1(安全性低),而Windows默认可能未完全禁用SMB1。通过强制使用SMB2/3并配置正确权限即可解决。 |