个人原创,如有转载,请注明出处。
——by realasking
Windows 11上访问局域网NAS的NFS不能用Windows自带的NFS Client,用该方法需要加域,用ACTIVE DIRECTORY,配置非常复杂。网传的改注册表中的uid和gid的方法现在已经失效,况且改为root的gid和uid并不安全。2008年的nfs v4.1 client for windows项目在2012年后也再无更新,现在基本处于难以使用状态。
经过多日搜索,目前找到了以下方法,不过访问效率不是很高。
1.安装Windows自带的NFS Client功能,因为它的一些工具我们需要。
2.从github下载并安装winfsp
和nfs-win
,这是第三方的nfs驱动。
3.重启电脑。
4.查找NAS上具有NFS共享访问权限的用户uid和gid,这个gid必须是用户的基本组id,不是NFS组的gid。
比如我自己的uid是1000,gid是100,这个100是users组的gid,users组是我的用户realasking的基本组。
5.打开Windows终端,在启动的powershell窗口中查看Windows电脑的用户名,就是提示符中>前、users\后的内容。
6.输入命令showmount -e NAS的IP
,找到NFS共享目录。
7.打开文件管理器,在此电脑上单击右键,点击映射网络驱动器。
8.在文件夹中输入:
\\nfs\windows电脑的用户名=NAS上的用户uid.NAS上的用户gid@NAS的IP\NFS共享目录
9.选择一个盘符,然后点击确定。
只是做到这样,还是不够的,还要让wsl也能正常使用nas,做法是:
- 执行命令:
sudo vi /etc/wsl.conf
输入以下内容后保存:
[boot]
systemd=true
- 重启电脑或wsl
- 在wsl中执行以下命令安装和启用nfs client:
sudo apt install nfs-client nfs-common
sudo systemctl enable --now nfs-client.target
- 执行以下命令:
mkdir /mnt/z
- 输入命令
showmount -e NAS的IP
,找到NFS共享目录。 - 执行命令
sudo vi /etc/fstab
,加入以下内容:
NAS的IP:NFS共享目录 /mnt/z nfs _netdev,noauto,x-systemd.automount,x-systemd.mount-timeout=10,timeo=14,x-systemd.idle-timeout=1min 0 0
然后重启电脑就行了。