2008/09/12(Fri)BSOD 0x35 NO_MORE_IRP_STACK_LOCATIONS with KIS 解決法

2008/09/12 21:20 Software::Windows
BSOD中間まとめで書いたが、このKaspersky Internet SecurityとWindowsファイル共有が相性悪くて、BSOD 0x35 NO_MORE_IRP_STACK_LOCATIONSで止まる件について解決法が分かった。
この話がマイナーな事を考えると、Windows XP x64 SP2限定の話で、x86には全く関係ないのかもしれない。

MSKBを探し回った結果

0x35エラーが引っかかったが、ドメイン参加ではないのでドメインにログオンしようとすると、「 STOP 0x00000035 NO_MORE_IRP_STACK_LOCATIONS」エラー メッセージを表示することがあります。は関係ない。
SP2も適応済みであり、mup.sysのバージョンは公開されているパッチよりもずっと新しかった。

mup.png


Kaspersky Laboを探しまわった結果

このエントリが引っかかって、
I should also mention, I tried changing HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Klif Start key to 2 (currently still set that way), and that did not help. I then added to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters an IRPStackSize key, started at 15, ran it up to 50, but that also did nothing.
というのがあったので、ダメ元で、
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\KLIF]
"Start"=dword:00000002
に変更。元々は、
"Start"=dword:00000001
でした。
このStartの値が何を示すかというのは、MSKBによると0x01の方が0x02よりローレベルな段階で起動する模様。
ゆえに、エラーが起こった時はKernel Panic=BSODとなるわけですか…。ふむ。

とりあえず、結果からいえば、これで直った。
この変更を加えても、一応Firewallは正常に動作しているようで、未定義のルールについてはちゃんと警告出してきているし、Sambaのやり取りも問題なくなった。


一件落着。
今回はBSOD系のエラーでも、すごくマイナーな物だったから余計に苦労したな…。

追記 2008/09/15

x86にKIS7をインストールしている場合でもStart=0x01だが、こちらはBSODにならない。
ということは、x64環境の場合だけの問題のようですね。

追記 2008/12/03

しばらく使ってたら、また青くなった。
今度は、ここを変更してみた。
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kl1]
"Start"=dword:00000002
現状とりあえず安定しているようなので、↑でダメだった人はやってみてください。