windows nfs server for linux

时间:2023-02-02 14:50:19

摘要

在开发嵌入式系统的过程中,为了方便调试与文件共享,需要使用到nfs,即网络文件系统,这位板子的调试测试带来了很大的方便。之前在linux系统下开发,与ARM11核心板 linux系统对接共享也比较方便,近期因为个别原因,将开发转移到了windows平台,因此需要windows下的nfs server。即整体解决方案就是windows nfs server for linux.

NFS,是Network File System的简写,即网络文件系统。网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。
为了在windows提供nfs server, 在网上查询了一下,发现微软提供的Services for UNIX(SFU)软件包里包含NFS Server,可以满足我的要求。
下面将整个nfs搭建过程进行描述:

一、安装SFU 
1、下载软件SFU 
2、编辑密码passwd、用户组group 
新建文本文件:C:\passwd 文件内容: root::000:000:root:/home/root:/bin/bash 
新建文本文件: C:\group 文件内容: root::000:root 
3、运行SFU35BETA_EN.exe释放压缩的文件 
4、运行SfuSetup.msi,选择自定义安装 
5、“Authentication tools for NFS"和"NFS"两项完全安装,其他各项不安装

二、配置Services for UNIX Administration 
1、开始->程序->Windows Services for Unix->Services for Unix Administration,启动Services for UNIX Administration 
2、出现设置窗口后,“User Name Mapping”->“Configuration”, 勾选“Use password and Group files”, 在"Password file path and name"下的空白栏中输入C:\passwd,在"Group file path and name"下的空白栏中输入C:\group 
3,“User Name Mapping”->“Map3”, 点击"show user maps”, 在"windows user name"和"unix user name"框中分别输入Administrator和root,“add"添加,点击"show group Maps”, 在"windows group name"和"unix group name"框中分别输入Administrators和root,“add"添加 
5、Apply

三、共享Windows主机目录 
1、不需重启,对NTFS格式盘中要共享的目录,右键点击出现下拉菜单,选择"属性”,出现目录属性窗口。 
2、选择"NFS Sharing"选项卡,选中share this folder;选中Allow anonymous access;点击Permissions,出现NFS Share Permissions窗口,设置共享文件夹读写属性。 
3、在Type of access下拉菜单中选择Read-Write(可读可写);要使目标板对本机文件有root权限,选中Allow root access。 
4、设置完,点击OK按钮,回到目录属性窗口。 
5、点击"安全"选项,添加everyone,使之允许读取、控制,或者完全控制,如果没有"安全"选项请在资源管理器点"工具”->“文件夹选项”,点击查看选项,将"使用简单文件共享(推荐)“前的勾去掉,目录属性窗口里就有安全选项了。 
6、开启了windows的文件共享功能"属性”-“共享”-“共享此文件夹”,更改"权限"为"完全控制”(如果没有请开启,NFS能挂载,但不能访问的问题)

四、挂载 
mount –t nfs –o nolock,proto=tcp,nfsvers=3 192.168.1.169: share_name /mnt

本人使用nfs的目的是,将windows上的一个nfs sharing文件夹 镜像到arm11 linux的一个文件夹下,windows上共享的那个文件夹其实就是本人开发的一个系统,这样通过nfs镜像及网络传输,我在linux上可以直接运行该系统。