実は仕事ネタなのだが、備忘録代わりにこのカテゴリで。
おまけに内容は、某所の日記のリサイクル&加筆という手抜きモードにて。
客先のクライアントPCが、不定期にブルースクリーンで落ちるorリブートする件、重い腰を挙げて調査&対策。
(治れば儲けものということで、去年末にマシンごと預かっていたもの)
#ブルースクリーン(通称:青窓):Blue Screen of Deathの略でBSODと書くこともある。Windowsのカーネル領域でエラーが発生した場合に表示される。
現象としては、
・WindowsXP起動ロゴ表示中にブルースクリーンでSTOP 0x0000008E(0x8E)もしくは、起動後にブルースクリーンで以下同文。
・イベントログのシステムログにはエラーコード 1000008eと10000050が記録される。
・再起動やブルースクリーンは、ランダムに発生。Windows起動時のハングアップや、起動後に不規則にブルースクリーンまたは再起動。
また、
・起動時に"システムは深刻なエラーから回復しました" メッセージが表示される。
ざっと調べると、
STOP 0x0000008E(0x8E)は "KERNEL_MODE_EXCEPTION_NOT_HANDLED"でつまりはカーネルモードで動作しているモジュールの動作異常。
STOP 0x00000050(0x50)は "PAGE_FAULT_IN_NONPAGED_AREA"で、ページングでのエラー(要は仮想記憶回り)
□Windows XP でブルー スクリーンに "0x0000008E" エラー メッセージがランダムに表示される
http://support.microsoft.com/default.aspx?scid=kb;ja;827663
□Windows XPで発生する一般的なSTOPエラーとその原因
http://www.h3.dion.ne.jp/~saitoy/shitsumon/index357.htm
こういうのが出て、しかも不定期にというと真っ先に疑うべきはメモリの異常なのだが、memtest86やWindowsメモリ診断でも異常はなし。
(Windowsメモリ診断はCD作成が異様に面倒[WindowsXP以降のOSが必要]なので、普通はUltimate Boot CD[UBCD-Full]を用意しておけばこの中に入ってます。UBCD for WindowsというCDから起動するレスキュー環境というのもあるんだが、ちょっとえいやっと思い切りをつけないと手をつける気にならないくらい作るのが面倒なので、気が向いたらのちほど。もちろんサポート用にISOイメージもCDも焼いてありますけど。)
客先でこの現象が出たときには、電源電圧の不足を疑ってその場でAC100V電圧を確認したのだが、これも100V以上あって異常なし。マシンはDELLの DIMENSION3100Cで、OSはWindows XP Home SP2。SP1からのアップデートではなく購入時からSP2プレインストール。海外製の自作用電源ユニットだと115V前提でまずい場合があるが、これは一応DELLが国内モデルとして売っているものだから、電源回りの異常は考えにくい。(とはいえ部品が大きく違うわけでもないのだが。)
さらに調べていくと、同様の現象はTORJ_HAXDOOR系のウイルスに感染しても出るのだという。
というか、あまりに症状が合致しすぎで背筋が凍る。
□HaxDoor ウイルスによりエラー メッセージ "STOP 0x00000050" または "STOP 0x0000008e" が発生することがある
http://support.microsoft.com/default.aspx?scid=kb;ja;903251
ウイルス感染は真っ先に疑って現地でもスキャンしたし、手元でも改めてスキャンしてるのだが感染はなし。これでウイルス感染だったら、自分のウイルス駆除作業がザルだったことになる。
ざっと手早く代表的なものを検査/駆除するならトレンドマイクロのシステムクリーナー(auto_tsc.com)が便利。逆にこれに引っかからないマイナー&亜種だとちと現場対応が面倒なことになる。
念のためMSの上記のKBにしたがって疑わしいレジストリエントリや不正なファイルの存在をチェックしたがやはり該当なし。ウイルス感染ではないようだ。
□ハードウェア アクセラレータ設定の変更時に "STOP: 0x0000008E" エラー メッセージが表示される
http://support.microsoft.com/kb/330187/ja
こういう話もあるようなので、グラフィックチップのアクセラレーションを最大から下げてみたが、変わらず。
念のためDELLのサポートサイトからi915/i910系グラフィックドライバの最新(2006/10/18だったか)を入手して入れてみるが変わらず。
XP SP1の時代にはIEEE1394回りで0x0000008eが出ることもあったらしいのだが、SP2にてFixされた。
結局色々さまよった挙句に
DELLのサポートページ
□起動するたびに「システムは深刻なエラーから回復しました。」とのメッセージが表示される
http://support2.jp.dell.com/jp/jp/mwfaq/faq.asp?faqno=101014
からMSのKB
□再起動するたびに "システムは深刻なエラーから回復しました" メッセージが表示される
http://support.microsoft.com/default.aspx?scid=kb;ja;317277
これに行き着いた。
つまり、ページファイルが破損している可能性があるので作り直せということらしい。
試しに一旦仮想メモリ設定を0にして、セーフモードで起動。安定しているのを確認して、ディスクのエラーチェック後にデフラグで「検査」するとものすごい断片化の仕方だったので「最適化」し、再度通常起動させて仮想メモリ設定を「システム管理サイズ」に変更して再起動。(この時点でページファイルが作り直される。最適化しておいたのは、ページファイルが断片化するのがいやだったので。)
※お分かりだと思いますが、マシンが不安定な状態でいきなりデフラグすると、デフラグ中にハングアップしたりしてシステム吹っ飛びます。ディスクのハードウェア異常が疑われる場合にデフラグすると「トドメ」を指してしまいます。もちろん、デフラグ前にchkdskするのは暗黙のお約束です。さらに石橋をたたくなら、事前にディスクイメージをTrueImageなんかでバックアップしておくべきでしょう。万一吹っ飛んでも、ディスクイメージがとってあれば作業前に戻れます。
ブルースクリーンが出ないようなので、現在FF11ベンチマーク3
(笑)でシステム負荷試験中。重い処理をさせつつ延々ループさせることができてグラフィック周りにも負荷を掛けてくれるものっていうと、とっさにこれしか思いつかず。
今夜一晩ループさせて明日止まってなければひとまず大丈夫かな、と。
(今3時間ほどループしたところですが、元気に電気を無駄遣いしつづけてくれているようで。このぶんなら大丈夫かな。)
それにしても、Pen4HT 3.0GHz(Prescott)/Mem 512MB+i915GVの内蔵グラフィックスという環境でもFFベンチが完走して、なおかつLowモードで2700越えるってのは・・。良い時代になったものです。
(Highは、調査用につないでる15"CRTがスキャン可能範囲を越えてしまうのでなし)
## 2007/01/12 追記 ##
その後も若干不安定な動作が確認されたため、Pen4 HTのハイパースレッディングをBIOS上でOFFに設定したところ安定しました。
それまでは、仮想メモリを大量に使うような操作(アプリケーションを大量に立ち上げるなど)すると、STOP 0x0000008eや0x00000050が出ていました。観測される現象がどうにもメモリトラブルの時の挙動に似ていたので見落としていましたが、ハイパースレッディングが原因で出ることもあるようです。(Athlon64 X2等のデュアルコアCPUでもSTOP ブルースクリーンになることがあるそうです。)これはHomeEditionだけの現象なのか、Professionalでも起こるのかについては現在まだ検証できていません。
## 2007/5/29 追記 ##
いただいたコメントから・・・。
WindowsXP SP2を利用していて、マルチコアおよびPentium4のHT(ハイパースレッディング)搭載機で発生する問題についてのパッチがあるそうです。
マイクロソフトKB896259
プロセッサ電源管理機能がサポートされているプロセッサを複数搭載したコンピュータで Windows XP Service Pack 2 を実行するとパフォーマンスが低下することがある
修正プログラムはこちら
やむを得ず、HTをOFFにしなければならなかった方やデュアルコアCPU(Core2Duo,CoreDuo,Athlon64 X2等)をご利用の方、お試しになってはどうでしょう。
----
[PR] 「ITワーク」PCサポート系求人多数
----
2007年5月4日追記
以下の情報はまったくの未検証です。検証環境もありません。
SATA HDDのモデルによっては、ブルースクリーン c000021a {Fatal system Error}が出ることがあるらしいという情報がありました。(この情報は、このエントリにいただいたコメントを元に検索して見つけたものです。コメントを頂戴した皆様に感謝申し上げます。)
□Windows Vista フォーラム - Vista全般
http://forums.microsoft.com/TechNet-JA/ShowPost.aspx?PostID=711634&SiteID=36
Beta2でインストールできて、RC1でインストール不可
>HDD:Maxtor 6V250F0
-----
>ハイパースレッディングがONになっていましたので切って再度試してみました。
>ですが、やはり下記のエラーが発生します。
>STOP: c000021a {Fatel system Error}
>The NT Initial Command Process system process terminated unexpectedly with a status
> of 0x0000001 (0x00000000 0x00000000).
>The system has been shut down.
-----
>うちも同じ症状です。
>6V250F0は3台使っていますがVA111630もVA111900のも同じです。
>WDのHDDは認識するので6V250F0の問題だと思います。
-----
(編注)VA111630というのは、HDDの製造シリアルナンバーだと思います。
-----
>やはり6V250F0が原因でした。
>SeagateのST3250824ASを調達し、動作検証も問題ありませんでした。
MaxtorのSATAディスク全般で起こるのか、それとも6V250F0に特有の話なのかはわかりません。検証環境もありません。
HDDのモデルが原因でおこるエラーというのもあるんだなあ、とたいそう勉強になりましたので、参考として追記しました。
----