- 관련 드라이버(nvlddmkm.sys, igdkmd64.sys, atikmdag.sys)를 식별하고 TDR 이벤트를 확인합니다.
- 깨끗한 드라이버 설치를 우선시하고, 전문가용 앱을 사용하는 경우 Studio/안정 버전을 사용해 보세요.
- 열과 전력을 제어하고, 부하가 높은 상황에서 iGPU/dGPU 전환을 방지합니다.
- SFC/시동 복구를 사용하고, 필요한 경우에만 TdrDelay를 신중하게 조정하세요.
작업 중간에 컴퓨터가 충돌하고 무서운 블루 스크린이 나타나면 비디오_TDR_실패모든 것이 갑자기 고장 났다고 생각하는 것은 당연합니다. 실제로는 시스템이 충돌 후 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(엔비디아), 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를 사용한 스택 추적은 KeBugCheckEx에서 정점에 도달하는 코드 경로를 보여주며, dxgkrnl 및 dxgmms1 함수는 TDR 흐름에서 일반적입니다. 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 웹사이트에서 해당 모델에 권장되는 버전을 다운로드하는 것입니다..
전문 소프트웨어(CAD, 편집, 3D)에서 NVIDIA를 사용하는 경우 Game Ready 드라이버 대신 Studio 드라이버를 사용해 보세요. Intel iGPU + NVIDIA dGPU가 있는 노트북의 경우 컴퓨터 제조업체의 최신 Intel 패키지 및 칩셋도 설치하십시오..
2) 드라이버 재설치(DDU)
"시중에서 판매하는" 업데이트만으로는 충분하지 않다면 이전 드라이버의 잔여물을 정리하는 것이 좋습니다. 디스플레이 드라이버 제거 프로그램(DDU)은 드라이버 구성 요소, 서비스 및 레지스트리 항목을 제거합니다. 안전 모드에서 실행한 다음 새로 다운로드한 드라이버를 설치하는 것이 좋습니다..
일반적인 순서는 안전 모드, DDU "정리 및 다시 시작", Windows를 정상적으로 시작한 다음 제조업체 웹사이트에서 다운로드한 드라이버를 설치하는 것입니다. 이 프로세스를 통해 표준 설치 프로그램에서는 항상 해결되지 않는 버전 충돌과 손상된 파일을 방지할 수 있습니다..
3) 이전의 안정적인 버전을 시도해 보세요
간혹 최신 버전에서 회귀 현상이 발생할 수 있습니다. 이 경우 "이전 드라이버"(있는 경우)를 사용하거나 이전 안정 버전을 수동으로 설치하세요. NVIDIA GPU를 사용하면 CAD의 많은 TDR 문제가 이전 Studio 드라이버로 롤백하면 사라집니다..
수동 설치의 경우 "컴퓨터에서 드라이버 소프트웨어 찾아보기" 및 "사용 가능한 드라이버 목록에서 선택"을 사용하여 GPU에 맞는 이전 빌드를 선택합니다. 변경 사항을 검증하기 위해 완료되면 재부팅하세요..
4) SFC로 시스템 파일 복구
업데이트 또는 설치 실패 후 문제가 발생한 경우 시스템 파일 검사기를 실행하세요. CMD를 관리자 권한으로 실행하고 sfc /scannow를 실행하세요. Windows는 보호된 바이너리를 검사하고 손상된 바이너리는 자동으로 교체합니다..
sfc /scannow
완료되면 재부팅하고 평소처럼 그래픽을 로드하여 TDR이 사라졌는지 확인하세요. SFC가 파일을 복구하는 경우 그래픽 스택에 영향을 미치는 시스템 손상이 있었다는 좋은 신호입니다..
5) Windows 시동 복구
로그인 후 또는 동일한 앱을 열었을 때 TDR이 반복적으로 나타나면 설정 > 업데이트 및 보안 > 복구 > 고급 시작 > 문제 해결 > 고급 옵션 > 시작 복구로 이동하여 시작 복구를 실행하세요. Windows는 올바르게 로드되지 않는 서비스와 시작 구성 요소를 수정하려고 시도합니다..
수리 후, 고장을 일으킨 것과 동일한 사용 패턴으로 장비를 테스트합니다. 재생이 중지되면 부분적인 부팅 문제이거나 종속성이 손상된 것입니다..
6) 안전 모드 및 드라이버 재설치
안전 모드에서는 최소한의 드라이버만 로드하고 중단 없이 제거/재설치할 수 있습니다. msconfig에서 "안전 부팅"을 선택하거나 고급 시작 메뉴에서 안전 부팅을 실행한 후 장치 관리자에서 어댑터를 제거하세요. 그런 다음 제조업체에서 다운로드한 최신 드라이버를 설치하세요..
두 개의 GPU가 장착된 컴퓨터에서는 각 GPU를 따로따로 제거했다가 다시 설치합니다. 먼저 통합 GPU(Intel), 그다음 전용 GPU(NVIDIA/AMD)를 설치합니다. 이렇게 하면 Windows가 부적절한 일반 코드를 중간에 다시 주입하는 것을 방지할 수 있습니다..
7) 특정 드라이버 파일 복구(AMD/NVIDIA)
AMD/ATI GPU에서는 atikmdag.sys 또는 atikmpag.sys를 재생성하면 문제가 해결되는 경우가 있습니다. C:\Windows\System32\drivers 파일의 이름을 .old로 변경하고 제조업체 패키지에서 압축을 해제하세요. expand 명령을 사용하면 새로운 .sys 파일이 생성되고, 이 파일을 드라이버 폴더로 복사합니다..
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 제어판에서 특정 dGPU를 요구 사항이 높은 애플리케이션(acad.exe, 게임)에 할당하고 나머지는 자동으로 둡니다. 이렇게 하면 창을 열거나 닫을 때 어댑터 변경을 최소화하고 그래픽 컨텍스트 재설정을 방지할 수 있습니다..
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, 저는 기술 세계가 우리 삶을 개선하기 위해 매일 제공하는 모든 뉴스와 새로운 기회를 탐색하려고 노력합니다.

