一般的なBSOD名を無視すると、これらは正式にはバグチェックと呼ばれます。特定のBSODコードが実際に何を意味するかを調べるには、「バグチェックコードリファレンス」で調べることができます。
バグチェック0x3B: SYSTEM_SERVICE_EXCEPTION
と0x5C: HAL_INITIALIZATION_FAILED
おなじみの音は、ここで読むことができますが、デバッグや低レベルのドライバープログラミングを行っていない人には不明瞭に見えるかもしれないことを詳しく説明します。
SYSTEM_SERVICE_EXCEPTION
ページの説明は次のとおりです。
これは、非特権コードから特権コードに移行するルーチンの実行中に例外が発生したことを示しています。
これは、システム上の一部のコードがより高い特権を持つ他のコードを実行しようとした場合に発生します。これは、特権の昇格なしで発生した場合、非特権コードがセキュリティに違反することを意味します。これは多くの場合、誤動作しているドライバーが行うことですが、何らかの形の保護にぶつかるドライバーの形のルートキットでもあります。
これは、クラッシュダンプを調査して動作がドライバーを指しているのか、それともランダムであるのかを確認することで確認できる、メモリ破損などの他の考えられるエラーを除外する必要があるという意味ではありません。クラッシュダンプがランダムであっても、不良メモリを特定する必要はありませんが、ドライバーがメモリを破損した結果である可能性があります。したがって、メモリテストを行うことは、この道を進んでいる場合に、より明確なアイデアを得るために、不良メモリがあるかどうかを確認するのに便利です。
HAL_INITIALIZATION_FAILED
ページの説明は次のとおりです。
これは、HALの初期化が失敗したことを示します。
ええ、それは彼女が言ったすべてです。HALが何であるかを研究することは、ここで何が起こっているかを理解するための論理的な次のステップになります。要するに、「オペレーティングシステム」セクションのこの部分は役立ちます。
ハードウェアアブストラクションレイヤー(HAL)は、コンピューターの物理ハードウェアとそのコンピューターで実行されるソフトウェアとの間にソフトウェアで実装される抽象レイヤーです。その機能は、ほとんどのオペレーティングシステムカーネルとハードウェアの違いを隠すことです。そのため、ハードウェアの異なるシステムで実行するためにカーネルモードコードのほとんどを変更する必要はありません。
PCでは、HALは基本的にマザーボードのドライバーと見なすことができ、ハードウェアと直接接続するなど、高レベルのコンピューター言語からの命令が低レベルのコンポーネントと通信できるようにします。
ええ、まだかなり長いです。しかし、それはいくつかのより興味深い可能性のある原因を指摘しています:機能不全のハードウェア、抽象化コード、マザーボード/チップセットのドライバーまたは他のドライバー。これらの考えられる原因を逆にたどることで、問題がどこにあるかをレベルごとに確認できます。このために、クラッシュダンプをもう一度検査する必要があります。
クラッシュダンプの検査?!
コメントで指摘したように、基本的な手順についてはこのURLにアクセスできますが、可能であればダンプをアップロードして確認できるようにすることをお勧めします。通常、これを行うには、Windows用デバッグツールのWinDBGを使用します。別の方法として、OSR Online のオンラインインスタントオンラインクラッシュダンプアナライザーを使用することもできますが、クラッシュダンプの一般的な分析よりも詳しく調べることはできません。クラッシュダンプを取得したら、お知らせください...