- 関係するドライバー (nvlddmkm.sys、igdkmd64.sys、atikmdag.sys) を特定し、TDR イベントを確認します。
- プロフェッショナル アプリを使用する場合は、クリーンなドライバーのインストールを優先し、Studio/安定バージョンを試してください。
- 熱と電力を制御し、負荷が高い状態での iGPU/dGPU の切り替えを防止します。
- SFC/スタートアップ修復を使用し、適切な場合にのみ、TdrDelay を慎重に調整します。
タスクの途中でコンピュータがクラッシュし、恐ろしいブルースクリーンが表示されたら VIDEO_TDR_FAILUREすべてが突然壊れたと考えるのは普通ですが、実際には、システムはクラッシュ後にGPUの回復を試みましたが失敗しました。この停止コードは これは、グラフィックス ドライバーとタイムアウト、検出、回復 (TDR) メカニズムに密接に関連しています。したがって、それがどのように機能するかを理解することが、解決策の半分となります。
以下の行では、公式の技術的説明と、実際のシナリオで役立つ現場での手順やコツを組み合わせた完全なガイドを紹介します。目標は、 このエラーを診断し、修正し、防止する 上級の WinDbg ユーザーであっても、Windows の簡単な手順を好む場合でも。
VIDEO_TDR_FAILURE (0x00000116) とは何ですか? なぜ表示されるのですか?
VIDEO_TDR_FAILUREエラーは、 バグチェック 0x00000116 これは、Windows がタイムアウト後にビデオ ドライバーと GPU のリセットを試みたものの、失敗したことを示します。Windows グラフィックス サブシステムは TDR を使用して GPU を監視します。GPU が停止して応答しなくなった場合、ドライバーを再起動してデスクトップを回復しようとします。
この TDR メカニズムには約 2 秒のデフォルト タイマーがあり、グラフィックス タスクが時間内に終了しない場合、またはドライバーの再起動が完了しない場合は、エラー チェックがトリガーされます。
回復プロセスが成功すると、「ディスプレイ ドライバーが応答を停止しましたが、回復しました。」というメッセージが表示されます。 回復に失敗すると、システムは実行を停止し、VIDEO_TDR_FAILUREのブルースクリーンを表示します。.
バグチェックパラメータとその解釈方法
0x116 コードに加えて、ブルー スクリーンとメモリ ダンプには、VIDEO_TDR_FAILURE エラーの正確な原因をデバッグするのに役立つ XNUMX つのパラメーターが含まれています。 各パラメータの意味を知ることで、診断が導かれ、解決が早まります。:
| パラメータ | 説明 |
|---|---|
| 1 | 内部 TDR 回復コンテキスト (TDR_RECOVERY_CONTEXT) へのポインター (存在する場合)。 |
| 2 | 担当ドライバー モジュール内のアドレス (関係するドライバーを識別するために使用されます)。 |
| 3 | 最後に失敗した操作の NTSTATUS コード(存在する場合)。 |
| 4 | 特定のシナリオで利用可能な、コンテキストに依存する内部データ。 |
実際のトレースでは、グラフィックドライバの.sysファイルが関係することが多い。例えば、 nvlddmkm.sys (NVIDIA)、igdkmd64.sys (Intel) または atikmdag.sys/atikmpag.sys (AMD/ATI)。 この手がかりは重要です。クラッシュの原因となっているプロバイダーとドライバーのパスを指し示します。.
なぜ起こるのか:現実世界における典型的な原因
最も一般的なパターンは、GPUが高負荷(ゲーム、CAD、デコード、レンダリング)で長時間ビジー状態になり、タイムリーに応答しないことです。そこから、 最も一般的なトリガーは次のとおりです。
- 古くなった、または故障したドライバー:
- 統合 GPU と専用 GPU 間の競合。
- 過熱
VIDEO_TDR_FAILURE エラーに関しては、ソフトウェア以外にも、ハードウェアも関係しています。メモリ モジュールのタイミングがアグレッシブ、マザーボードがオーバークロック、電源/電力が不十分、VRAM/GPU が劣化、または小型ラップトップの冷却が不十分などが原因です。 機器の温度または電力が非常に低い場合、TDR はより早く、より頻繁にジャンプします。.
環境要因もあります: リソースを奪い合うバックグラウンドプロセスが多すぎる 最近のアップデートが正しくインストールされていないか、グラフィックパッケージ(DirectX、OpenGL、Vulkan)が古くなっています。バックグラウンド負荷が高く、グラフィックコンポーネントの位置がずれているシステムは、このバグチェックの対象となる可能性が高いです。

WinDbgとログによる診断:原因を特定する方法
メモリダンプ(ミニダンプ)を扱う場合、 WinDbg 責任のあるドライバーと VIDEO_TDR_FAILURE エラーの直接的な原因を確認できます。 ヘッダーコマンドは!analyze -vで、バグチェックの概要、関連するモジュール、最新のNTSTATUSを生成します。.
kd> !analyze -v
VIDEO_TDR_FAILURE (116)
Attempt to reset the display driver and recover from timeout failed.
Arguments:
Arg1: <puntero TDR_RECOVERY_CONTEXT>
Arg2: <dirección en el módulo responsable>
Arg3: <código NTSTATUS último>
Arg4: <datos de contexto>
パラメータ 2 から始めて、lmvm を使用してモジュールを一覧表示し、タイムスタンプ、パス、サイズを確認できます。 nvlddmkm.sys または同等のものが見つかった場合、主な容疑者はすでに特定されています。.
kd> lmvm nvlddmkm
start end module name
... nvlddmkm.sys
Image path: \SystemRoot\system32\DRIVERS\nvlddmkm.sys
Timestamp: <fecha>
パラメータ 1 が存在する場合、TDR_RECOVERY_CONTEXT を調べて、アダプタの再起動に昇格されたタイムアウトの理由を確認することができます。 これにより、単純なパイプラインのハングと、繰り返し発生するリセット障害を区別しやすくなります。.
kd> dt dxgkrnl!_TDR_RECOVERY_CONTEXT <puntero>
+0x010 TimeoutReason : TdrEngineTimeoutPromotedToAdapterReset
...
最後に、k/kb/kp を使用したスタック トレースは、TDR フローの典型的な dxgkrnl および dxgmms1 関数を使用して、KeBugCheckEx で終了するコード パスを示します。 TdrResetFromTimeout への「クリーン」なスタックは、それが一般的なカーネルの問題ではなく、本物の TDR であることを確認します。.
kd> k
# Child-SP RetAddr Call Site
00 ... nt!KeBugCheckEx
01 ... dxgkrnl!TdrBugcheckOnTimeout
02 ... dxgkrnl!ADAPTER_RENDER::Reset
03 ... dxgkrnl!DXGADAPTER::Reset
04 ... dxgkrnl!TdrResetFromTimeout
05 ... dxgmms1!VidSchiRecoverFromTDR
...
解決手順:基本から上級まで
レジストリ エディターを開いたり、デバッガーを実行したりする前に、労力と影響の比率が最も高いメトリックに注目してください。 まずドライバーから始めて、次にクリーニング/再インストールに進み、それでも問題が解決しない場合は、高度な調整とハードウェアの検証に取り組みます。.
1) グラフィックドライバとチップセットを正しく更新する
TDRの最も一般的な原因は、古いグラフィックドライバーやバグのあるグラフィックドライバーです。デバイスマネージャーを開き、「ディスプレイアダプター」を展開し、GPUを右クリックして「ドライバーの更新」を選択してください。 さらに良い方法は、NVIDIA/Intel/AMD の公式 Web サイトから、お使いのモデルに推奨されるバージョンをダウンロードすることです。.
プロフェッショナル ソフトウェア (CAD、編集、3D) で NVIDIA を使用する場合は、Game Ready ドライバーではなく Studio ドライバーを試してください。 Intel iGPU + NVIDIA dGPUを搭載したラップトップでは、コンピュータメーカーから最新のIntelパッケージとチップセットもインストールしてください。.
2) クリーンドライバー再インストール(DDU)
市販のアップデートだけでは不十分な場合は、以前のドライバーの残骸をクリーンアップすることをお勧めします。ディスプレイドライバーアンインストーラー(DDU)ツールは、ドライバーのコンポーネント、サービス、およびレジストリエントリを削除します。 セーフモードで実行してから、新しくダウンロードしたドライバーをインストールすることをお勧めします。.
一般的な手順: セーフ モード、DDU「クリーンして再起動」、Windows を通常どおり起動し、製造元の Web サイトからダウンロードしたドライバーをインストールします。 このプロセスにより、標準インストーラーでは必ずしも解決できないバージョンの競合や破損したファイルを回避できます。.
3) 以前の安定バージョンを試す
最新バージョンでは、まれに不具合が発生することがあります。その場合は、「以前のドライバ」(利用可能な場合)を使用するか、以前の安定バージョンを手動でインストールしてください。 NVIDIA GPU を使用すると、以前の Studio ドライバーにロールバックすると、CAD の多くの TDR 問題が解消されます。.
手動でインストールする場合は、「コンピューターを参照してドライバー ソフトウェアを検索します」と「利用可能なドライバーの一覧から選択します」を使用して、GPU の以前のビルドを選択します。 変更を有効にするには、完了したら再起動してください。.
4) SFCでシステムファイルを修復する
アップデート後またはインストール失敗後に問題が発生した場合は、システムファイルチェッカーを実行してください。管理者としてCMDを開き、「sfc /scannow」を実行してください。 Windows は保護されたバイナリをチェックし、破損したものを自動的に置き換えます。.
sfc /scannow
完了したら、再起動して通常のグラフィック ロードを再度試し、TDR が消えたかどうかを確認します。 SFC がファイルを修復する場合、グラフィック スタックに影響を与えるシステム破損があったことを示す良い兆候です。.
5) Windowsスタートアップ修復
ログイン後または同じアプリを開いたときに TDR が繰り返し表示される場合は、[設定] > [更新とセキュリティ] > [回復] > [詳細なスタートアップ] > [トラブルシューティング] > [詳細オプション] > [スタートアップ修復] に移動して、スタートアップ修復を実行してください。 Windows は、正しく読み込まれていないサービスとスタートアップ コンポーネントを修正しようとします。.
修理後、障害の原因となったのと同じ使用パターンで機器をテストします。 再生が停止した場合は、部分的な起動の問題か、依存関係の破損が原因です。.
6) セーフモードとドライバの再インストール
セーフモードでは最小限のドライバーが読み込まれ、中断することなくアンインストール/再インストールが可能です。msconfig で「セーフブート」を選択するか、「Advanced Startup」からアクセスし、デバイスマネージャーでアダプターをアンインストールしてください。 次に、製造元からダウンロードした新しいドライバーをインストールします.
2 つの GPU を搭載したコンピューターでは、最初に統合型 (Intel)、次に専用 (NVIDIA/AMD) を個別にアンインストールして再インストールします。 これにより、Windows が間に不適切なジェネリックを再挿入することが防止されます。.
7) 特定のドライバーファイルの修復 (AMD/NVIDIA)
AMD/ATI GPUでは、atikmdag.sysまたはatikmpag.sysを再生成することで問題が解決する場合があります。C:\Windows\System32\driversファイルの名前に.oldを追加し、メーカーのパッケージから展開してください。 expand コマンドは新しい .sys ファイルを作成し、それを drivers フォルダーにコピーします。.
expand.exe atikmdag.sy_ atikmdag.sys
expand -r atikmdag.sy_ atikmdag.sys
NVIDIA の場合、考え方は nvlddmkm.sys に似ています。アンインストール後、nvlddmkm.sys の名前を .old に変更し、NVLDDMKM.Sy_ を展開して、生成された .sys を System32\DRIVERS にコピーします。 この置換により、サーフェスのインストールで残った破損したファイルが削除されます。.
Expand.exe NVLDDMKM.Sy_ NVLDDMKM.Sys
8) 競合がある場合は、Intel iGPUを一時的に無効にする
専用 GPU をプライマリとして使用している場合 (NVIDIA など)、問題のある切り替えを排除するために、デバイス マネージャーで Intel HD/UHD を無効にします。 一部のラップトップでは、iGPU/dGPU間でアプリを移動すると自動切り替えによってTDRがトリガーされます。.
さらに洗練された方法として、NVIDIA コントロール パネルで、要求の厳しいアプリケーション (acad.exe、ゲーム) に特定の dGPU を割り当て、残りは自動のままにしておきます。 これにより、ウィンドウを開いたり閉じたりするときのアダプタの変更が最小限に抑えられ、グラフィカル コンテキストのリセットが回避されます。.
9) ハードウェアと熱をチェックする
信頼できるツールで温度を確認してください。GPUがしきい値を超えてスロットルを作動させると、TDRが表示されます。埃を拭き取り、必要に応じてサーマルペーストを塗り直し、通気性を確保してください。 ノートパソコンの場合、長時間の使用時に冷却パッドが大きな違いを生みます。.
オーバークロックなしでRAM(Windowsメモリ診断ツール)とシステムの安定性を検証します。メモリ設定を高くしたり電圧制限を高くしたりすると、グラフィック負荷時に動作が不安定になることがあります。 CPU/RAM/VRM の安定性は GPU 自体と同じくらい重要です。.
10) TDRの詳細設定(注意)
負荷が高く、どうしても時間がかかる場合は、TdrDelay の値を上げると改善される可能性があります。パス: HKLM\System\CurrentControlSet\Control\GraphicsDrivers。32 ビット DWORD の TdrDelay を 8 ~ 10 に設定し、再起動してください。 これにより、不良ドライバーが修正されるわけではありませんが、タイムアウトを宣言する前に余裕が生まれます。.
すでにドライバーを更新/クリーンアップし、サーマルをチェックした場合にのみ使用してください。ドライバーに問題がある場合は、時間を延長しても BSOD が延期されるだけです。 TdrDelayを増やしてもクラッシュが続く場合は、2に戻って根本原因を修正してください。.
問題が解決したと判断する前に確認すべき簡単なチェックリスト
VIDEO_TDR_FAILURE の問題が解決されたことを確認するには、次のチェックを実行する必要があります。
- 通常の負荷で長時間セッションを行っているときに、繰り返し発生する TDR イベントがイベント ビューアーに表示されなくなることを確認します。 実際の状況で TDR を使用せずに 30 ~ 60 分間過ごすと、修正は堅牢になります。.
- 温度を監視して、中程度のストレス テスト (アプリ内のグラフィカル ベンチマークまたは複雑なシーン) を実行します。 安定したグラフィック カードは、スロットルやエラーの発生なしに持続的なクロックを維持します。.
- 将来のアップデートで問題が再発した場合にすぐにロールバックできるように、正常なドライバーのコピーを作成し、バージョンをメモしておきます。 予防により、再度更新するときに何時間も節約できます。.
VIDEO_TDR_FAILURE エラーは恐ろしいものですが、通常は、正しいドライバー、クリーン インストール、温度管理、必要に応じて TDR の微調整などの順序と方法を適用することで修正できます。 この組み合わせにより、クリエイティブなタスク、ゲーム、CAD がクラッシュすることなく再び動作するようになります。.
テクノロジーとインターネット問題を専門とする編集者で、さまざまなデジタル メディアで 10 年以上の経験があります。私は、電子商取引、通信、オンライン マーケティング、広告会社で編集者およびコンテンツ作成者として働いてきました。経済、金融、その他の分野のウェブサイトにも執筆しています。私の仕事は私の情熱でもあります。さて、私の記事を通じて、 Tecnobits, 私は、私たちの生活を向上させるために、テクノロジーの世界が私たちに提供するすべてのニュースや新しい機会を毎日調査しようとしています。

