본문 바로가기

Computer_IT/윈도우

VIDEO_TDR_FAILURE 블루스크린 nvlddmkm.sys 6단계 해결

반응형

게임을 하거나 영상을 편집하던 중 화면이 한 번 깜빡이더니, 잠시 뒤 파란 화면에 VIDEO_TDR_FAILURE라는 글자가 뜹니다. 그 아래에는 보통 what failed: nvlddmkm.sys 처럼 파일 이름이 하나 같이 적혀 있습니다. 어제까지 멀쩡하던 PC가 오늘 갑자기 이러면 그래픽카드가 죽었나 싶어 덜컥 겁이 납니다.
먼저 안심하셔도 좋습니다. 이 오류에서 하드웨어가 실제로 고장 난 경우는 생각보다 드뭅니다. 대부분은 디스플레이 드라이버 쪽 문제이고, 순서만 지키면 30분 안에 끝납니다. 장치 관리자에서 어댑터 상태부터 확인하고 싶으시다면 이 장치를 시작할 수 없습니다 코드 10, 윈도우11 6단계 해결 글을 먼저 훑어보시는 편이 빠릅니다.

3줄 요약
1. 원인 — 윈도우의 TDR 기능이 응답 없는 GPU를 되살리려다 실패해 버그 체크 0x116을 냅니다.
2. 해결의 정석 — 제조사 공식 드라이버를 내려받아 클린 설치, 그래도 뜨면 직전 버전으로 롤백합니다.
3. 안 될 때의 대안 — 과열과 보조전원, 메모리를 점검합니다. TdrDelay 레지스트리 수정은 증상만 가리는 최후 수단입니다.

화면이 깜빡이더니 파란 화면이 뜨는 이유

윈도우에는 TDR(Timeout Detection and Recovery)이라는 기능이 있습니다. 그래픽카드가 화면 그리기를 제때 끝내지 못하고 멈춰 버리면, 윈도우가 이를 감지해 디스플레이 드라이버만 몰래 재시작해 주는 안전장치입니다. TDR이 없던 시절에는 GPU가 한 번 멈추면 그대로 시스템 전체가 얼어붙었습니다.
마이크로소프트 공식 문서 기준으로 이 감시 시간은 다음과 같이 정해져 있습니다. GPU가 스케줄러의 선점 요청을 미룰 수 있는 시간인 TdrDelay는 기본 2초, 운영체제가 스레드에게 드라이버에서 빠져나오라고 허용하는 시간인 TdrDdiDelay는 기본 5초입니다. 복구 수준을 정하는 TdrLevel의 기본값은 3으로, 타임아웃이 나면 일단 복구를 시도한다는 뜻입니다.
복구가 성공하면 화면이 잠깐 까매졌다가 돌아오고, 우하단에 디스플레이 드라이버가 응답을 중지했다가 복구되었습니다라는 알림이 뜹니다. 이벤트 뷰어에서는 원본이 Display, 이벤트 ID가 4101로 남습니다. 이 단계에서 멈추면 블루스크린은 나지 않습니다.
문제는 복구까지 실패했을 때입니다. 스레드가 정해진 시간 안에 드라이버에서 빠져나오지 못하면 시스템은 버그 체크 0x00000116, VIDEO_TDR_FAILURE를 내고 쓰러집니다. 마이크로소프트는 이 코드를 두고 디스플레이 드라이버를 재설정해 타임아웃에서 복구하려는 시도가 실패했음을 뜻한다고 설명합니다. 또 60초(TdrLimitTime) 안에 TDR이 5회(TdrLimitCount) 반복돼도 같은 결과가 됩니다.

VIDEO_TDR_FAILURE 6단계 해결

위에서부터 순서대로 진행하시기 바랍니다. 실제로는 2단계나 3단계에서 끝나는 경우가 대부분입니다.

1단계. 범인 파일 이름부터 확보한다

블루스크린 화면의 what failed 뒤에 적힌 파일명을 먼저 적어 두십시오. 이 한 줄이 이후 작업의 방향을 정합니다. 이미 재부팅돼 놓쳤다면 이벤트 뷰어를 여십시오.
시작 버튼을 마우스 오른쪽으로 클릭 → 이벤트 뷰어 → Windows 로그 → 시스템 → 오른쪽의 현재 로그 필터링 → 이벤트 원본에 Display 선택. 여기서 이벤트 ID 4101 항목의 설명에 드라이버 파일명이 그대로 들어 있습니다. 덤프 파일은 아래 경로에 쌓입니다.

%SystemRoot%\Minidump

2단계. 제조사 드라이버로 클린 설치한다

가장 효과가 큰 단계입니다. 윈도우 업데이트가 자동으로 밀어 넣은 드라이버 말고, 엔비디아, AMD, 인텔 공식 사이트에서 내 그래픽카드 모델에 맞는 최신 드라이버를 직접 내려받으십시오. 노트북이라면 삼성, LG, 레노버 같은 제조사 지원 페이지 드라이버가 더 안정적인 경우가 많습니다.
설치할 때 깨끗한 설치 수행 또는 이전 설정 초기화 옵션을 반드시 체크합니다. 이 항목을 지나치면 손상된 예전 설정이 그대로 남아 같은 블루스크린이 다시 납니다. 현재 버전은 파워셸에서 한 줄로 확인할 수 있습니다.

Get-CimInstance Win32_VideoController | Select-Object Name, DriverVersion, DriverDate

3단계. 그래도 뜨면 직전 버전으로 롤백한다

최신 드라이버가 오히려 원인인 경우도 흔합니다. 장치 관리자 → 디스플레이 어댑터 → 그래픽카드 오른쪽 클릭 → 속성 → 드라이버 탭 → 드라이버 롤백을 누르십시오. 버튼이 회색이면 이전 버전이 남아 있지 않다는 뜻이므로, 공식 사이트의 아카이브에서 한두 단계 낮은 버전을 직접 받아 설치합니다.

4단계. 과열과 전원을 점검한다

부하가 걸릴 때만 뜬다면 이쪽을 의심해야 합니다. 작업 관리자의 성능 탭이나 모니터링 도구로 GPU 온도를 봅니다. 게임 중 85도를 꾸준히 넘는다면 먼지, 굳은 써멀, 팬 고장을 먼저 정리하십시오. 데스크톱이라면 그래픽카드 보조 전원 케이블을 뽑았다 다시 단단히 꽂아 봅니다.
노트북과 일부 메인보드에서는 절전 설정이 원인이 됩니다. 제어판 → 전원 옵션 → 설정 변경 → 고급 전원 관리 옵션 설정 변경 → PCI Express → 링크 상태 전원 관리를 끄기로 바꾸고 재부팅하십시오.

5단계. 시스템 파일과 메모리를 검사한다

드라이버를 아무리 새로 깔아도 시스템 파일이 손상돼 있으면 원상태로 돌아갑니다. 명령 프롬프트를 관리자 권한으로 열고 아래를 차례로 실행하십시오.

sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
mdsched.exe

마지막 명령은 윈도우 메모리 진단입니다. 재부팅 후 검사가 진행되며, 여기서 오류가 잡히면 램 문제이므로 드라이버를 더 손댈 필요가 없습니다. 참고로 sfc와 DISM이 오류로 멈춘다면 윈도우 업데이트 구성요소 자체가 망가졌을 수 있는데, 그 증상은 0x80073712 윈도우 업데이트 실패, 0x800f0993까지 5단계 해결에서 따로 정리해 두었습니다.

6단계. 최후 수단으로만 TDR 대기시간을 늘린다

여기까지 해도 잡히지 않을 때 마지막으로 건드리는 값입니다. 레지스트리 편집기(regedit)에서 아래 경로로 이동해 TdrDelay라는 이름의 DWORD(32비트) 값을 새로 만들고, 10진수 8에서 10 정도를 넣은 뒤 재부팅합니다.

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers

주의하십시오. 마이크로소프트는 이 레지스트리 키를 드라이버 개발과 디버깅 목적으로만 쓰라고 명시하고 있으며, 최종 사용자가 임의로 건드리지 말 것을 공식 문서에서 권고합니다. 값을 늘리면 GPU가 멈춰도 윈도우가 더 오래 기다리므로 블루스크린이 줄어든 것처럼 보이지만, 실제 원인은 그대로 남고 그동안 화면이 길게 얼어붙습니다. 반드시 레지스트리를 먼저 내보내기로 백업하고, 효과가 없으면 만든 값을 삭제해 원래대로 되돌리십시오.

what failed 파일명으로 범인 좁히기

블루스크린이 알려 준 파일 하나로 손댈 범위가 확 줄어듭니다. 아래 표에서 내 화면에 나온 이름을 찾으십시오.

nvlddmkm.sys엔비디아 지포스 드라이버엔비디아 앱 또는 공식 사이트에서 최신 드라이버 클린 설치
amdkmdag.sys / atikmpag.sysAMD 라데온 드라이버AMD 소프트웨어 완전 제거 후 재설치, 필요하면 구버전 설치
igdkmd64.sys / igdkmdn64.sys인텔 내장 그래픽노트북 제조사 지원 페이지 드라이버를 우선 설치
dxgkrnl.sys 또는 표시 없음윈도우 그래픽 커널특정 벤더 문제가 아닐 가능성. 과열, 전원, 메모리부터 점검

방법마다 난이도와 위험도가 다릅니다. 되돌리기가 가능한 것부터 시도하는 편이 안전합니다.

드라이버 클린 설치낮음낮음가능
드라이버 롤백낮음낮음가능
PCI Express 링크 상태 전원 관리 끄기낮음낮음가능
sfc, DISM, 메모리 진단보통낮음해당 없음
오버클럭 해제, 보조전원 재연결보통보통가능
TdrDelay 레지스트리 추가높음높음, 증상만 가림값 삭제로 복원

그래도 안 될 때

첫째, 안전 모드에서 재현되는지 봅니다. 설정 → 시스템 → 복구 → 고급 시작 옵션의 지금 다시 시작을 눌러 안전 모드로 들어갑니다. 안전 모드에서는 멀쩡하다면 하드웨어가 아니라 드라이버나 특정 프로그램 충돌일 가능성이 높습니다. 이때는 msconfig로 클린 부팅을 해 범인을 좁혀 나가십시오.
둘째, 오버클럭과 전력 설정을 원래대로 돌립니다. 그래픽카드 오버클럭은 물론이고 램의 XMP 및 EXPO 프로필도 잠시 꺼 보십시오. 모니터링 도구에서 전력 제한을 90퍼센트 정도로 낮췄더니 재현이 멈추는 사례가 많습니다. 이 경우 전원 공급 장치의 노후를 의심할 수 있습니다.
셋째, 물리적으로 교차 확인합니다. 그래픽카드를 다른 PCIe 슬롯에 꽂아 보고, 디스플레이 케이블도 다른 것으로 바꿔 봅니다. 가능하다면 다른 PC에 꽂아 같은 오류가 따라가는지 확인하십시오. 따라간다면 그때는 수리나 교체를 검토할 단계입니다.

요약

VIDEO_TDR_FAILURE는 그래픽카드 사망 선고가 아니라, 윈도우가 멈춘 GPU를 되살리려다 실패했다는 신호입니다. what failed 파일명 확인 → 공식 드라이버 클린 설치 → 롤백 → 과열과 전원 점검 → sfc와 DISM과 메모리 진단 순서로 진행하면 대부분 해결됩니다. TdrDelay 레지스트리 수정은 마이크로소프트가 개발용이라고 못 박은 값이므로 맨 마지막에, 그것도 백업을 남기고 손대시기 바랍니다.

자주 묻는 질문

Q. 블루스크린은 안 뜨고 디스플레이 드라이버가 응답을 중지했다가 복구되었습니다라는 알림만 자주 뜹니다. 같은 문제인가요?
A. 뿌리는 같습니다. TDR이 작동했지만 복구에 성공한 상태입니다. 방치하면 언젠가 복구까지 실패해 0x116이 뜨므로, 위의 2단계와 4단계를 미리 해 두시는 편이 좋습니다.
Q. 드라이버를 최신으로 올렸더니 오히려 더 자주 뜹니다.
A. 드문 일이 아닙니다. 3단계의 드라이버 롤백을 먼저 시도하고, 공식 사이트 아카이브에서 한두 단계 낮은 버전을 설치해 안정적인 버전을 찾으십시오.
Q. 게임할 때만 뜨고 사무용으로 쓸 때는 멀쩡합니다.
A. 부하와 발열, 전원 공급을 먼저 의심하십시오. 4단계의 온도 확인과 보조 전원 케이블 점검, 그리고 오버클럭 해제가 우선입니다.
참고로 특정 누적 업데이트를 설치한 뒤부터 증상이 시작됐다면, 드라이버가 아니라 업데이트가 원인일 수 있습니다. 비슷한 사례로 원격 데스크톱 연결 안됨, KB5129195 긴급 패치 5단계 해결 글도 함께 보시면 판단이 빠릅니다.

반응형