Windows10 BSOD DRIVER_VERIFIER_DETECTED_VIOLATIONの対処

Windows

Windows10 PCで「ドライバーの検証ツールマネージャー」をonにした際、ブルースクリーンになりDRIVER_VERIFIER_DETECTED_VIOLATIONと表示されて、起動しなくなってしまったので対処しました。

発生要因

この障害は、CPUを換装(Pentium G4560→Core i7-7700K)したあと、別のBSOD "IRQL_NOT_LESS_OR_EQUAL"が発生するようになったことで、いろいろ調査していたことが発端になります。

そもそも"IRQL_NOT_LESS_OR_EQUAL"になった原因は、調べていくうちにCPUの排熱不良による熱暴走であると判明したのですが、ドライバーが適合してない場合も発生するとのことで、調査時に「ドライバーの検証ツールマネージャー」の起動チェックを有効にしていました。

設定変更、再起動、高負荷テストを繰り返すうちに、ブルースクリーンが熱暴走が原因であるとわかったのですが、原因が特定できた頃には起動処理が激遅になってしまいました。

今度は起動処理速度を下に戻す作業をやっているうちに、BSODで生成された大量のテンポラリファイルが起動遅延の原因らしいとの記事を見かけたので、Windowsシステムファイルのクリーンアップを実施しました。(Verifire.exeで起動時のドライバーチェックしていたことを既に忘れていた)

クリーンアップして、再起動すると、今度は別のBSOD "DRIVER_VERIFIER_DETECTED_VIOLATION"が発生し、Windows10が全く起動できなくなりました。

どうやら「ドライバーの検証ツールマネージャー」を有効にしている状態で、WindowsシステムファイルをクリーンアップするとBSODになるという問題を引き当ててしまったようです。

復旧手順

WindowsはBSODに陥った場合でも、自動でセーフモードに切り替えられるブートに書き換えてくれ、初期化するような状況に陥ったことはないので、以下の手順で落ち着いて作業します。

  • BSODの再起動後は、Windowsセーフモードの起動メニューが選べるようになっています。
  • セーフモード+コマンドプロンプトでWindowsを起動します。
  • 管理者権限をもつアカウントでログインします。
  • コマンドプロンプト(管理者権限)が開くのでverifire.exeを起動します。
PS C:\WINDOWS\system32> Verifier.exe
  • 「ドライバーの検証ツールマネージャー」が起動するので、タスクの選択から「既存の設定を削除する」を選択し、完了をクリックします。
  • Windowsを再起動し、セーフモードを抜けます。

これだけであっけなく復旧しました。

前段階の作業でBSODで生成されたテンポラリファイルも全消ししていたので、起動時間も爆速になりました。

高負荷時にBSOD "IRQL_NOT_LESS_OR_EQUAL"がでる場合は、ドライバーの問題ではなく、ハード異常につながる熱暴走を疑ったほうが良さそうです。

BSODは、Windows XP時代から久しく対峙していなかったため、良い経験になりました。