こんにちは。 Windows テクノロジー サポートの松田です。
Windows Server 2003 R2 以降のシステムでは、Windows コンポーネントの一部として NFSサービスが提供されています。Unix や Linux 環境において広く用いられているネットワークファイル共有の NFS (Network File System) に対応するためのもので、このサービスを利用することで Unix/Linux 環境と Windows 環境との間で NFS プロトコルを介したファイル共有が出来るようになります。
Unix/Linux と Windows が混在するネットワーク環境をお持ちのユーザー様にご活用いただいていますが、Windows Server 2008 (Windows Vista) に SP2 を適用することにより NFS が利用出来なくなる問題が生じています。なお、同様の現象は Windows Server 2008 R2 では発生いたしません。
この問題の原因について説明させていただくとともに、問題を解決するための修正プログラムをご案内させていただきます。
-----
Windows では、Unix/Linux 環境からエクスポートされた NFS 共有領域に対してアクセスするための方法として、以下の二つの方法を提供しています。
- mount や net use コマンドを利用してドライブ文字にマウントする - UNC (Universal Naming Convention) 形式で直接アクセスする
ただし、ドライブ文字にマウントを行った場合でも、内部処理上は UNC 形式に変換してからアクセスされることも多く、結局のところ大多数の状況下で UNC 形式によるアクセスが行われています。
この UNC 形式には、リモート共有領域に関するファイル システムの種類やネットワーク プロバイダの情報を含まないため、UNC 形式でファイルへのアクセスが行われると MUP (MultipleUNC Providers) にてネットワーク プロバイダの選択が行われます。
選択の仕組みはシンプルなもので、MUP はすべてのネットワーク プロバイダを利用して対象領域へのアクセスを行い、アクセスに成功したネットワーク プロバイダが有効なものであると判断します。
また、Windows には DFS (Distributed File System) と呼ばれる機能があり、クライアントでは既定で有効になっています。この DFS を利用する場合のパスにも UNC 形式を利用します。このため、UNC 形式によるアクセスが行われると、まず最初にその UNC パスが DFS のものであるのかどうかを確認します。
DFS としての有効性を確認する方法は先述の MUP と似た処理を行いますが、これまでの DFSではネットワーク プロバイダが SMB (CIFS) であることを前提に動作していました。これに対して Windows Server 2008 (Windows Vista) に SP2 を適用すると、DFS に対しても MUP と同様にすべてのネットワーク プロバイダが探索されるように変更されました。
これは、任意の UNC 形式が DFS のものであるのかどうかを確認する際に、NFS が有効化されていた環境においては NFS のネットワーク プロバイダも含めて探索されることを意味します。
この際、NFS は DFS に対応していないために STATUS_NOT_IMPLEMENTED のエラー ステータスを返しますが、DFS がこのエラーを理解出来ず、DFS として有効な UNC 形式であると誤って判断してしまうという問題があることがわかりました。
その結果、NFS 上のファイルを UNC 形式でアクセスした際、DFS のものだと誤って判断されてしまうことにより、"Incorrect Function" のエラーにてファイルのアクセスに失敗してしまいます。
この問題については、下記のサポート技術情報にて修正プログラムが公開されています。
FIX: Error message when you access an NFS share from a computer that is running Windows Vista SP2 or Windows Server 2008 SP2: "Incorrect Function"http://support.microsoft.com/kb/978845
なお、通常は "Incorrect Function" のエラーが返されますが、ファイルのアクセス方法などによっては "Permission Denied" のエラーが返される場合があります。SP2 が適用された環境において、ファイル パーミッションに問題がないにもかかわらず "Permission Denied" が記録される場合にも、修正プログラムの適用をお試しください。
松田
こんにちは。Windows テクノロジー サポートの安達です。
先日 Windows 7 SP1 と共にリリースされましたWindows 7 SP1 用の Windows AIK についてご紹介したいと思います。
Windows 7 SP1 用の Windows AIK は、Windows PE に関する機能追加および不具合修正を目的としたものとなり、主な変更点は以下の 3 点となります。
Windows Preinstall Environment (PE) 3.0 does not supportRemote Network Driver Interface Specification (RNDIS)http://support.microsoft.com/kb/979265/en-us
The IEEE 802.1X authentication protocol is not supportedin Windows Preinstall Environment (PE) 3.0http://support.microsoft.com/kb/972831/en-us
An update that improves the compatibility of Windows 7and Windows Server 2008 R2 with Advanced Format Disks is availablehttp://support.microsoft.com/kb/982018/en-us
Windows 7 SP1 用の Windows AIK は、これまでリリースされた Windows AIK とは異なり、Windows PE に関するモジュールのみが含まれるパッケージとなり、応答ファイルを作成する際に使用する Windows システム イメージ マネージャーやImageX および DISM 等の展開ツールは含まれておりませんのでご注意ください。
以下が Windows 7 SP1 用の Windows AIK に含まれるファイルとなります。従来の Windows AIK とは異なり、StartCD.exe や wAIKx86.msi 等のファイルが含まれていない事をご確認いただけるかと思います。
既に Windows 7 用の Windows AIK がインストールされている環境にWindows 7 SP1 用の Windows AIK に含まれるファイルを統合する場合は、以下 PETools フォルダ内に Windows 7 SP1 用の Windows AIK に含まれるファイルを全て上書きコピーを行います。(エクスプローラーまたは xcopy 等のコマンドを使用した方法でも問題ございません。)
また、Windows 7 SP1 用の Windows AIK に含まれるファイルで作成したWindows PE のバージョンは Windows PE 3.1 となります。(Windows 7 用の Windows AIK に含まれるファイルで作成するWindows PE は Windows PE 3.0 となります。)
最後に Windows 7 用の Windows AIK を使用して作成した Windows PEおよび Windows 7 SP1 用の Windows AIK を使用して作成した Windows PE の起動画面をご紹介します。
それぞれ対応する Windows 7 のバージョンになっている事をご確認いただけるかと思います
Windows AIK for Windows 7 SP1 Releasedhttp://blogs.technet.com/b/mniehaus/archive/2011/02/17/windows-aik-for-windows-7-sp1-released.aspx
Windows 7 用の Windows 自動インストール キット (AIK)http://www.microsoft.com/downloads/details.aspx?familyid=696DD665-9F76-4177-A811-39C26D3B3B34&displaylang=ja
チュートリアル: 起動可能な Windows PE RAM ディスクを CD-ROM に作成するhttp://technet.microsoft.com/ja-jp/library/dd799303(WS.10).aspx