treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

(1/2)BSOD(STOP:0x00000024と0x0000007f)が発生した

ブルースクリーンが発生したので、対処をお願いされました。
ブルースクリーン、PCが古いとハードかソフトかの切り分けからやらないと難しいですね。
あまりうまくいかなかったのですがご報告です。

状況は…

PCを起動しました、というところでセーフモードやら通常の起動やら前回正常起動時の構成で起動やらを選択する黒画面が表示された、とのことです。

その時、ユーザ側は「なんかあったのかな?」と思い、セーフモードを選択して起動、するとPCがフリーズしたような症状になった、とのこと。

で仕方ないから電源ボタンを長押ししシャットダウン、次に起動すると(当然ですが)スタートアップ修復の画面が起動し、そのままスタートアップ修復を進める、完了してOS再起動、「はあ、やれやれ」と思ったら、起動時にブルースクリーン(BSOD)エラーとなり、再起動タイマーの時間画面表示後に再起動。

そのあとOSの起動でセーフモードなんかを選択する画面が再度表示されるも、勝手に通常モードでWindowsが起動してきた、という顛末のようです。

さっそくエラーを確認

一つ目は
The problem seems to be caused by the following file: Ntfs.sys
NTFS_FILE_SYSTEM
STOP: 0x00000024
二つ目に
The problem seems to be caused by the following file: ntoskrnl.exe
UNEXPECTED_KERNEL_MODE_TRAP
STOP: 0x0000007f
この二つがほぼ同時に記録されていて、別の日には
The problem seems to be caused by the following file: fileinfo.sys
KERNEL_MODE_EXCEPTION_NOT_HANDLED
STOP: 0x1000008e
とか
The problem seems to be caused by the following file: ntoskrnl.exe
MEMORY_MANAGEMENT
STOP: 0x0000001a
というエラーが発生している、というPC。
年代物のデスクトップ機器でOSはWindows7。
32ビットCPUなので64ビットOSはインストールできないし、当然ながらWindows8.1以降をインストールするためのPAE対応もない、という年代物。

考える

まずは直近のNtfs.sysを対象とした「NTFS_FILE_SYSTEM」というSTOPエラー0x00000024が気になるところです。
これはちょっと深刻な話で、
<http://support.microsoft.com/kb/228888/ja>
を見ると、NTFSファイル(Ntfs.sys)の破損が問題の要因となる可能性があります。
Ntfs.sysというファイルによって、WindowsのファイルシステムであるNTFSパーティション上に保管されたデータが読み書きできるようになる、というドライバの役割を果たしてくれているのですが、このファイル(Ntfs.sys)が破損するということは、NTFSパーティションへの読み書きというアクセス全般を担うドライバが破損した、ということになります。そうなると当然NTFSパーティションに保管されたデータは読み書きできないわけでして、

それはいかん。

ただ、ハードディスクのハードウェア的な故障かどうかという点は気になったのでテストツールで調べたところ、ハードウェアの故障ではない、というところは切り分けが出来ました。
となると、Ntfs.sysのファイル破損はファイルシステムより上のレイヤで発生している?という可能性はあります。

次のntoskrnl.exeを対象とした「UNEXPECTED_KERNEL_MODE_TRAP」というSTOPエラー0x0000007fは、純粋にハードウェアが故障していると考えるケースが多いようです。(ソフトウェア側の問題でも起こるようですが)
例えば、マザーボードの故障、メモリの故障、CPUの異常、といった、マザーボード⇒CPU⇒メモリの間で発生するというエラーと考えてよさそう。
ただ、「NTFS_FILE_SYSTEM」STOPエラー0x00000024と同時に発生していることを考慮すると、メモリの内容をハードディスクのスワップメモリに書き出し、読み込みをするところの問題、という可能性も考えられるところではあります。

さらに直接的な要因じゃない「KERNEL_MODE_EXCEPTION_NOT_HANDLED」エラー「STOP: 0x1000008e」が示すところは、
ドライバが不具合を起こしているかメモリが問題を抱えているときに起きるBSODのエラー、
「MEMORY_MANAGEMENT」エラー「STOP: 0x0000001a」はそのメッセージの通り、メモリの管理上で問題が発生した、と考えることができます。

うーん、これは何なんだろう。

ということで続きます。

※画面はイメージで今回と関係ありません。画面取り忘れました。

f:id:treedown:20180305015951p:plain