在Windows 10中从WSL挂载NFS共享失败的排查求助
在Windows 10中从WSL挂载NFS共享失败的排查求助
我来帮你一步步排查这个NFS挂载失败的问题,先从几个最常见的关键点入手:
确认WSL Ubuntu的NFS服务状态
先检查NFS内核服务器是否正常运行:sudo systemctl status nfs-kernel-server如果显示未启动,先启动服务并设置开机自启:
sudo systemctl start nfs-kernel-server sudo systemctl enable nfs-kernel-server另外,检查你的export配置是否生效,执行下面的命令看看输出里有没有你配置的
/home/user/some/path:showmount -e localhost如果没看到,需要重新导出共享目录:
sudo exportfs -ra验证WSL的IP地址正确性
WSL的IP地址可能会在重启后变化,你用的192.168.111.111未必是当前WSL的IP。在WSL终端里执行以下命令获取真实IP:hostname -I把得到的IP替换到PowerShell的挂载命令中再尝试。
检查Windows是否安装了NFS客户端
Windows默认没有安装NFS客户端组件,你需要手动启用:- 打开「控制面板」→「程序」→「启用或关闭Windows功能」
- 找到「NFS服务」,勾选「客户端for NFS」
- 点击确定后重启电脑
排查防火墙干扰
- WSL侧:Ubuntu自带的ufw防火墙可能阻止了NFS流量,你可以临时关闭测试:
如果关闭后能成功挂载,再去配置允许NFS相关端口(主要是2049端口,以及mountd的动态端口)的规则。sudo ufw disable - Windows侧:Windows防火墙也可能拦截NFS请求,临时关闭防火墙测试,确认没问题后再添加允许NFS的入站/出站规则。
- WSL侧:Ubuntu自带的ufw防火墙可能阻止了NFS流量,你可以临时关闭测试:
检查PowerShell挂载命令的细节
试试用更直接的mount命令替代New-PSDrive,这样能得到更详细的报错信息:mount -o anon \\<WSL_IP>\home\user\some\path M:另外注意,NFS共享在Windows中的路径格式是
\\<IP>\<exported_path>,确保你的路径和export配置完全对应。备选方案:使用WSL原生文件访问方式
如果你没有必须用NFS的需求,其实Windows可以直接访问WSL的文件系统:在资源管理器地址栏输入\\wsl$,就能看到所有已安装的WSL发行版,直接导航到/home/user/some/path即可,这种方式更稳定便捷。
备注:内容来源于stack exchange,提问作者Eduardo Fernandes
相关产品推荐
相关产品推荐

