在Windows相关系统上搭建NFS服务及客户端挂载 有两种方式:
0. 常用命令
其中在挂载前dos下输入: ping 192.168.1.49 #首先能ping同NFS服务器 mount -h 或 mount ? #命令帮助(没有提示错误,说明客户端可用) showmount -e 192.168.1.49 #查看挂载点 mount 192.168.1.49:/NFS X: #挂载到X磁盘 (其中/NFS是可用showmount命令查出来,也就是在服务器端在exports设置的) mount -o nolock 192.168.1.49:/NFS X: #用mount -h命令查看可知道-o nolock为禁用锁定 umount x: #解挂X磁盘 mount #查看挂载机相关参数 net use /persistent:yes #这一命令是让磁盘映射永久存在(客户端执行) (注意:如果已经挂载的磁盘,会造成远程NFS服务器重启出错,只能强制kill掉服务才能关机)
windows文件文件夹 可用如下地址直接访问 \\192.168.1.49\NFS
windows10和windowsserver版本对NFS的区别:

故windows10建议使用SMB共享:
-
在windows 服务器上启用 SMB 共享
- 右键点击要共享的文件夹→属性→共享→高级共享
- 勾选 "共享此文件夹",设置共享名
- 点击 "权限",确保访问用户有 "读取 / 写入" 权限
- 点击 "安全" 选项卡,添加并授权访问用户
-
在客户端连接 SMB 共享
- 打开文件资源管理器,输入:
\\服务器IP\共享名 - 用 FreeFileSync 同步 SMB 共享文件,此时时间戳保留功能通常可正常工作
- 打开文件资源管理器,输入:
以下两种方法是在windows下的方法。Linux下搭建会更好些,但由于公司服务都在windows server2008R2 上,故linux没有去研究。另以下截图和haneWin已存硬盘里。
第一种:Windows Server自带的NFS服务
1.1 Windows2008安装nfs服务及客户端
(Windows Server2008R2等类似企业版这样的版本的Server服务上有自带的NFS服务进行搭建)
(特别声明:下面是作者piazini的劳动成果,我是截的图,在此基础上加上自己理解。但是由于是以前截的图,忘了网址了)

1.2 设置共享目录

在其他机器上安装好NFS客户端,就可以进行挂载了,当然也可以不进行挂载,直接在我的电脑地址栏输入如下即可访问共享盘(另在hosts文件里设置例如 "110.1.1.200 nfsserver" 后,即可直接用\\nfsserver\nfs访问):

1.3 bat可行性文件
在客户端,我写了一个bat可执行文件,用于执行挂载、解挂等操作,我把源代码贴出来:
@rem 注释命令 相当于C语言的/*------------*/ @echo off @rem color 0a title 挂载110.11.1.200 pause @echo 执行showmount命令结果如下 showmount -e 110.11.1.200 pause @echo 对 X 盘符进行操作 choice /C 123 /M "挂载X盘符按1,解挂按2,取消操作按3" if errorlevel 3 goto end if errorlevel 2 goto umount if errorlevel 1 goto mount :mount mount 110.11.1.200:/NFS X: @echo 如挂载成功 是否执行 net use /persistent:yes choice /M "执行按Y,不执行按N" if errorlevel 2 goto no if errorlevel 1 goto yes :no goto end :yes @echo on net use /persistent:yes @echo off goto end goto end :umount umount X: goto end
:end echo 全部ok了吧,那就拜拜了 pause
1.4 RPC
<经验证局域网只用端口 111、1058、2049这三个端口,详情查看 haneWIN软件服务端配置>
注意:NFS更适合局域网进行共享,如用于非局域网需要将所有端口号都开通,原因如下:

另一种:第三方软件haneWin搭建
微软官方说明:
- NFS 服务器角色仅在 Windows Server 系统(如 Server 2016/2019/2022)中完整提供。
- Windows 10/11 桌面版(即使是专业版 / 企业版)仅支持 NFS 客户端功能,无法作为 NFS 服务器提供共享服务。
- 由于系统原生不支持,需使用第三方工具替代
- haneWIN NFS Server:轻量级第三方工具,支持在 Windows 10 上搭建 NFS 服务器,配置简单,适合个人或小型场景。
- WinNFSd:开源免费工具,通过命令行运行,适合技术人员快速部署。
- 安装haneWIN软件
- 启动时,请右键"管理员身份运行"
- 注册:(haneWIN NFS Server Keygen.exe) 运行注册机,输入Name,点击左边的按钮,生成Serial(Min. 8 Chars eingeben... 至少8个字符)
- 点击 输出->编译输出表文件 (编辑数据文件后另点击软件里面的那个“重启服务器”是没有用的,必须重启NFS服务后才能生效)
弹出一个记事本的编辑界面。我的配置如下:
# exports example
c:\upload -public -name:NFS
# c:\upload 是共享的文件夹路径
# -public 表示公共权限 -readonly只读
# -name:NFS 表示显示为什么名字
#c:\upload -range 192.168.1 192.168.10
#-range 设置内网可共享机器的iP地址范围,如果没有-range这个范围参数的话就是 对内网所有机器开放(192.168.1内网可共享机器的起始地址192.168.10为内网可 共享机器的结束地址)

客户端同步文件时发现中文名称的文件为乱码,改了客户端字符集正常了

5. 必须重启才能生效.
重启方法如下,位置在安装目录里面。eg:F:\hanWinNFS\nfsd\RestartService.bat 第一次最好以管理员身份运行

重启无报错即表示重启成功(如下图)

(这里注意下,我操作后重启不成功,后来把windows自带的NFS角色删掉重启后就好了,应该是hanWinNFS和windows自带的NFS有冲突,删除nfs角色如下图)

6.nfs服务设置为开机自启动 或 延迟启动

2.2 客户端设置:(进行挂载操作)
请参照本windows挂载nfs.png截图。
![]()
3.windows防火墙配置(如开通windows防火墙了就必须点设置)
设置windows防火墙的入栈规则(TCP,UDP) (另外对配置文件规则,就看你的网络连接是公用、专用、域的哪种了) <经验证,使用hanWinNFS或windows自带的NFS服务 都是仅开放111、1058、2049 就可以了>

到这里基本就ok了,但正式给某学校应用时发现还是不得,后来发现学校做了阻止策略中把端口全部禁止了,要把禁止策略中的 111,1058,2049给去掉就可以了。

防火墙设置截图操如下:
![]()
本文来自博客园,作者:东方飘雪,转载请注明原文链接:https://www.cnblogs.com/zdyang/p/11907192.html
浙公网安备 33010602011771号