블루스크린

DLL·런타임 오류

드라이버 문제

게임 오류

윈도우 오류

프로그램 오류

광고자리 · 글 위

코드 52 드라이버 오류 원인 3가지와 증상별 해결 순서 (디지털 서명 확인 실패)

이 글을 3줄로 요약하면

· 코드 52는 장치 고장이 아니라 64비트 윈도우가 그 드라이버의 서명을 신뢰하지 못해 로드를 거부한 상태입니다.

· 그래서 재부팅과 같은 파일 재설치는 몇 번을 반복해도 결과가 같습니다. 서명 쪽을 바꿔야 풀립니다.

· 원인은 세 갈래입니다. 판별표에서 자기 상황을 찾아 해당 섹션부터 처리하면 됩니다.

코드 52는 정확히 무슨 오류인가

장치가 고장 났다는 뜻이 아닙니다. 윈도우가 로드를 "거부"한 상태입니다.

코드 52의 내부 이름은 CM_PROB_UNSIGNED_DRIVER입니다. Microsoft 문서는 이 오류를 "디지털 서명되지 않은 드라이버가 있기 때문에 장치가 64비트 버전의 윈도우에서 시작되지 않았음"을 나타내는 코드라고 정의합니다. 하드웨어가 망가졌다는 신호가 아니라, 하드웨어를 움직일 소프트웨어가 신뢰 검증에 걸려 아예 실행되지 못한 상태입니다.

장치 속성에 표시되는 문구도 공식 문서와 같습니다. "Windows는 이 장치에 필요한 드라이버의 디지털 서명을 확인할 수 없습니다. 최근 하드웨어 또는 소프트웨어 변경으로 인해 잘못 서명되었거나 손상된 파일이 설치되었거나 알 수 없는 원본의 악성 소프트웨어일 수 있습니다. (코드 52)" 문장 안에 원인 후보가 이미 세 개 들어 있습니다. 서명이 잘못됐거나, 파일이 손상됐거나, 출처를 신뢰할 수 없거나입니다.

배경에는 커널 모드 코드 서명 정책이 있습니다. 64비트 윈도우에서 커널 모드로 올라가는 코드는 전부 유효한 디지털 서명을 갖고 있어야 로드됩니다. 드라이버는 커널 모드에서 도는 코드이므로 이 규칙을 그대로 받습니다. 코드 52는 그 규칙에 걸렸다는 표시입니다.

그래서 이 오류는 장치 종류를 가리지 않습니다. 그래픽카드, 사운드카드나 오디오 인터페이스, 네트워크 어댑터, USB 허브, 캡처보드, 시리얼 변환 케이블처럼 별도 드라이버를 쓰는 장치라면 어디서든 같은 코드가 나올 수 있습니다. 공통점은 장치 자체가 아니라 그 장치에 물린 드라이버 파일입니다.

해결에 들어가기 전에 장치의 하드웨어 ID를 먼저 적어 두는 편이 좋습니다. 장치 속성의 "자세히" 탭에서 속성 드롭다운을 하드웨어 ID로 바꾸면 VEN_과 DEV_로 시작하는 문자열이 나옵니다. 이 값이 제조사와 모델을 정확히 가리키기 때문에, 뒤에서 정식 드라이버를 찾을 때 제품명 검색보다 훨씬 정확합니다.

드라이버 삭제 후 재설치를 반복하는 것은 해결이 아닙니다

같은 설치 파일을 다시 실행하면 서명도 같은 것이 다시 들어옵니다. 검증 결과가 달라질 이유가 없으므로 코드 52도 그대로 다시 뜹니다. 바꿔야 할 것은 설치 횟수가 아니라 드라이버 파일 자체이거나 서명을 검사하는 쪽 설정입니다.

증상으로 원인 좁히기

"언제부터 그랬는가"가 세 원인을 가르는 가장 빠른 질문입니다.

증상 유력한 원인 먼저 볼 항목
장치를 처음 연결한 순간부터 한 번도 작동한 적이 없다 서명이 없거나 최신 정책에 못 미치는 드라이버 원인 A → 정식 서명 드라이버
단종된 오래된 장치이고 제조사 사이트가 사라졌다 현행 서명 정책을 만족하는 버전이 존재하지 않음 원인 A → 업데이트 카탈로그 → 그다음 6번
잘 쓰던 장치인데 드라이버를 새로 깐 뒤부터 그렇다 내려받는 중 파일이 깨졌거나 변조됨 원인 B → 롤백·재다운로드
파일 복사·압축 해제 중 오류가 났던 기억이 있다 파일 손상으로 서명 값이 어긋남 원인 B → 재다운로드
드라이버는 그대로인데 윈도우 업데이트 후부터 뜬다 메모리 무결성 등 보안 기능이 켜지며 기준 상향 원인 C → 코어 격리 설정
회사·학교 PC이고 개인 PC에서는 같은 장치가 잘 된다 조직 정책으로 서명 요구 수준이 올라가 있음 원인 C → 관리자 확인

32비트 윈도우에서는 이 코드를 거의 보지 않습니다

서명 강제는 64비트 윈도우의 규칙입니다. 32비트 윈도우에서는 서명 없는 드라이버도 대체로 설치·로드됩니다. 지금 쓰는 윈도우가 64비트라면, 코드 52는 예외가 아니라 정상 동작에 가깝습니다.

원인 A드라이버에 유효한 서명이 없다

가장 흔한 경우입니다. 처음부터 한 번도 작동하지 않았다면 여기입니다.

Microsoft 문서는 최종 사용자 입장에서 이 오류를 없애는 방법을 "디지털 서명된 드라이버를 구해 설치하는 것" 하나로 정리합니다. 우회 수단은 개발·테스트용으로 따로 안내되어 있습니다. 즉 정공법은 파일을 바꾸는 것이고, 그 순서는 아래와 같습니다.

1기존 드라이버를 소프트웨어까지 함께 제거한다

장치관리자에서 해당 장치를 우클릭해 "디바이스 제거"를 고르고, 창에 "이 디바이스의 드라이버 삭제 시도" 체크박스가 보이면 반드시 체크합니다. 이 체크를 빼면 문제가 된 서명 파일이 그대로 남아 재설치해도 같은 파일이 다시 붙습니다.

2재부팅한 뒤 제조사 최신 드라이버를 받는다

앞에서 적어 둔 하드웨어 ID로 검색하면 모델을 잘못 고를 위험이 줄어듭니다. 받은 설치 파일은 우클릭해 "관리자 권한으로 실행"으로 설치합니다. 구버전이 서명 정책을 못 맞추는 경우가 많으므로 날짜가 가장 최근인 버전을 고릅니다.

3제조사에 없으면 Microsoft 업데이트 카탈로그에서 찾는다

카탈로그(catalog.update.microsoft.com)에 올라온 드라이버는 배포 전에 서명을 거친 것들입니다. 모델명이나 하드웨어 ID로 검색해 자기 윈도우 버전에 맞는 항목을 내려받고, 압축을 푼 뒤 장치관리자에서 "드라이버 업데이트 → 내 컴퓨터에서 드라이버 찾아보기"로 그 폴더를 지정합니다.

4설치 후 드라이버 탭에서 날짜와 버전이 바뀌었는지 확인한다

장치 속성 → 드라이버 탭의 드라이버 날짜·버전이 이전 값 그대로라면 새 파일이 실제로 적용되지 않은 것입니다. 이때는 1번의 제거 단계에서 체크박스를 놓쳤을 가능성이 큽니다.

이 방법이 안 통하는 경우

제조사 사이트가 없어졌거나 마지막 드라이버가 윈도우 7 시절에서 멈춘 단종 장치라면, 서명 요건을 만족하는 버전이 애초에 존재하지 않습니다. 이 경우는 파일을 더 찾아도 결과가 같으므로 6번 테스트 서명 모드 항목으로 넘어가 조건과 위험을 먼저 확인하세요.

원인 B서명은 있는데 파일이 변조·손상됐다

잘 쓰던 장치가 드라이버 교체 직후부터 멈췄다면 이쪽입니다.

디지털 서명은 파일 내용을 계산해 만든 값입니다. 그래서 서명 자체는 정상이어도 파일이 1바이트만 달라지면 계산 결과가 어긋나 검증에 실패합니다. Microsoft의 코드 무결성 문서도 서명 확인 실패 사유로 "드라이버가 서명되었지만 파일이 변경되어 서명이 잘못된 경우"와 "디스크 불량 섹터에서 파일을 읽는 중 오류가 난 경우"를 함께 들고 있습니다.

현실에서 이 상황은 대체로 다운로드 중 연결이 끊겼거나, 압축을 푸는 중 오류가 났거나, 인증서가 만료된 오래된 패키지를 쓴 경우에 생깁니다. 이럴 때는 같은 파일을 다시 설치하는 대신 파일을 새로 구하는 것이 순서입니다.

1먼저 이전 드라이버로 되돌린다

장치 속성 → 드라이버 탭의 "이전 드라이버" 버튼이 눌리는 상태라면, 그것이 가장 빠른 복구입니다. 잘 돌던 버전이 그대로 남아 있다는 뜻이기 때문입니다. 버튼이 회색이면 되돌릴 이전 버전이 없다는 뜻이니 2번으로 갑니다.

2드라이버 파일을 다시 내려받는다

받아 둔 설치 파일을 그대로 재사용하지 않고 제조사 사이트에서 새로 내려받습니다. 가능하면 다른 네트워크나 유선 연결로 받고, 다운로드 관리자·가속기를 끄고 브라우저로 직접 받습니다. 제조사가 체크섬(SHA-256)을 함께 공개한다면 값이 일치하는지 확인합니다.

3시스템 파일과 디스크 상태를 함께 점검한다

sfc /scannow

여러 장치에서 동시에 코드 52가 뜨거나 다른 오류가 함께 난다면, 특정 드라이버가 아니라 저장 장치나 시스템 파일 쪽이 흔들리는 상황일 수 있습니다. 관리자 터미널에서 위 명령으로 시스템 파일을 검사하고, 결과에 손상 항목이 보고되면 디스크 검사도 이어서 진행합니다.

이 방법이 안 통하는 경우

새로 받은 파일로도 같은 코드가 뜬다면 파일 손상이 원인이 아닙니다. 특히 드라이버는 손대지 않았는데 어느 날부터 갑자기 시작됐다면 검사하는 쪽 기준이 바뀐 것이므로 원인 C로 넘어갑니다.

원인 C메모리 무결성이 기준을 올렸다

드라이버는 그대로인데 어느 날부터 막혔다면 이 항목을 봅니다.

윈도우 11에는 메모리 무결성(하이퍼바이저 기반 코드 무결성, HVCI)이라는 보호 기능이 있습니다. 켜져 있으면 커널에 올라가는 코드를 한 단계 더 엄격하게 검사합니다. Microsoft 문서도 메모리 무결성이 켜진 환경에서는 요건이 달라진다고 명시하고 있습니다. 그래서 예전 기준으로는 통과하던 오래된 드라이버가 이 기능이 켜진 뒤 갑자기 거부되는 일이 생깁니다.

확인은 설정에서 합니다. Win + I → 개인 정보 및 보안 → Windows 보안 → "Windows 보안 열기" → 장치 보안 → 코어 격리 → 메모리 무결성 항목입니다. 여기가 "켬"이면 이 원인에 해당할 수 있고, 호환되지 않는 드라이버가 있으면 이 화면에서 문제 드라이버 목록을 직접 보여 주기도 합니다. 그 목록이 곧 범인 명단입니다.

끄는 것보다 목록을 읽는 것이 먼저입니다

메모리 무결성을 꺼 버리면 증상은 사라지지만 보호 수준도 함께 내려갑니다. 이 화면이 알려 주는 드라이버 이름을 먼저 확인하고, 그 드라이버의 최신 버전이 나와 있는지부터 찾는 순서를 권합니다. 최신 버전으로 올려서 해결되면 보호를 켠 채로 끝낼 수 있습니다.

회사·학교에서 지급한 PC라면 개인 설정이 아니라 조직 정책으로 서명 요구 수준이 올라가 있을 수 있습니다. 이 경우 설정 화면에서 항목이 회색으로 잠겨 있거나 "조직에서 관리함" 같은 문구가 보입니다. 임의로 우회하지 말고 관리 담당자에게 장치 모델과 드라이버 버전을 알려 승인된 드라이버를 요청하는 편이 안전합니다.

이 방법이 안 통하는 경우

메모리 무결성이 원래 꺼져 있었다면 이 원인은 아닙니다. 그리고 이 기능을 껐는데도 코드 52가 그대로라면 기준 문제가 아니라 드라이버 자체에 유효한 서명이 없는 것이므로 원인 A로 돌아갑니다.

테스트 서명 모드는 언제 쓸 수 있고 언제 막히는가

우회 수단이지만, 시도하기 전에 막히는 조건부터 알아야 시간을 아낍니다.

윈도우에는 테스트 서명(TESTSIGNING) 부팅 옵션이 있습니다. 켜면 테스트 서명된 커널 모드 드라이버도 로드됩니다. Microsoft 문서가 이 옵션을 안내하는 맥락은 개발과 테스트이며, 켜져 있는 동안 바탕화면 오른쪽 아래에 "테스트 모드" 워터마크가 표시됩니다.

1관리자 권한으로 테스트 서명을 켠다

bcdedit /set testsigning on

시작 버튼을 우클릭해 "터미널(관리자)"로 연 뒤 입력합니다. 일반 권한 창에서는 "액세스가 거부되었습니다"가 납니다. 설정은 재부팅해야 적용됩니다.

2확인이 끝나면 반드시 되돌린다

bcdedit /set testsigning off

장치가 도는지 확인했다면 원래 상태로 되돌립니다. 이 상태를 계속 유지하면 서명 검증이라는 방어선 하나를 내려놓은 채 쓰는 것이 됩니다.

보안 부팅이 켜져 있으면 이 명령은 애초에 통하지 않습니다

Microsoft 문서는 이 명령이 "The value is protected by Secure Boot policy and cannot be modified or deleted"로 실패할 수 있다고 명시합니다. 요즘 PC는 대부분 보안 부팅이 켜져 있어 이 메시지를 보게 됩니다. 문서는 이 경우 BIOS에서 보안 부팅을 끄라고 안내하지만, 보안 부팅은 윈도우 11의 설치 요건이고 일부 온라인 게임의 안티치트도 이를 요구합니다. 드라이버 하나를 위해 끄기 전에 그 영향을 먼저 따져 보세요. BitLocker를 쓰는 PC라면 복구 키를 요구할 수 있다는 점도 문서가 함께 경고합니다.

메모리 무결성이 켜진 환경에서도 제약이 있습니다. Microsoft 문서는 윈도우 10 1507부터 메모리 무결성이 켜져 있으면 테스트 인증서로 서명된 바이너리여야 하고 서명되지 않은 바이너리는 지원되지 않는다고 적고 있습니다. 즉 테스트 모드를 켠다고 아무 파일이나 다 로드되는 것은 아닙니다.

정리하면 테스트 서명 모드는 서명된 드라이버가 세상에 존재하지 않는 단종 장치를, 그 장치를 반드시 써야 할 때, 한시적으로 살리는 수단입니다. 최신 장치의 코드 52를 여기서 해결하려 한다면 방향이 잘못된 것입니다.

이 문제도 확인해보세요 장치관리자 코드 28 오류, 저는 이 순서로 해결했습니다 (드라이버가 설치되어 있지 않습니다 완전정리) 드라이버를 지우고 다시 깔다가 코드 52 대신 코드 28로 바뀌었다면 이 글이 다음 단계입니다 · 눌러서 확인하기 →

어느 드라이버가 거부됐는지 확인하는 법

추측 대신 로그를 봅니다. 파일 이름까지 특정할 수 있습니다.

윈도우의 코드 무결성 구성 요소는 드라이버 서명을 확인할 수 없어 로드를 거부하면 그 사실을 이벤트로 남깁니다. Microsoft 문서는 이 이벤트를 코드 무결성 진단 시스템 로그 이벤트로 설명하고, 이벤트 뷰어에서 볼 수 있다고 안내합니다. 장치가 여러 개라 어느 것이 문제인지 헷갈릴 때 이 로그가 답을 줍니다.

1이벤트 뷰어에서 시스템 로그를 오류만 남긴다

eventvwr.msc

Win + R로 위 명령을 실행하고 Windows 로그 → 시스템을 연 뒤, 우측 "현재 로그 필터링"에서 이벤트 수준을 오류로 좁힙니다. 원본(Source) 열에서 CodeIntegrity 항목을 찾습니다.

2이벤트 본문에서 거부된 파일 경로를 읽는다

항목을 클릭하면 하단 "일반" 탭에 서명을 확인하지 못한 파일의 전체 경로가 나옵니다. 대체로 C:\Windows\System32\drivers 아래의 .sys 파일입니다. 이 파일 이름을 검색하면 어느 제조사의 어떤 장치용인지 바로 나옵니다.

3설치된 드라이버 목록에서 서명 여부를 한꺼번에 본다

pnputil /enum-drivers

관리자 터미널에서 실행하면 시스템에 등록된 드라이버 패키지가 이름·공급자·클래스·날짜·버전과 함께 나열됩니다. 서명자 이름 항목이 비어 있는 패키지가 눈에 띈다면 그것이 후보입니다. 출력이 길면 pnputil /enum-drivers > %USERPROFILE%\Desktop\drivers.txt로 파일에 저장해 보면 편합니다.

로그가 비어 있어도 실패한 것이 아닙니다

Microsoft 문서에 따르면 시스템 감사 로그와 자세한 진단 로깅은 기본적으로 켜져 있지 않습니다. 그래서 관련 이벤트가 안 보일 수 있습니다. 이때는 로그를 더 파기보다 코어 격리 화면의 호환되지 않는 드라이버 목록과 pnputil 출력으로 후보를 좁히는 편이 빠릅니다.

자주 묻는 질문

코드 52에서 자주 갈리는 지점만 모았습니다.

Q.안전 모드에서는 장치가 정상 작동합니다. 그러면 하드웨어는 멀쩡한 건가요?

A.안전 모드는 최소한의 드라이버만 불러오는 모드입니다. 문제 드라이버가 아예 로드되지 않거나 윈도우 기본 드라이버로 대체되어 증상이 안 보이는 것이지, 서명 문제가 해결된 것은 아닙니다. 다만 "장치 자체 불량은 아니다"라는 힌트로는 쓸 수 있습니다.

Q.bcdedit 명령이 "액세스가 거부되었습니다"로 끝납니다.

A.관리자 권한 창이 아니기 때문입니다. Microsoft 문서도 BCDEdit 사용에는 Administrators 그룹 권한과 관리자 권한 명령 프롬프트가 필요하다고 못 박습니다. 시작 버튼 우클릭 → "터미널(관리자)"로 다시 여세요. 반대로 "보안 부팅 정책으로 보호되어 수정할 수 없다"는 메시지라면 권한이 아니라 보안 부팅이 원인입니다.

Q.그래픽카드에서 코드 52가 떠도 같은 순서로 보면 되나요?

A.원리는 같습니다. 다만 그래픽카드는 NVIDIA·AMD·Intel 공식 사이트에 현행 서명 드라이버가 반드시 존재하므로 원인 A에서 끝나는 경우가 대부분입니다. 테스트 서명 모드까지 갈 일이 거의 없습니다. 이전에 설치되어 있던 드라이버가 깨끗이 지워졌는지만 확인하면 됩니다.

Q."드라이버 서명 적용 사용 안 함"으로 부팅하면 되지 않나요?

A.고급 시작 옵션의 그 항목은 그 부팅 한 번에만 적용됩니다. 다시 껐다 켜면 원래대로 돌아오므로, 장치를 계속 써야 하는 상황의 해결책이 되지 못합니다. 임시로 장치가 살아나는지만 확인하는 용도로 보는 편이 맞습니다.

Q.인터넷에서 찾은 서명 우회 도구를 써도 되나요?

A.권하지 않습니다. 코드 52의 공식 문구 자체가 "알 수 없는 원본의 악성 소프트웨어일 수 있습니다"라고 경고하는 상황입니다. 검증을 우회하는 도구는 그 경고를 무력화하는 쪽으로 작동하고, 커널 권한에서 도는 코드라 문제가 생겼을 때 피해 범위도 큽니다. 윈도우가 공식으로 제공하는 테스트 서명 옵션까지만 쓰는 것을 권합니다.

함께 보면 좋은 글

장치관리자에 다른 코드가 떴다면 아래 글에서 코드별로 확인하세요.

장치 관리자 코드 10 오류, "이 장치를 시작할 수 없습니다" 완벽 해결법 서명은 통과했는데 장치가 시작되지 않을 때 나오는 코드입니다 · 눌러서 확인하기 → 코드 43 오류, 그래픽카드·USB 장치가 갑자기 안 잡힐 때 저는 이렇게 해결했습니다 잘 쓰던 장치가 어느 날 갑자기 멈췄을 때 함께 보는 코드입니다 · 눌러서 확인하기 → 장치 관리자 코드 31 오류 해결 – "이 장치가 제대로 작동하지 않습니다" 드라이버는 있는데 윈도우가 불러오지 못하는 경우를 다룹니다 · 눌러서 확인하기 →

광고자리 · 글 아래