ウォッチドッグが作動するわけ
遅延プロシージャコールはカーネルのタスクリストです。ドライバーは「すぐ、ただし今すぐではない」仕事をキューに入れ、プロセッサは低い優先度で後から戻ります。ウォッチドッグが存在するのは、欠陥のあるドライバーがこの呼び出しの中に何秒も居座り、他のすべてのスレッドを凍結できるからです。そこでWindowsはハングアップの代わりに、意図的に0x00000133でクラッシュします。このストップコードは、制御不能な凍結より制御された終わりを選ぶシステムの姿です。
定番シナリオは、ノートPCやOEM機でのWindows 10から11へのアップグレードです。セットアップが古いIntel Rapid Storageドライバーを新システムへ持ち込み、タイミングの前提が崩れてディスクキューを滞らせ始めます。ほかの既知の共犯者はストレージのすぐ外にいます。カーネルにフックする古い仮想化スイート、電源管理の壊れたWi-Fi/オーディオドライバー、負荷下で接続を再交渉するUSBドックです。
- iaStorA.sys / iaStorVD.sys —— 古いWindowsやOEMプレインストールから残ったIntel RSTストレージドライバー
- SSDファームウェアのバグ —— Samsung、Crucial、Kingstonの数世代にわたるドライブが、まさにこの問題の修正を受けています
- 互換の期限を過ぎて何年もカーネルにフックし続ける古いVirtualBoxやVMware
- 攻撃的な省電力設定でストールするWi-Fi/Bluetoothドライバー
- 負荷下でバスから外れるUSBドック、ハブ、外付けドライブ
ストレージドライバーとファームウェアの更新
最も割の良い修正は、古いRSTドライバーをWindows 11自身が管理する内蔵AHCIドライバーへ置き換えることです。デバイス マネージャー(Win + X)を開き、「ストレージ コントローラー」(古いマシンでは「IDE ATA/ATAPI コントローラー」)を展開し、Intelデバイスのプロパティ → ドライバーで、「このデバイスのドライバー ソフトウェアを削除しようとする」チェックボックスを付けて「デバイスのアンインストール」を実行します。次回起動時にWindowsは内蔵のstorahciをインストールし、ウォッチドッグのお気に入りの的が消えます。
次はファームウェアです。Samsung Magician、Crucial Storage Executive、Kingston SSD Manager、WD Dashboardはいずれも、ドライブのファームウェアバージョンをベンダーの最新リリースと照合し、その場で更新を書き込みます。健全なSSDでは本当に低リスクな作業ですが、事前のバックアップが無駄になることはありません。ついでにマザーボードやノートPCメーカーのダウンロードページからチップセットドライバーを入れておきましょう。ストレージスタックが依存する電源管理テーブルを運ぶのはこれです。
違反が繰り返し戻ってくるとき
ドライバーとファームウェアの作業を終えてもブルースクリーンが戻るなら、網を広げます。Windows自体を更新し(設定 → Windows Update)、アップグレード以前からある古い仮想化・セキュリティソフトをアンインストールし、USBドックと外付けドライブを数日間外してください。ひとつ排除するたびに容疑者リストは半分になります。イベント ビューアー(eventvwr.msc)はさらに絞り込みます。クラッシュの数分前にstorahciやdiskからの警告があればハードウェアを、フィルタードライバー名を伴うDPC警告ならソフトウェアを指します。
並行してドライブの健康に目を向けてください。CrystalDiskInfoやメーカー製ツールはSMART属性をライブで読み取り、再配置や保留セクタの増加は、ドライバーの話をバックアップと交換の話へ変えてしまいます。調査中はC:\Windows\Minidumpのミニダンプを保管してください。BlueScreenViewのようなツールやWinDbgの!analyze -vが、どのドライバーがDPC予算を超えたか正確に示します。ドライブが正常でドライバーも正常なら、残る容疑者はWindows Updateだけです。
よくある質問
DPC_WATCHDOG_VIOLATIONはファイルに危険ですか?
クラッシュ自体は制御された停止なので、開いていたファイルは他のクラッシュと同じように持ちこたえます。ただし繰り返されるストールはディスク書き込みを中断しかねません。再発するなら、何より先にバックアップを。
WindowsにおけるDPCとは何ですか?
遅延プロシージャコール——ドライバーが少し後で低い優先度で実行するよう先送りする処理です。その呼び出しが長引きすぎて他のすべてが止まりそうになると、ウォッチドッグがシステムを落とします。
Windows 11へのアップグレード直後にDPC_WATCHDOG_VIOLATIONが出始めたのはなぜですか?
アップグレードは古いドライバーを引き継ぎます。プレインストール済みのIntel Rapid Storageは教科書どおりの例で、iaStorA.sysを内蔵のstorahciへ置き換えれば大半は直ります。
購入前にライセンスの内容をご確認ください。
一度限りの 30 分試用では基本ツールを利用できます。PRO 機能は有料ライセンスを有効にするまでロックされています。
次に読む記事
お問い合わせ: [email protected]