Windows 7 Professional用のNFSクライアントを使う (NFS 4.1のみ)

Windows 7 Professional 32-bitなマシンがある。
NFSをマウントするには、Services for Unix (SFU)を使うのが定石なのだと思うが、ProfessionalにはSFUは用意されていない。
調べてあると、
http://citi.umich.edu/projects/nfsv4/windows/
にNFSクライアントがLGPLv3で公開されている。
しかし、Gitサーバーは既に機能していないようだ。

https://github.com/kofemann/ms-nfs41-client
に、リポジトリーがミラーされていて、README.mdが整備されている。
https://github.com/kofemann/ms-nfs41-client/blob/master/README.md
基本的にこれに従えば良いが、つまずいた箇所を書いておく。

これを、
https://msdn.microsoft.com/en-us/library/windows/hardware/ff557573%28v=vs.85%29.aspx
からリンクされている、Windows Driver Kit 7.1.0
https://www.microsoft.com/en-us/download/details.aspx?id=11800
を使って、Visual C++ 2010 Expressでビルドしてみる。
まず、README.mdにあるように、build.vc10\env.prop.exampleをenv.propと言うファイル名にコピーし、Windows Driver Kitのディレクトリー名を、実際の値に合わせてやる。今回の場合は、C:\WinDDK\7600.16385.0になっていたものを、C:\WinDDK\7600.16385.1に書き換えた。

Visual C++ 2010 Expressから、build.vc10\ms-nfs41-client.slnを開いて、daemonプロジェクトをビルドしてみる。

すると、依存するプロジェクトのビルドが始まるが、MFC (Microsoft Foundation Class)の一部である、afxres.hが見付からないいと言うエラーでlibtirpcプロジェクトがビルドできない。
これは、ms-nfs41-client\libtirpc\libtirpc\libtirpc.rc中の2箇所のafxres.hをwindows.hに置き換えてやれば良いようだ。

あとは、makecertしたら、nfs41-client.cerを信頼された証明書発行機として、追加してやることが必要になる。

そして、ちゃんと動いたかと言う話になるが、NFSサーバーはNetBSD 6で、NFS 4.1に対応していないので、結局動作確認はできなかったのであった。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

Windows 11 Pro 24H2からSambaのguest ok = yesな共有フォルダーへアクセスする

Microsoft Windows 11 Proを動かしているマシンで、sambaでguest ok = yesにしている共有フォルダーにアクセスしていた。 Windows 11を24H2にアップデートしたところ、その共有フォルダーを開こうとすると、ログインを求められ、...