블루스크린

DLL·런타임 오류

드라이버 문제

게임 오류

윈도우 오류

프로그램 오류

광고자리 · 글 위

장치관리자 코드 39 오류 원인 4가지와 증상별 해결 순서 (윈도우 10·11)

이 글을 3줄로 요약하면

· 코드 39는 장치가 고장 났다는 뜻이 아니라 드라이버를 메모리에 못 올렸다는 뜻입니다.

· 그래서 드라이버만 다시 깔면 되는 경우와, 그래서는 안 되는 경우가 섞여 있습니다.

· 어떤 장치에서 떴는지가 갈림길입니다. 판별표에서 자기 상황을 먼저 찾으면 됩니다.

코드 39는 정확히 무슨 뜻인가

문구를 정확히 읽으면 손댈 자리가 절반은 정해집니다.

Microsoft 지원 문서에 실린 코드 39의 전체 문구는 "이 하드웨어에 대한 장치 드라이버를 로드할 수 없습니다. 드라이버가 손상되었거나 누락된 것 같습니다. (코드 39)"입니다. 문서가 제시하는 권장 해결 방법은 장치 드라이버를 수동으로 다시 설치하는 것입니다.

핵심은 "로드할 수 없습니다"입니다. 윈도우가 장치를 찾긴 했는데 그 장치를 다룰 드라이버를 메모리에 올리는 데 실패했다는 뜻입니다. 그래서 케이블을 바꾸거나 포트를 옮기는 것으로는 대개 바뀌지 않습니다.

비슷해 보이는 코드와 구분해 두면 헷갈리지 않습니다. 코드 10은 "이 장치를 시작할 수 없습니다", 코드 28은 "이 장치의 드라이버가 설치되어 있지 않습니다", 코드 19는 "레지스트리의 구성 정보가 불완전하거나 손상됨"입니다. 코드 39는 드라이버 파일 자체를 못 올린 상태라는 점에서 이들과 다릅니다.

무작정 지우고 다시 깔기 전에 확인할 것

코드 39는 드라이버 재설치로 풀리는 경우와, 재설치를 아무리 반복해도 그대로인 경우가 섞여 있습니다. 레지스트리 필터가 원인이거나 보안 기능이 드라이버를 막고 있는 경우가 후자입니다. 판별을 건너뛰면 같은 작업만 반복하게 됩니다.

어떤 장치에서 떴는지로 원인 좁히기

장치 종류와 발생 시점이 가장 강한 단서입니다.

증상 유력한 원인 먼저 볼 항목
CD·DVD 드라이브가 탐색기에서 통째로 사라졌다 클래스 키의 UpperFilters·LowerFilters 손상 원인 A → 3번
사운드카드·그래픽카드 하나만 먹통이다 드라이버 파일 손상·설치 실패 원인 B → 4번
드라이버를 업데이트한 바로 그날부터 시작됐다 새 드라이버가 이 장치·이 윈도우와 안 맞음 원인 C → 5번
USB 캡처보드·구형 USB 장치만 인식이 안 된다 메모리 무결성이 해당 드라이버를 차단 원인 D → 6번
여러 장치에서 동시에 코드 39가 떴다 시스템 파일·구성 요소 손상 7번의 진단부터
다른 PC에 꽂아도 똑같이 안 잡힌다 장치 자체 고장 가능성 7번의 교차 확인

원인 A클래스 필터 값이 손상됐다

CD·DVD 드라이브가 목록에서 통째로 사라졌다면 여기부터 봅니다.

윈도우는 장치 종류(클래스)마다 필터 드라이버 목록을 레지스트리에 갖고 있습니다. 굽기 프로그램이나 가상 드라이브 프로그램이 여기에 자기 항목을 끼워 넣는데, 그 프로그램을 지운 뒤 항목만 남으면 윈도우가 없는 드라이버를 올리려다 실패합니다.

Microsoft 지원 문서도 CD·DVD 드라이브가 인식되지 않을 때 아래 키의 UpperFilters·LowerFilters 값을 삭제하는 절차를 안내합니다. 다만 레지스트리를 잘못 수정하면 심각한 문제가 생길 수 있다는 경고가 함께 붙어 있으니 백업을 먼저 합니다.

1레지스트리 편집기에서 클래스 키로 이동한다

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E965-E325-11CE-BFC1-08002BE10318}

Win + R → regedit → 주소창에 위 경로를 붙여넣고 Enter. 이 중괄호 값이 CD·DVD 드라이브 클래스입니다.

2지우기 전에 그 키를 내보낸다

해당 키를 선택한 상태에서 파일 → 내보내기로 저장해 둡니다. 문제가 생기면 저장한 .reg 파일을 더블클릭해 되돌릴 수 있습니다.

3UpperFilters·LowerFilters만 삭제하고 재부팅한다

오른쪽 목록에 UpperFilters, LowerFilters가 보이면 각각 우클릭 → 삭제합니다. 이름 뒤에 .bak이 붙은 값은 지우지 않습니다. 재부팅하면 윈도우가 필터 목록을 새로 만듭니다.

이 작업 뒤에 같이 확인할 것

필터 값을 지우면 굽기 프로그램이나 가상 드라이브 프로그램이 정상 동작하지 않을 수 있습니다. Microsoft 문서도 같은 안내를 붙여 두었습니다. 장치가 살아난 뒤 그 프로그램만 다시 설치하면 됩니다.

이 방법이 안 통하는 경우

애초에 UpperFilters·LowerFilters 값이 보이지 않는다면 이 원인이 아닙니다. 값이 없는데 억지로 다른 값을 지우지 말고 4번으로 넘어갑니다. CD·DVD가 아닌 장치는 클래스 GUID가 달라 이 경로 자체가 대상이 아닙니다.

원인 B드라이버 파일이 손상됐거나 빠졌다

Microsoft 문서가 코드 39의 기본 처방으로 제시하는 경로입니다.

설치가 중간에 끊기거나 같은 계열 드라이버 두 개가 겹치면 파일이 온전하지 않은 상태로 남습니다. 이 경우 제거하고 다시 인식시키는 것이 정석입니다.

1장치관리자에서 해당 장치를 제거한다

Win + R → devmgmt.msc → 분류를 펼쳐 문제 장치를 우클릭 → 디바이스 제거. "이 디바이스의 드라이버를 삭제하려고 시도합니다" 체크박스가 보이면 함께 체크해야 손상된 파일까지 정리됩니다.

2하드웨어 변경 사항을 검색해 다시 올린다

장치관리자 상단 메뉴에서 동작 → 하드웨어 변경 사항 검색을 누릅니다. 윈도우가 기본 드라이버를 다시 설치합니다. 이 순서는 Microsoft 지원 문서가 코드 39에 대해 안내하는 절차와 같습니다.

3기본 드라이버로 부족하면 제조사 파일을 쓴다

장치를 우클릭 → 드라이버 업데이트를 누르면 드라이버 검색 방법 선택 창이 뜹니다. 제조사 사이트에서 받은 파일이 있다면 내 컴퓨터에서 드라이버 찾아보기로 그 폴더를 지정합니다.

드라이버는 장치 제조사 것으로 받습니다

노트북·완제품 PC라면 부품 제조사보다 PC 제조사가 제공하는 모델 전용 드라이버가 맞는 경우가 많습니다. 칩셋 드라이버가 빠져 있으면 개별 장치 드라이버만 다시 깔아도 같은 증상이 반복될 수 있습니다.

이 방법이 안 통하는 경우

제거 후 재검색을 해도 곧바로 다시 코드 39가 붙는다면, 같은 드라이버가 그대로 다시 설치되고 있다는 뜻입니다. 최근에 업데이트를 했다면 5번, 보안 기능이 막고 있는 상황이라면 6번으로 갑니다.

원인 C최근 드라이버 업데이트 직후부터 시작됐다

"어제까지 멀쩡했다"면 재설치보다 되돌리기가 먼저입니다.

새 드라이버가 항상 더 나은 것은 아닙니다. 특정 하드웨어 개정판이나 특정 윈도우 빌드와 맞지 않으면 설치는 되지만 로드 단계에서 실패합니다. 이때 같은 드라이버를 다시 설치하는 것은 같은 결과를 반복하는 일입니다.

1드라이버 탭에서 이전 버전 여부를 확인한다

장치 우클릭 → 속성 → 드라이버 탭. 이전 드라이버 버튼이 눌리는 상태라면 되돌릴 수 있는 이전 버전이 남아 있다는 뜻입니다. 회색으로 비활성이면 되돌릴 대상이 없습니다.

2이전 드라이버로 되돌리고 재부팅한다

버튼을 누르면 되돌리는 이유를 고르는 창이 나옵니다. 선택 후 진행하고 재부팅합니다. 장치가 살아나면 그 새 드라이버가 원인이라는 것이 확정됩니다.

3같은 버전이 다시 올라오지 않게 막는다

되돌린 뒤 윈도우 업데이트가 같은 드라이버를 다시 설치하면 증상이 재발합니다. 제조사에서 그 장치용 이전 정식 버전을 직접 받아 수동 설치해 두면 버전이 고정됩니다.

이 방법이 안 통하는 경우

이전 드라이버 버튼이 비활성이라면 되돌릴 이전 버전이 없다는 뜻입니다. 이때는 제조사 사이트에서 한 단계 낮은 정식 버전을 직접 받아 4번의 수동 설치로 넣습니다. 그래도 같으면 6번을 확인합니다.

원인 D메모리 무결성이 드라이버를 막고 있다

USB 캡처보드·구형 USB 장치에서 반복된다면 이 항목입니다.

윈도우의 코어 격리 - 메모리 무결성은 커널 영역에 올라오는 드라이버를 검사해 기준에 맞지 않는 드라이버의 로드를 막습니다. Microsoft 지원 문서도 호환되지 않는 드라이버가 있으면 메모리 무결성을 켤 수 없고, 해당 드라이버는 로드되지 않는다고 설명합니다.

이 경우 드라이버 파일은 멀쩡한데도 "로드할 수 없습니다"가 뜹니다. 코드 39가 드라이버 재설치에 전혀 반응하지 않는 대표적인 상황이라, 여기까지 왔다면 이 항목을 반드시 확인해야 합니다.

1코어 격리 설정 화면을 연다

Win + I → 개인 정보 및 보안 → Windows 보안 → Windows 보안 열기 → 좌측 장치 보안 → 코어 격리 세부 정보. 여기서 메모리 무결성 토글 상태를 확인합니다.

2원인 확인용으로만 잠시 끄고 재부팅한다

토글을 끄고 재부팅했을 때 장치가 정상 인식되면 원인이 확정된 것입니다. 여기서 끝내지 말고 다음 단계로 갑니다.

3호환되는 드라이버로 바꾸고 다시 켠다

장치 제조사에서 최신 서명 드라이버를 받아 설치한 뒤 메모리 무결성을 다시 켭니다. 켤 때 호환되지 않는 드라이버 목록이 표시되면, 그 목록에 적힌 파일 이름으로 어떤 장치가 걸리는지 알 수 있습니다.

끄고 방치하지 않습니다

메모리 무결성은 커널 수준 공격을 막는 보호 기능입니다. 원인 확인이 끝나면 다시 켜는 것이 기본이고, 끈 상태를 유지하는 것은 권장되지 않습니다.

이 방법이 안 통하는 경우

메모리 무결성이 원래 꺼져 있었다면 이 원인이 아닙니다. 끄고 재부팅해도 그대로라면 다시 켜고 7번으로 이동해 장치와 원인을 다시 특정합니다.

서명 문제로 막힌 경우라면 코드 52 드라이버 오류, 디지털 서명 확인 실패 해결 순서 서명되지 않은 드라이버가 차단될 때의 처리 순서가 정리돼 있습니다 · 눌러서 확인하기 →

장치와 원인을 정확히 특정하는 법

이름이 "알 수 없는 장치"로만 뜰 때 쓰는 방법입니다.

드라이버가 안 올라간 장치는 이름이 제대로 표시되지 않는 경우가 많습니다. 이때 하드웨어 ID를 확인하면 제조사와 모델을 정확히 특정할 수 있어, 엉뚱한 드라이버를 받는 일을 막을 수 있습니다.

1하드웨어 ID로 장치를 특정한다

장치 우클릭 → 속성 → 자세히 탭 → 속성 드롭다운에서 하드웨어 ID 선택. VEN_ 뒤 네 자리가 제조사, DEV_ 뒤 네 자리가 모델입니다. 이 값으로 검색하면 정확한 드라이버를 찾을 수 있습니다.

2시스템 로그에서 언제부터인지 확인한다

Win + R → eventvwr.msc → Windows 로그 → 시스템 → 우측 현재 로그 필터링에서 오류만 남깁니다. 드라이버 관련 원본이 언제부터 기록됐는지 보면 원인 C인지 아닌지가 갈립니다.

3여러 장치가 동시에 걸리면 시스템 쪽을 본다

sfc /scannow

한 장치가 아니라 여러 장치에서 동시에 코드 39가 떴다면 개별 드라이버 문제로 보기 어렵습니다. 시작 버튼 우클릭 → 터미널(관리자)에서 실행해 시스템 파일부터 점검합니다.

4다른 PC에 꽂아 소프트웨어인지 하드웨어인지 가른다

같은 장치를 다른 PC에 연결했을 때도 코드 39가 뜨면 장치 쪽, 정상 동작하면 지금 PC의 드라이버·설정 쪽입니다. 이 한 번의 교차 확인이 이후 작업 방향을 크게 줄여 줍니다.

자주 묻는 질문

작업 중 자주 막히는 지점만 모았습니다.

Q.레지스트리를 건드리는 게 위험하지 않나요?

A.Microsoft 문서도 잘못 수정하면 심각한 문제가 생길 수 있다고 경고합니다. 그래서 파일 → 내보내기로 해당 키를 먼저 백업하고, UpperFilters·LowerFilters 두 값만 정확히 지웁니다. .bak이 붙은 값은 건드리지 않습니다.

Q.드라이버를 제거했는데 재부팅해도 자동으로 안 깔립니다.

A.장치관리자 상단 동작 → 하드웨어 변경 사항 검색을 눌러 봅니다. 그래도 안 잡히면 윈도우에 내장된 드라이버가 없는 장치입니다. 7번의 하드웨어 ID로 모델을 특정한 뒤 제조사 드라이버를 직접 설치합니다.

Q.메모리 무결성을 껐다가 다시 켜는 걸 잊으면 어떻게 되나요?

A.커널 영역을 지키는 보호 기능이 꺼진 채로 유지됩니다. 장치 인식을 확인한 즉시 다시 켜는 것을 권합니다. 켤 때 호환되지 않는 드라이버가 있으면 윈도우가 그 드라이버 목록을 보여 주므로, 오히려 원인을 찾는 단서가 됩니다.

Q.코드 39가 여러 장치에서 동시에 뜨기도 하나요?

A.있습니다. 시스템 파일이 손상됐거나 특정 업데이트 이후 공통 구성 요소가 어긋난 경우입니다. 개별 장치를 하나씩 재설치하기 전에 7번의 sfc /scannow로 시스템 쪽부터 확인하는 편이 빠릅니다.

Q.코드 39와 코드 10은 어떻게 다른가요?

A.코드 10은 "이 장치를 시작할 수 없습니다"로, 드라이버는 올라갔지만 장치를 시작하지 못한 상태에 가깝습니다. 코드 39는 그보다 앞 단계인 드라이버 로드 실패입니다. 그래서 코드 39는 필터·서명·보안 기능 같은 로드를 막는 요소를 함께 살펴야 합니다.

함께 보면 좋은 글

장치관리자에서 함께 자주 보게 되는 코드들입니다.

장치관리자 코드 10 오류 원인 4가지와 증상별 해결 순서 (윈도우 11·10) 드라이버는 올라갔는데 장치가 시작되지 않는 경우입니다 · 눌러서 확인하기 → 장치관리자 코드 28 오류, 드라이버가 설치되어 있지 않습니다 해결 순서 드라이버 자체가 없는 상태와의 차이를 확인할 수 있습니다 · 눌러서 확인하기 → 코드 43 오류, 그래픽카드·USB 장치가 갑자기 안 잡힐 때 해결 순서 같은 장치에서 코드가 43으로 바뀌어 뜰 때 참고하면 됩니다 · 눌러서 확인하기 →

광고자리 · 글 아래