【软件】在Windows和Ubuntu上使用TFTP和NFS

news/2025/3/31 20:02:47/文章来源:https://www.cnblogs.com/minuhy/p/18797731

在Windows和Ubuntu上使用TFTP和NFS

零、介绍

最近在玩Linux开发板,在开发的过程中发现需要用到tftp和nfs来帮助传输文件,故此记录如何使用这两种软件。
TFTP(Trivial File Transfer Protocol) :是一种简化的文件传输协议,设计用于在客户端和服务器之间快速传输文件。轻量级、协议简单、代码量小,适合嵌入式系统、路由器等,基于 UDP 协议,数据明文传输,仅支持基本的文件上传和下载。
NFS(Network File System):是一种分布式文件系统协议,允许不同计算机通过网络共享文件,如同访问本地磁盘。允许用户直接读写远程文件而无需显式下载或上传,通常使用 TCP协议,具备权限管理功能,可在 Linux、Unix、Windows 等系统间共享文件。

壹、Ubuntu上的TFTP

1. 安装

sudo apt-get install tftpd-hpa tftp-hpa

其中,tftpd-hpa为服务器,tftp-hpa为客户端。

(可选)要是可以,顺便安装网络工具,方便检查程序使用情况:

sudo apt install net-tools

2. TFTP服务器

2.1 配置TFTP服务器

编辑

sudo vi /etc/default/tftpd-hpa

文件路径:/etc/default/tftpd-hpa

# /etc/default/tftpd-hpaTFTP_USERNAME="tftp"
# TFTP_DIRECTORY="/srv/tftp"
TFTP_DIRECTORY="/home/yu/share/tftp"
TFTP_ADDRESS="0.0.0.0:69"
# TFTP_OPTIONS="--secure"
TFTP_OPTIONS="-c -s -l"  #  -l监听模式,-c允许创建文件,-s指定根目录

其中,#开头的为注释,TFTP_DIRECTORY为TFTP服务器的共享目录,我的已设置为/home/yu/share/tftp,此目录建议设置开放的权限避免读写权限问题,TFTP_ADDRESS为TFTP服务器监听的IP和端口,TFTP_OPTIONS为TFTP的配置参数,建议设置为"-c -s -l"

共享目录建议配置为开放权限

sudo mkdir /home/yu/share/tftp		    # 创建目录
sudo chmod 777 /home/yu/share/tftp      # 配置开放权限

2.2 重启TFTP服务器

编辑配置文件之后需要重启TFTP服务器以使配置生效

sudo systemctl restart tftpd-hpa

2.3 检查TFTP服务器

要是报错,很有可能是端口号被占用了,可以在配置文件中修改端口号,或者可以使用如下命令查看端口占用情况,此条命令也可以检查TFTP服务器是否在运行

sudo netstat -a | grep tftp

正常的结果

yu@Yubuntu:~$ sudo netstat -a | grep tftp
udp        0      0 0.0.0.0:tftp            0.0.0.0:*

2.4 配置TFTP服务器开机启动

要是想让TFTP服务器开机自启,可以使用如下命令

sudo systemctl enable tftpd-hpa

3. TFTP客户端

使用TFTP客户端连接TFTP服务器进行文件传输

3.1 试验环境

建议在一个有文件的目录下执行此试验 ~
我的目录

yu@Yubuntu:~/test$ ls -l
总计 4
-rw-rw-r-- 1 yu yu 11  3月 26 12:02 1.txt

3.2 使用TFPT连接到服务器

服务器在本机,故IP为127.0.0.1

tftp 127.0.0.1

运行结果

yu@Yubuntu:~$ tftp 127.0.0.1
tftp>

3.2 使用TFPT上传文件

命令

put 文件名

举例

yu@Yubuntu:~/test$ tftp 127.0.0.1
tftp> put 1.txt
tftp>

查看服务器上的共享目录

yu@Yubuntu:~/share/tftp$ ls -l
总计 4
-rw-rw-rw- 1 tftp tftp 11  3月 26 15:36 1.txt

上传成功

3.3 使用TFPT下载文件

我们在TFTP服务器上的共享目录中创建一个文件

yu@Yubuntu:~/share/tftp$ vi 2.txt
yu@Yubuntu:~/share/tftp$ cat 2.txt
Hello Yumizie
yu@Yubuntu:~/share/tftp$

从服务器上下载文件
命令

get 文件名

举例

yu@Yubuntu:~/test$ tftp 127.0.0.1
tftp> get 2.txt
tftp> q
yu@Yubuntu:~/test$ cat 2.txt
Hello Yumizie
yu@Yubuntu:~/test$

成功,使用q命令退出TFTP客户端

贰、Ubuntu上的NFS

1. 安装

sudo apt-get install nfs-kernel-server

2. NFS服务器

2.1 配置NFS服务器

NFS 的配置文件是/etc/exports,每一行定义一个共享目录及其访问权限。
编辑:

sudo vi /etc/exports

在末尾追加如下配置行:

/home/yu/share/nfs *(rw,sync,no_subtree_check,no_root_squash)

其中:
/home/yu/share/nfs为共享目录位置,可以根据自己的需要进行更改;
*表示允许所有 IP/主机名 访问;
rw表示允许客户端对共享目录进行 读写操作(只读ro);
sync表示要求所有写入操作同步到磁盘,确保数据一致性,但会降低性能(异步模式使用async,速度更快但存在数据丢失风险);
no_subtree_check表示禁用子树检查,子树检查会验证共享目录的父目录是否存在,若父目录被删除,子目录访问会被拒绝,禁用后可提升性能(需要父目录稳定);
no_root_squash表示不禁用root权限映射,一般NFS会把客户端的root用户映射为服务器的nobody用户,来增强安全性,此设置允许客户端的root用户以真实root 权限访问共享目录,可能有安全风险。

创建共享目录并分配权限

sudo mkdir -p /home/yu/share/nfs        # 创建目录
sudo chmod -R 777 /home/yu/share/nfs    # 分配权限

2.2 重启NFS服务器

重启NFS服务器,以使配置生效

sudo systemctl restart nfs-kernel-server

-> 以后若是遇到问题,重启NFS服务能解决大部分问题

2.3 检查NFS服务器

可以使用如下命令查看端口占用情况,检查NFS是否在运行

netstat -a | grep nfs

或者使用服务管理器检查

systemctl status nfs-server

显示active (exited)即可

2.4 设置开机自动启动NFS服务器

rpcbind负责将 RPC(远程过程调用)程序号映射到网络端口,是 NFS 服务的基础,故我们需要让它跟NFS服务同时启动。

sudo systemctl start rpcbind        # 启动rpcbind服务
sudo systemctl enable rpcbind       # 设置rpcbind服务开机自启
sudo systemctl start nfs-server     # 启动NFS服务器
sudo systemctl enable nfs-server    # 设置NFS服务器开机自启

检查设置状态

sudo systemctl is-enabled rpcbind       # 打印enabled
sudo systemctl is-enabled nfs-server    # 打印enabled

2.5 NFS服务器的其他说明

Ubuntu 17.10 之后的版本,NFS 服务默认仅支持协议 3协议 4。,若要使用协议 2,需要在/etc/default/nfs-kernel-server文件末尾加一句如下内容:

RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"

然后重启NFS服务器即可。

3. NFS客户端

3.1 试验环境

在使用客户端之前,为了方便测试,我们先在NFS服务器共享目录中添加一点东西

yu@Yubuntu:~/share/nfs$ vi 1.txt
yu@Yubuntu:~/share/nfs$ cat 1.txt
Hello NFS
yu@Yubuntu:~/share/nfs$

3.2 列出NFS服务器

可以列出服务器上共享的目录:

showmount -e <服务器IP地址>

示例:

yu@Yubuntu:~$ showmount -e 127.0.0.1
Export list for 127.0.0.1:
/home/yu/share/nfs *
yu@Yubuntu:~$

3.3 挂载NFS服务器

使用如下命令挂载NFS服务器的工作目录到/mnt(/mnt 一般是用来做临时挂载的目录)

sudo mount -t nfs 127.0.0.1:/home/yu/share/nfs /mnt

其中
mount 为Linux系统中用于挂载文件系统的核心命令。
-t nfs表示指定挂载的文件系统类型为NFS。
127.0.0.1:/home/yu/share/nfs为NFS服务器的地址和要共享的目录路径。
/mnt为本地挂载点,挂载后远程文件系统会在此路径下被共享。

3.4 检查挂载情况

检查目录中的文件是否与NFS服务器工作目录中的一致

yu@Yubuntu:~$ ls /mnt/
1.txt
yu@Yubuntu:~$ cat /mnt/1.txt
Hello NFS
yu@Yubuntu:~$

说明挂载成功!

3.5 取消挂载

sudo umount /mnt

叁、Windows上的TFTP

1. 软件的下载和安装

软件:tftpd64
网站地址:https://pjo2.github.io/tftpd64/

1.1 下载

下载地址:https://bitbucket.org/phjounin/tftpd64/downloads/
点击tftpd64.464.zip即可开始下载

下载

1.2 解压运行

解压得到的文件,运行tftpd64.exe
tftpd64主界面

2. 软件的使用

在主界面中,Current Directory 为当前的工作目录,文件的上传、下载和共享都在这个目录中,Server interfaces为TFTP服务器监听的IP,要共享给哪个设备即选择与共享设备所在网段一致的IP。
软件打开即启动了TFTP服务器,我们可以在Ubuntu上试一试。

2.1 试验环境准备

在我的当前的工作目录D:\y17mm\Desktop\Ubuntu\tftpd中创建一个文本文件,写入内容:

D:\y17mm\Desktop\Ubuntu\tftpd>tree /f
卷 井中月 的文件夹 PATH 列表
卷序列号为 FE8F-1AB3
D:.tftpd32.initftpd64.exeTFTPWindows.txt没有子文件夹D:\y17mm\Desktop\Ubuntu\tftpd>type TFTPWindows.txt
Hello
Windows

2.2 作为TFTP服务器使用

打开tftpd64主界面后即开启了TFTP服务器,我们到Ubuntu中使用TFTP客户端上传和下载文件:

2.2.1 Ubuntu客户端
yu@Yubuntu:~/test$ cat 1.txt
Hello TFTP
yu@Yubuntu:~/test$ tftp 192.168.146.1
tftp> put 1.txt
tftp> get TFTPWindows.txt
tftp> q
yu@Yubuntu:~/test$ cat TFTPWindows.txt
Hello
Windowsyu@Yubuntu:~/test$

上传下载都没问题的。

2.2.2 Windows服务器

查看上传的文件
服务器这边已收到来自客户端的文件,而且也是可以正常查看上传到服务器的文件的。

2.3 作为TFTP客户端使用

开启Ubuntu上的TFTP服务器,目前服务器上只有两个文件:

yu@Yubuntu:~/share/tftp$ ls
1.txt  2.txt
yu@Yubuntu:~/share/tftp$ cat 2.txt
Hello Yumizie
yu@Yubuntu:~/share/tftp$ sudo systemctl restart tftpd-hpa
[sudo] yu 的密码:
yu@Yubuntu:~/share/tftp$ sudo netstat -a | grep tftp
udp        0      0 0.0.0.0:tftp            0.0.0.0:*
yu@Yubuntu:~/share/tftp$
2.3.1 从Ubuntu的TFTP服务器上下载文件

点击“Tftp Client”选项卡,输入好TFTP服务器IP地址和端口号(端口号默认为 69),“Local File”为保存到本机的位置,“Remote File”为服务器上的文件名,点击“Get”开始下载。
文件下载结果

下载完成后,会弹出下载结果,同时把下载好的文件保存在“Local File”指定的位置,我们双击打开可以看到文件内容与服务器上的一致。

2.3.2 把文件上传到Ubuntu的TFTP服务器上

与文件下载一样,设置好服务器IP和端口,“Local File”为将要上传的本机文件,“Remote File”为上传到服务器上的文件名,点击“Put”开始上传。
上传结果

上传完成后,检查服务器上的文件:

yu@Yubuntu:~/share/tftp$ ls -l
总计 12
-rw-rw-rw- 1 tftp tftp 11  3月 26 15:36 1.txt
-rw-rw-r-- 1 yu   yu   14  3月 26 15:39 2.txt
-rw-rw-rw- 1 tftp tftp 14  3月 27 12:05 TFTPWindows.txt
yu@Yubuntu:~/share/tftp$ cat TFTPWindows.txt
Hello
Windowsyu@Yubuntu:~/share/tftp$

可以看到,服务器上多出了一个文件“TFTPWindows.txt”,上传成功~

肆、Windows上的NFS

NFS服务器: Windows Server 2016 及以上原生支持 NFS 服务器角色,可通过 “文件和存储服务” 中的 “NFS 服务器” 进行安装。Windows 10/11 家庭版和专业版默认不支持 NFS 服务器角色。这些版本需要使用第三方工具(如 haneWIN NFS Server 或 Vagrant WinNFSd)来部署 NFS 服务器。
NFS客户端: Windows Server 2008 R2 及更高版本原生支持 NFS 客户端,需通过 “添加角色和功能” 手动安装。Windows 10/11 专业版、企业版支持 NFS 客户端,但家庭版不包含此功能。
总之,Windows上有几款NFS相关的软件,有的是系统自带的,有的是第三方的,各个支持情况不一……

1. Windows上自带的NFS软件

1.1 Windows(桌面版)NFS客户端安装

我的Windows11专业版,在“设置”->“系统”->“可选功能”->“更多Windows功能”->“NFS服务”中有自带的NFS客户端和管理工具,若要启用,勾选后点确定即可。Windows 客户端默认支持 NFSv3,不支持 NFSv4。
Windows自带NFS客户端
其中,NFS客户端提供基础的NFS客户端功能,管理工具提供图形化的管理界面方便我们配置。

1.2 Windows NFS客户端的使用

1.2.1 查看远程电脑NFS共享的目录

这条命令的用法与Linux上的用法一致,列出服务器上共享的所有目录:

showmount -e 远程电脑的IP

示例

C:\Users\y17mm>showmount -e 192.168.146.131
导出列表在 192.168.146.131:
/home/yu/share/nfs                 *C:\Users\y17mm>
1.2.2 挂载NFS服务器

命令行方式
命令格式:

mount -o anon \\<服务器IP>\<共享目录> <盘符>:

-o anon:匿名访问,即无需身份验证,Windows 客户端默认不发送匿名请求,需显式指定此选项以通过身份验证。

示例:

C:\Users\y17mm>mount -o anon \\192.168.146.131\home\yu\share\nfs Z:
Z: 现已成功连接到 \\192.168.146.131\home\yu\share\nfs命令已成功完成。C:\Users\y17mm>

图形化方式
打开“此电脑”,在工具栏中点击“…”,选择“映射网络驱动器”,在弹出的窗口中输入\\服务器\共享路径,点击完成即可。
添加网络驱动器
这边我挂载的是我Ubuntu系统中的NFS服务器共享的目录,挂载成功后会自动打开:
自动挂载结果

1.2.3 检查挂载

执行上面的命令行挂载或图形化挂载的操作之后,打开“此电脑”:
已看到NFS位置
可以在“此电脑”中看到对应的网络位置。
文件能直接读取和写入
打开后,里面的文件就像本地文件一样,可以很方便的读写。

1.2.4 取消挂载

命令行方式(推荐)
格式

umount <盘符>:

示例

C:\Users\y17mm>umount z:正在断开连接            Z:      \\192.168.146.131\home\yu\share\nfs
命令已成功完成。C:\Users\y17mm>

图形化方式
取消挂载
在需要取消挂载的磁盘上“右键”,选择“断开连接”即可。

1.3 Windows Server NFS服务器和NFS客户端安装

命令行方式
命令:

Import-Module ServerManager
Add-WindowsFeature FS-NFS-Service
Import-Module NFS

图形化方式
Windows Server 自带的NFS服务器和NFS客户端
打开“服务器管理器”,点击“添加角色和功能”,点击“基于角色的安装”,点击“文件和存储服务”,选择“NFS 服务器”。
安装的内容
跟Windows(桌面版)一样的,管理工具提供图形化的管理界面方便我们配置,NFS服务器、NFS客户端提供基础的NFS能力。

1.4 Windows Server NFS服务器的使用

1.4.1 创建NFS服务器共享目录

环境
在我的Windows Server 2025上,在C盘有两个共享文件夹,内容如下:
NFS服务器环境1
NFS服务器环境2

图形化方式
在“服务器管理器”中,找到左边的“文件和存储服务”,找到“共享”,点击“若要创建文件共享,请启动新加共享向导。”,在弹出的窗口中选择“NFS 共享 - 快速”,下一步,选择“键入自定义路径”,输入我的第一个文件夹路径C:\nfs

新建NFS服务器
共享名称保持默认就好,当然,也可以更改成你喜欢的。
身份验证我们依然选择比较开放的方式,勾选“无服务器身份验证”,勾选“启用未映射的用户访问”。
配置NFS服务器

共享权限这边我们需要先点个“添加”,在弹出的面板中选择对所有机器生效的“All Machines”,权限设置为“读/写”权限,点“添加”完成设置。
这样做的好处是快速上手NFS,后面有需要再改。但是注意别在不信任的网络上这样操作(比如公网)。

创建成功
创建NFS服务器共享目录完成~

命令行方式
格式

New-NfsShare -Name <共享名称> -Path <共享目录> -Permission <权限> -AllowRootAccess <布尔值-是否允许以root权限访问> -EnableUnmappedAccess <布尔值-是否未映射的用户访问>

示例

PS C:\Users\Administrator> New-NfsShare -Name "win_nfs_share" -Path "c:\ymm" -Permission "readwrite" -AllowRootAccess $true -EnableUnmappedAccess $true
警告: 共享上已启用未映射的 Unix 用户访问或匿名访问,但是 AUTH_SYS 身份验证协议已禁用。服务器已在共享上自动启用
AUTH_SYS。Name          Availability             Path
----          ------------             ----
win_nfs_share Standard (not clustered) c:\ymmPS C:\Users\Administrator>
1.4.2 验证NFS服务器共享目录是否设置成功

命令格式

Get-NfsShare -Name <共享名称>

示例

PS C:\Users\Administrator> Get-NfsShare -Name "nfs"Name Availability             Path
---- ------------             ----
nfs  Standard (not clustered) C:\nfsPS C:\Users\Administrator> Get-NfsShare -Name "win_nfs_share"Name          Availability             Path
----          ------------             ----
win_nfs_share Standard (not clustered) c:\ymmPS C:\Users\Administrator>
1.4.3 使用Ubuntu挂载Windows NFS服务器

准备挂载

yu@Yubuntu:~$ showmount -e 192.168.146.136  # 显示Windows NFS服务器上所有的共享目录
Export list for 192.168.146.136:
/nfs           (everyone)
/win_nfs_share (everyone)
yu@Yubuntu:~$ sudo mkdir /mnt/windows1 /mnt/windows2  # 创建挂载目录,待会儿挂到这两个文件夹上
[sudo] yu 的密码:
yu@Yubuntu:~$

挂载第一个目录

yu@Yubuntu:~$ sudo mount -t nfs 192.168.146.136:/nfs /mnt/windows1  # 挂载第一个共享目录
yu@Yubuntu:~$ cd /mnt/windows1
bash: cd: /mnt/windows1: 权限不够
yu@Yubuntu:~$ su
密码:
root@Yubuntu:/home/yu# cd /mnt/windows1
root@Yubuntu:/mnt/windows1# ls
windows_nfs_server.txt
root@Yubuntu:/mnt/windows1# cat windows_nfs_server.txt
Windows Server 2025
root@Yubuntu:/mnt/windows1#

成功~

挂载第二个目录

yu@Yubuntu:~$ sudo mount -t nfs 192.168.146.136:/win_nfs_share /mnt/windows2  # 挂载第二个共享目录
[sudo] yu 的密码:
yu@Yubuntu:~$ cd /mnt/windows2
-bash: cd: /mnt/windows2: 权限不够
yu@Yubuntu:~$ su
密码:
root@Yubuntu:/home/yu# cd /mnt/windows2
root@Yubuntu:/mnt/windows2# ls
yu.txt
root@Yubuntu:/mnt/windows2# cat yu.txt
yu nfs windows
root@Yubuntu:/mnt/windows2#

成功~

取消挂载

yu@Yubuntu:~$ sudo umount /mnt/windows1
yu@Yubuntu:~$ sudo umount /mnt/windows2
1.4.4 使用Windows NFS客户端挂载Windows NFS服务器

挂载NFS服务器
与上文的“1.2.2 挂载NFS服务器”部分步骤一致,不一样的是这里可能会弹出“输入网络凭据”的认证窗口,需要输入一下Windows Server的账号和密码,例如我这里需要输入账号:Administrator,密码:Qwe123++。
挂载成功
挂载后能正常访问~

2. Windows上的第三方NFS软件

客户端在非服务器版本上有的,若是家庭版,可以改个激活码转换成专业版,这里就不介绍了,这里主要介绍NFS服务器软件。

2.1 haneWIN

2.1.1 下载安装

haneWIN 网站地址:https://www.hanewin.net/nfs-e.htm
不太喜欢安装的,这里需要下载两个文件,一个是程序包,一个语言包。
下载haneWIN
下载后得到这两个文件:
haneWIN
其中,“nfs1268.zip”为程序包,“nfs-languages.zip”为语言包,解压“nfs1268.zip”到当前目录,会得到一个“nfsd”。
解压haneWIN
先使用压缩软件打开另外一个文件“nfs-languages.zip”,然后进入解压得到的“nfsd”,进入到里面的“languages”文件夹内,把“nfs-languages.zip”中的“Simplified_Chinese.ini”拖入。
汉化过程
然后我们返回上一层,找到nfsd文件夹下的“nfssrv-64.exe”,启动!
汉化设置
点击“Edit”,选择“Preferences”,切换到“Language”选项卡,点击“简体中文”,点击“确定”,这样界面就变成中文的了~

2.1.2 配置服务器

创建共享文件夹
我在C盘下创建了个文件夹“nfs_hane”。
共享目录
配置共享文件夹
回到haneWIN,点击“编辑”,选择“首选项”,切换到“导出”面板,点击“编辑输出文件”,开始编辑共享目录条目。
配置haneWIN

编辑框中的每一行代表一个共享目录,“#”开头的为注释,可以不用管它,我们把原来的一些共享目录条目全部删去,写入如下条目:

c:\nfs_hane -public -name:nfs_hw

其中,c:\nfs_hane为共享的文件夹路径,我的就刚刚创建的在C盘的文件夹“nfs_hane”,-public表示为公共权限,-name:nfs_hw为设置共享名称为“nfs_hw”。
大家根据自己的需要进行更改,更改完成后点“保存”,点“确定”关掉“首选项”窗口。
重启haneWIN
点“文件”,选择“退出”,再重新双击“nfssrv-64.exe”,启动!
重启haneWIN

2.1.3 检查NFS服务器

haneWIN重启后,设置生效,我们到Ubuntu下验证一下。

yu@Yubuntu:~$ showmount -e 192.168.146.128
Export list for 192.168.146.128:
/nfs_hw -public
yu@Yubuntu:~$ sudo mount -t nfs -o nolock 192.168.146.128:/nfs_hw /mnt
yu@Yubuntu:~$ cd /mnt/
yu@Yubuntu:/mnt$ ls
hw.txt
yu@Yubuntu:/mnt$ cat hw.txt
hw_nfs
yu@Yubuntu:/mnt$

能正常访问NFS服务器上的共享目录,成功~

2.2 WinNFSd

支持NFS V3,Windows挂载测试成功,Ubuntu挂载测试提示“clnt_create: RPC: Can't decode result”和“输入/输出错误”。

2.2.1 下载

开源地址:https://github.com/winnfsd/winnfsd/releases
点击“WinNFSd.exe”即可开始下载。
WinNFSd.exe下载

2.2.2 配置

把“WinNFSd.exe”放到一个文件夹中,在此文件夹中新建文本文件改文件名和后缀为“start.bat”,写入如下内容:
WinNFSd.exe配置

WinNFSd.exe -addr 0.0.0.0 %cd% /nfs

其中,-addr 0.0.0.0为在所有的网卡上启用监听,%cd%表示当前目录,/nfs为共享名称。

2.2.3 运行

双击“start.bat”启动NFS服务器。
启动WinNFSd.exe

2.2.4 测试挂载服务器(Windows)

命令:

mount -o anon \\127.0.0.1\nfs Z:

测试挂载WinNFSd.exe

2.2.5 关闭服务器

在所有客户端取消挂载后,在由“start.bat”打开的小黑窗中输入quit退出NFS服务器。
退出WinNFSd.exe
若是还有挂载的NFS客户端,它会要求你确认的。

2.3 FreeNFS

官网:https://freenfs.sourceforge.net/
开源地址:https://github.com/digitalarch/FreeNFS
开源免费,支持 NFS v2/v3,已停止维护(最后版本 2012 年),不建议用于生产环境。

2.3.1 下载和运行

下载页链接:http://sourceforge.net/projects/freenfs/files/latest/download
下载后得到一个文件“FreeNFS.exe”,双击后运行,运行后无窗口,需要点开任务栏才能看到。
运行FreeNFS

2.3.2 挂载测试

Windows 挂载失败

C:\Users\y17mm>showmount -e 192.168.146.137
RPC: 程序不可用RPC: 端口映射器故障 - RPC: 已超时。
C:\Users\y17mm>mount -o anon \\192.168.146.137\ Z:
网络错误 - 53有关详细信息,请键入“NET HELPMSG 53”。C:\Users\y17mm>

Ubuntu挂载失败

yu@Yubuntu:~$ showmount -e 192.168.146.137
rpc mount export: RPC: Procedure unavailable
yu@Yubuntu:~$ sudo mount -v -t nfs -o vers=3,proto=tcp,sec=none,timeo=20,soft,intr 192.168.146.137:/ /mnt
[sudo] yu 的密码:
mount.nfs: timeout set for Sat Mar 29 02:07:33 2025
mount.nfs: trying text-based options 'vers=3,proto=tcp,sec=none,timeo=20,soft,intr,addr=192.168.146.137'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.146.137 prog 100003 vers 3 prot TCP port 2049
mount.nfs: portmap query failed: RPC: Authentication error
mount.nfs: access denied by server while mounting 192.168.146.137:/
yu@Yubuntu:~$
2.3.4 其他版本

FreeNFS还有个专门为嵌入式做的版本,叫“FreeNFSE”
下载地址:https://sourceforge.net/projects/freenfs/files/Current%20Version/Embedded%20System%20Version/
下载完成后得到一个压缩包“FreeNFSE Release 12-12-12.rar”,解压后找到“FreeNFSE.exe”运行,一样的是在状态栏。
运行FreeNFSE
再次尝试使用Windows和Ubuntu去链接,一样的结果,仍然不可用,可能是版本不对或者其他原因,欢迎讨论。

伍、参考资料

  1. 创建 NFS 共享(NFS)| Microsoft Learn --- New-NfsShare (NFS) | Microsoft Learn:https://learn.microsoft.com/en-us/powershell/module/nfs/new-nfsshare?view=windowsserver2025-ps
  2. 部署网络文件系统:https://learn.microsoft.com/zh-cn/windows-server/storage/nfs/deploy-nfs
  3. Tftpd64:https://pjo2.github.io/tftpd64/
  4. windows上搭建NFS服务器--haneWIN:https://blog.csdn.net/paladinzh/article/details/96162270
  5. WinNFSd:https://github.com/winnfsd/winnfsd
  6. 欢迎来到 FreeNFS!:https://freenfs.sourceforge.net/
  7. FreeNFS:https://sourceforge.net/projects/freenfs/
  8. 11.文件系统 - NFS - 《RT-Thread编程手册》 - 书栈网 · BookStack:https://www.bookstack.cn/read/rtthread-manual-doc/11.7.md

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/907399.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FastAPI Pydantic动态调整Schema

title: FastAPI Pydantic动态调整Schema date: 2025/3/29 updated: 2025/3/29 author: cmdragon excerpt: Pydantic动态Schema支持运行时字段调整和环境变量控制,实现毫秒级配置生效。通过字段级动态注入和条件必填验证,灵活适应业务需求。多租户系统采用条件字段过滤实现数…

【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(4)

比赛链接 本文发布于博客园,会跟随补题进度实时更新,若您在其他平台阅读到此文,请前往博客园获取更好的阅读体验。 跳转链接:https://www.cnblogs.com/TianTianChaoFangDe/p/18799072 开题 + 补题情况 和前三场比起来前期的签到题发挥稳定了许多,没有被卡很久,不过 1001 …

详细介绍Mybatis的缓存机制

一、缓存机制 1、缓存概述 缓存:缓存就是一块内存空间,保存临时数据 作用:将数据源(数据库或者文件)中的数据读取出来存放到缓存中,再次获取时直接从缓存中获取,可以减少和数据库交互的次数,提升程序的性能 缓存适用: 适用于缓存的:经常查询但不经常修改的,数据的正…

JS梳理之es6异步async await 协程 迭代器

es6异步 promise 链式调用 是对回调炼狱的一种优化 这次梳理一下async await async function fetchData() {const response = await fetch(https://api.example.com/data);const data = await response.json();return data; }// async 声明这是一个异步函数 // await 会暂停函数…

百度云同步盘 登录失败【%d】【155010】

前言全局说明百度云同步盘在2016前后升级了一次,修改了接口,但是没有发布完整安装包,当时可以自动升级来解决,后来自动升级失效,就之能手动打补丁来解决了。详细解决过程:https://www.cnblogs.com/wutou/p/18799043一、说明 1.1 环境: Windows 11 家庭版 23H2 22631.3737二…

grpc实现Aop

创建项目服务端:微软官方自带的ASP.NET.Core.gRPC服务项目。 客户端:ASP.NET.Core.WebApi项目。 公共类库:主要为AOP自定义拦截器类。依赖包导入 客户端:Grpc.AspNetCore、Grpc.Core.Api、Grpc.Net.ClientFactory、Grpc.Tools。公共类库:Grpc.Core.Api公共类库项目配置 创…

Win 11 安装百度云同步盘

前言全局说明百度网盘最早出来叫“百度云管家”,可以上传下载东西,后来大概在2012年,百度云同步盘上线,后来将云管家和同步盘放到一起,叫百度云,也就是现在用的这个。下面介绍 如何在 Win11上用百度云同步盘一、说明 1.1 环境: Windows 11 家庭版 23H2 22631.3737二、下载…

C语言打卡学习第7天(2025.3.26)(补发)

![](https://img2024.cnblogs.com/blog/3622651/202503/3622651- 20250329002951976-79699626.jpg)1.换个网站把题简单做了几道 2,把积存的问题好好问了一下,明天“亡羊补牢”:冒泡排序、数组指针简单用法、之前网站的简单题 明天贪一点,起码把原来网站那些题啃了

VGG

VGG 网络LRN(Local Response Normalization)来自于AlexNet现在已经不怎么使用,因为经过很多实验并没有较大的作用 conv的stride为1,padding为1 maxpool的size为2,stride为2感受野叠加 论文中一个比较重要的使用就是感受野的叠加 感受野(Receptive Field)是卷积神经网络中一…

日语声调

日语声调的记忆 方法1方法2方法3日语声调的标记方法 方法1:划线规律1:第1个音 和 第2个音不是同音 规律2:出现降音就不会升回去 规律3:“高-低”在第几个音出现,就是几型 方法2:数字

荧光灯下的“绚烂”

“绚烂”这一可以令人愉悦的词汇,在航空发动机研制过程中,却给人另外的意味。荧光检测荧光检测 荧光检测是一种在零件表面进行的无损检测,可用于检测航空发动机零部件因疲劳、撞击、机加、淬火、锻造、铸造过载等因素造成的各种裂纹、接缝等表面缺陷。 当荧光检测应用在航…

课堂里的人工智能,或者说,狂野西部闯进了教育界

诺米科托博士(Normi Coto, PhD)配图来自 Unsplash 的 Element5 Digital3 月 15 日星期六,我参加了一场名为“人文学科中的 AI”的职业发展工作坊。会场人满为患,坐满了来自弗吉尼亚州中学和高中的英语和历史老师。来自弗吉尼亚大学和朗伍德大学的教授主持了这次工作坊,主题…