ライトブログ

どれかキーを押すと,続行します.

CRITICAL_PROCESS_DIED

久々の更新。

某プログラミングスクール通ってて、更新できる時間がなかった。

無事転職できそう。

この話はまた後で長編を書きます。


謎のブルースクリーン

さて、私の手元に1台壊れたノートPCがやってきた。

機種は DosparaのDiginnos Critea VH-AE。

OSはWindows7モデル。

 

症状としては、表題のブルースクリーンが出て起動しない。

自動修復が働いても修復できないご様子。

 

さて、今回は解決できるか分からないが、

それまでの道筋を記事にしていこうと思う。

 

 

CRITICAL_PROCESS_DIED 0x000000EF

これまで、結構な数のブルースクリーンを見てきたけど、これは初めて。

エラーとしては、重要なプロセスが停止したってことだって書いてある記事がちらほら。

(そりゃそうなんだよなぁ・・・)

 

MS公式の情報によると、ハードウェアが原因で、Windows Updateしてくださいって書いてある。(起動しない場合は直せないよってことか?)

 

結論

Windows10のクリーンインストールで対処することに。

以下、これに行き着くまでの顛末です。

 

ざっくり予測

エラーの原因は濃厚に見える順に

・メモリ

・OS

・HDD

・M/B

・CPU

と現段階で思っている。

OS、メモリ、HDDなら修理するけど、それ以外ならあきらめて新しいPCを買ったほうがよいという前提で話を進める。もう5年前のPCだし。

 

memtestがフリーズ

まずはメモリ。メモリといったら安定のmemtest。

早速実行するも、20%ほどでピタッと止まってしまった。

10分ほど待ってみたが、進みそうもないので終わらせようと思ったが、K/Bすら反応しない。仕方ないので強制終了。

先が危ぶまれる。

 

何かDiagのようなものがないかと思っていたら購入時のセット一式の中に、「PC-Doctor」というものを発見。

これを実行することに。

Quickテストは通過したので、今度はAdbanced。

これは時間がかかる模様。

 

エラーの詳細が知りたい

PC-Doctorをやっている間に、CRITICAL_PROCESS_DIEDの本当の原因を考えてみる。

 

知恵袋などを見ると、OSはWindows10が多いように感じる。

しかも、もともとWindows7か8が入っているPCをアップグレードして10にしたケースが多い。

実際、預かったPCのブルースクリーンには、2次元バーコードが表示されている。これは10からの機能。

このことから、OSはWindows10が入っていて、アップグレードしたんだなと推測できる。

 

ということは、10のOSの問題?

Windows Updateに致命的なエラーを引き起こすものがあったことになる。

Anniversary UpdateとFall Creators Updateあたりは怪しいので検証対象としよう。

 

調べているうちに、PC-Doctorが終わったようだ。

 

ハードウェアエラーはなし、どう調べるか。

振り出しに戻ってしまった。

まあでも、ソフトウェアが原因ということにひとまずしておこう。

メモリに対しては不安が残るけど、システムファイルが破損していると考えるのが妥当。

 

ただ、ソフトウェア要因で自動修復も効かないPCでどうやって調べていくか?

 

・セーフモード → 同じエラーでブルースクリーン

・システムの復元 → そもそも復元ポイントすらなかった

・以前のビルドに戻す → 問題が発生したため~で失敗

コマンドプロンプトsfc /scannow → 検証100%になるものの、Windowsリソース保護は要求された動作を実行できませんでしたのメッセージ。

 

・・・イベントビューアがやっぱり見たい。

ということで、コマンドプロンプトで、イベントファイルをコピーすることに。

まず、コピー先のUSBメモリを挿して再起動。

コマンドプロンプトに入り、diskpart を実行。

list vol を実行。

現在PCに接続されているドライブの一覧が表示される。

コピー元(OSが入っているドライブ)と、コピー先(USBメモリ

のLtrをメモ。

DISKPART>   となっているので、exit を入力してDISKPARTを終了。

以下、コピー元をE、コピー先をDとして作業する。\は円マークなので注意。

(ドライブレターの構成が変な気がするけど、なんか関係あるのかな)

System(一番重要、むしろこれだけでいいかも)

copy E:\Windows\System32\winevt\Logs\System.evtx D:\

Application、Setup、Securityについては、System.evtxの" System "が変わるだけなのでコマンドの記述は省略。

exit で、コマンドプロンプトを終了して、シャットダウン。

他のPCでファイルを開く。Systemを調べていると、

KP41で何回か再起動してたり、Device\Harddisk0\DR0に不良ブロックが~

のエラーが大量に出現しているのを発見。

前者はただの再起動しましたよ~っていうメッセージですが、後者は面倒。

健康なPCでも出てくることがあるので、あまり信じてないやつです。

HDDの状況は健康とPC-Doctor側で結果が出ているので、

一応チェックディスクを実行することに。

もう一度コマンドプロンプトを開いて、diskpartでlist volを実行。

今度はOSドライブがD:の認識になっていました。

diskpartを閉じて、chkdsk d: /f を実行。

・・・

問題は見つからなかったとのメッセージ。

 

ここで、いわゆる回復環境でsfc /scannowを実行しても上記のエラーで

とまってしまうのでオプションを指定する必要があるという情報を入手。

今回はSystemがCドライブ、WindowsがDドライブなので、以下のようにして実行。

sfc /scannow /offbootdir=c:\ /offwindir=d:\windows

Windowsリソース保護は要求された動作を実行できませんでした。

・・・

これがだめだと、結構きつい。

(上手くいっていれば、正常起動は近かったと思う)

 

行き詰る検証作業

これは困った。リカバリしか残されていないのか・・・?

試しに、このPCを初期状態に戻すをやってみる。

クリックしたら、こんなエラーが出て終わった。

まじで笑えない。

よくみたら、Windows10のインストールのせいで、

リカバリパーティションを起動できなくなっているようだ。

 

 

ダンプファイルが作成されてるけど。

ブルースクリーンになる段階で、ダンプファイルが出来ているので、

毎度おなじみのBlueScreenViewで見てみることに。

OSが入っているドライブはD: USBメモリはG:になっていたので、

copy d:/Windows/MEMORY.DMP g:/  と、

copy d:/Windows/Minidump g:/ を実行。

 

メモリダンプのほうからはCRITICAL_PROCESS_DIEDのダンプファイルが。

ミニダンプのほうからは、UNEXPECTED_STORE_EXCEPTION 0x00000154の

ダンプファイルが出てきた。原因ファイルはntoskrnl.exe。

 

ntoskrnl.exe

(あっ・・・)

検索をかけてみると、2つのブログに行き着いた。

 

白昼夢人  -「Windows 10 Anniversary Update」後にクラッシュ。(ブルースクリーン、BSoD)

中小企業診断士 細川和好のノート  - デル奮戦記

前者は、UNEXPECTED_STORE_EXCEPTIONについて、第4世代のIntel CPUのDRAM Controllerのドライバをアップデートしたら直った件。

後者は、上記の2つのエラーが出ていて、DELL本国のサイトで議論がされていたことを紹介していたが、そのスレッドが見つからない。

 

 

修理の方針

ここまで来ると、初期化しか残されていない。

 

ドスパラのPCなので、初期で入っているソフトウェアはほとんどなく、リカバリのうまみはない。HDDをフォーマットして、Windows10をクリーンインストール。ライセンス、ドライバを当てていくほうが早いと判断。

どのみち、リカバリ領域なんて10にしている時点で使えないし。

また、HDDの代替処理保留中のセクタが生の値1440になっていたので、ハードウェア交換も必要かと思える。同容量(500GB)のHDDは4千円台、SSDは17千円。リアルタイムでセクタ数が増えているわけではないので、様子見。

メモリは、一応交換することに。

 

ここまでくればただの作業。

 

原因はなんだったのか?(推論)

おそらく、Windows10の大型アップデートが原因。

CRITICAL_PROCESS_DIEDが出たのは、重要なプロセスファイルが

何らかの要因によって破損してしまったこと。

UNEXPECTED_STORE_EXCEPTIONは、その通りIntelDRAM Controllerの問題と考えるのが妥当。

また、起動オプションでブートログを有効にしたところ、

最後に読み込まれているのはusbhub.sys。

そしてBootlog_not_loadedになっているのが、dxgkrnl.sys。

dxgkrnl.sysは、DirectXのシステムファイル。

この2つも怪しいけど、関連性が見出せない。

そしてさらに、それとUNEXPECTED_STORE_EXCEPTIONの関係がつかめない。

 

発生時期が分からないので、エラーの時系列だけで考えると、

ntoskrnl.exeが壊れていると考えると腑に落ちる。(ような気がする)

 

ただ分かったことは、メーカー製PCでOSをアップグレードすると、

ロクなことがないことだけ。

ちゃんと回復ドライブを作っておかないと、こういうことになる。