もう1年以上前になりますが、DC-MCNP1でWindows 7の共有フォルダが見えない、というトラブルがあり、その解決法を書きました。通常はこれで問題なかったのですが、今回ひょんなことから同じ現象が再発しました。ついこないだまで見えていたのになぁ、というところも一緒なのですが見えないものは見えない。
色々と試して共有の再設定などをやり直してもダメ。困ったなぁ、と思いつつイベントビューアを見てみるとヒントになるエラーが起きていました。
サーバーの構成パラメーター “irpstacksize” が小さすぎるため、サーバーはローカル デバイスを使用できません。このパラメーターの値を大きくしてください。
イベントIDが2011というもので、これで調べるとマイクロソフトのサイトにヒットしました。Nortonなどを入れているとこの現象が起きることがあるらしいのですが、取りあえずこれを適用してみましょう。
- regeditを起動(Windowsのスタートメニューで、「プログラムとファイルの検索」へregeditと入れて、レジストリエディタを起動)
- 次のキーに移動します。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters
- 右側のウィンドウで、レジストリ値の [IRPStackSize] をダブルクリックします。注 : 値 IRPStackSize がない場合は、次の手順を実行して作成します。
- レジストリの [Parameters] キーをクリックし、右側のウィンドウを右クリックします。
- [新規] をポイントし、[DWORD 値] をクリックします。
- IRPStackSize と入力します。重要 : 値の名前では大文字と小文字が区別されるため、”IRPStackSize” は記載どおりに正確に入力する必要があります。
- [IRPStackSize] を右クリックし、[変更] または [編集] をクリックし、ベースを 10 進数に変更します。
- [値のデータ] ボックスに、表示されている値よりも大きな値を入力します。
IRPStackSize エントリが存在しない場合、デフォルトで値は 15 に設定されます。IRPStackSize を作成した場合は、15 よりも大きな値を入力します。値は、3 ずつ増やすことをお勧めします。つまり、前の値が 11 の場合は、14 と入力し、[OK] をクリックします。
- レジストリ エディタを終了します。
- コンピュータを再起動します。
というのが通常の手順。IRPStackSizeはデフォルトでは15らしいのですが、自分はもうMAXサイズである32にしてしまいました。2013.10修正:MAXサイズは50です。なんで3ずつ増やすのかはわかりませんが。取りあえずこれで再起動したらログインダイアログも出ず、そのまま素直にログインしてファイルを見られるようになりました。特定のHDDだけ見えなくなる現象の場合には、このIRPStackSizeが小さくて共有するためのスタックを展開できていないように思えます。
この現象が起きるのはもしかしたらHDDをやたらとつなげている場合だけかもしれません。自分の場合には10台のHDDを共有しているので、このサイズが足りなくなったのかもしれないなぁ、と思っています。ま、共有しすぎなのかもしれませんが。Windows同士の場合にはまったくこの現象が起きないんですよね。
見えるようになってほっとしました。
2013/3/18 追記
メインマシンに4TBのHDDをつなげて共有したところ、Windows XPからアクセスできないという事例が発生しました。
「このコマンドを処理するのに必要な記憶域をサーバーで確保できません」
と表示されアクセスできません(XP側で)。そういえば昔なんか似たような事例あったよな、と自分のブログを参考にするというw
というわけで、このIRPStackSizeを設定して無事解決しました。なかなか役に立つな、オレのブログw(自画自賛)。