블루스크린

DLL·런타임 오류

드라이버 문제

게임 오류

윈도우 오류

프로그램 오류

광고자리 · 글 위

0xc0000906 오류 원인 4가지와 증상별 해결 순서 (백신 차단으로 실행 안 될 때)

이 글을 3줄로 요약하면

· 0xc0000906은 "파일에 바이러스가 있어 작업을 완료하지 못했다"는 뜻의 코드입니다. 파일이 깨졌다는 뜻이 아닙니다.

· 그래서 같은 파일을 다시 받아 실행해도 결과는 같습니다. 막는 쪽을 풀어야 합니다.

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

0xc0000906은 정확히 무슨 뜻인가

이 코드의 정의를 알면 해결 순서가 바로 정해집니다.

실행하는 순간 "응용 프로그램을 올바르게 시작하지 못했습니다 (0xc0000906)"라는 창이 뜨고 프로그램이 그대로 종료됩니다. 이 숫자는 윈도우 내부 상태 코드인 NTSTATUS 값이고, Microsoft의 오류 코드 명세는 이 값을 다음과 같이 정의합니다.

0xC0000906 · STATUS_VIRUS_INFECTED
"The operation did not complete successfully because the file contains a virus."
(파일에 바이러스가 있어 작업이 정상적으로 완료되지 않았습니다.)

즉 이 코드는 "파일이 손상됐다"가 아니라 "검사 도구가 이 파일을 위협으로 판정해 열지 못하게 했다"는 통보입니다. 실행 파일 자체는 멀쩡한 경우가 대부분이고, 실제로 다른 PC에 옮기면 잘 도는 일이 흔한 것도 그래서입니다.

바로 옆 번호와 비교하면 뜻이 더 분명해집니다. 0xC0000907(STATUS_VIRUS_DELETED)은 "파일을 열 수 없으며 이 위치에서 제거되었다"는 뜻입니다. 앞 번호는 막힌 상태, 뒤 번호는 이미 치워진 상태를 가리킵니다. 두 코드가 번갈아 뜬다면 백신이 개입하고 있다는 신호로 읽어도 됩니다.

파일 손상 코드와 헷갈리지 않도록

"파일이 잘못되었다"는 뜻의 코드는 0xC0000098(STATUS_FILE_INVALID)로 번호가 완전히 다릅니다. 0xc0000906을 파일 손상으로 보고 다운로드부터 다시 하면 시간만 씁니다. 이 코드에서는 검사·차단 쪽을 먼저 확인하는 것이 순서입니다.

한 가지 전제가 있습니다. 이 글은 출처가 분명한 프로그램, 예를 들어 공식 사이트에서 받은 설치 파일, 정식 구매한 게임, 직접 만든 도구를 되살리는 상황을 기준으로 합니다. 출처를 모르는 파일에서 이 코드가 떴다면 그건 오탐이 아니라 경고가 제대로 동작한 것일 수 있으므로, 예외 처리로 강행하지 않는 편이 안전합니다.

증상으로 원인 좁히기

한 프로그램만 그런지, 파일이 사라졌는지 두 가지가 갈림길입니다.

증상 유력한 원인 먼저 볼 항목
어제까지 멀쩡했는데 오늘부터 안 되고 실행 파일이 안 보인다 정의 업데이트 후 오탐으로 격리됨 원인 A → 보호 기록에서 복원
복원하면 잠깐 되다가 다음 날 또 같은 증상 제외 등록이 없어 재검사에서 다시 격리 원인 B → 폴더 단위 제외 등록
복원했는데도 실행하면 다른 오류로 바뀐다 격리 과정에서 딸린 파일 일부가 빠짐 원인 C → 제외 먼저, 재설치 나중
보호 기록에 아무 흔적이 없다 다른 백신이나 SmartScreen이 막는 중 원인 D → 해당 제품의 로그 확인
직접 만들었거나 서명 없는 프로그램에서만 그렇다 평판 정보가 없어 실행 단계에서 차단 원인 D → 앱 및 브라우저 제어
회사·학교 PC이고 설정 화면이 잠겨 있다 조직 정책으로 관리되는 장치 원인 D → 관리 담당자 문의

여러 프로그램에서 한꺼번에 뜬다면 판단이 달라집니다

한 프로그램만 막히는 것이 이 코드의 전형입니다. 반대로 여러 프로그램이 동시에, 그것도 서로 다른 오류 코드로 실행되지 않는다면 백신 한 곳만의 문제로 보기 어렵습니다. 그때는 이 글의 7번 항목에서 시스템 파일 점검까지 함께 확인하세요.

원인 A파일이 격리돼 사라졌다

가장 흔한 경우입니다. 먼저 격리소를 열어 사실 확인부터 합니다.

Windows 보안은 위협으로 판단한 파일을 지우지 않고 격리소로 옮겨 둡니다. 그리고 그 사실을 보호 기록에 남깁니다. 여기에 프로그램 이름이나 실행 파일 경로가 보인다면 원인이 확정된 것이므로 추측을 멈추고 복원으로 넘어가면 됩니다.

1보호 기록에서 차단된 항목을 찾는다

Win + I → 개인 정보 및 보안 → Windows 보안 → "Windows 보안 열기" → 바이러스 및 위협 방지 → 보호 기록입니다. 목록에서 문제 프로그램의 파일 이름이나 설치 경로가 보이는 항목을 클릭해 펼칩니다.

2작업 드롭다운에서 복원 또는 허용을 고른다

항목을 펼치면 "작업" 드롭다운이 있습니다. 여기서 복원(격리된 파일을 원위치로) 또는 디바이스에서 허용을 선택합니다. 복원하면 파일이 원래 폴더로 돌아옵니다.

3복원했으면 실행하기 전에 원인 B로 이어서 간다

복원만 하고 끝내면 다음 검사에서 같은 판정이 다시 내려집니다. 판정 규칙은 그대로이기 때문입니다. 제외 등록까지 마친 뒤에 실행하는 것이 결과적으로 빠릅니다.

이 방법이 안 통하는 경우

보호 기록 목록이 비어 있거나 관련 항목이 전혀 없다면 Windows 보안이 막은 것이 아닙니다. 다른 백신을 함께 쓰고 있는지 확인하고 원인 D로 넘어가세요. 복원 항목이 회색으로 잠겨 있다면 조직 정책으로 관리되는 PC일 수 있습니다.

원인 B복원해도 곧바로 다시 잡힌다

복원은 되돌리기일 뿐입니다. 판정 자체를 바꾸는 건 제외 등록입니다.

Microsoft 문서는 제외를 "검사에서 특정 파일·폴더·프로세스를 빼는 설정"으로 설명합니다. 그래서 제외를 걸어 두면 같은 파일이 다시 판정 대상이 되지 않습니다. 반대로 제외 없이 복원만 반복하면 검사 주기마다 같은 일이 되풀이됩니다.

1제외 화면까지 들어간다

Win + I → 개인 정보 및 보안 → Windows 보안 → "Windows 보안 열기" → 바이러스 및 위협 방지 → "바이러스 및 위협 방지 설정" 아래 설정 관리 → 아래로 스크롤해 제외 항목의 "제외 추가 또는 제거"입니다.

2파일이 아니라 설치 폴더를 등록한다

"제외 사항 추가"에서 폴더를 고르고 프로그램이 설치된 폴더를 지정합니다. 실행 파일 하나만 등록하면 그 프로그램이 함께 쓰는 다른 파일이 다시 걸려 증상이 반복됩니다. 프로그램이 별도 데이터 폴더를 쓴다면 그 폴더도 함께 등록합니다.

3등록한 뒤 다시 복원하고 실행한다

제외를 먼저 걸고 나서 원인 A의 복원을 한 번 더 하면, 되살아난 파일이 즉시 다시 격리되는 상황을 피할 수 있습니다. 순서가 뒤바뀌면 복원 → 격리를 오가며 시간만 씁니다.

제외 범위는 좁게 잡습니다

제외한 폴더는 검사에서 빠집니다. 그래서 다운로드 폴더나 드라이브 전체, 바탕화면처럼 아무 파일이나 들어오는 위치를 제외로 잡으면 안 됩니다. 등록은 문제가 된 프로그램의 설치 폴더까지만 하고, 프로그램을 지운 뒤에는 제외 항목도 함께 지우는 편이 깔끔합니다.

이 방법이 안 통하는 경우

제외까지 등록했는데 실행하면 0xc0000906이 아닌 다른 메시지(파일을 찾을 수 없음, dll 없음 등)로 바뀐다면 격리 과정에서 파일이 이미 빠진 상태입니다. 원인 C로 넘어가 재설치로 파일을 채워야 합니다.

원인 C격리 과정에서 파일 일부가 이미 없어졌다

복원 목록에 다 있지 않을 수 있습니다. 이때는 채워 넣어야 합니다.

0xC0000907(STATUS_VIRUS_DELETED)의 정의가 말해 주듯, 판정에 따라 파일이 그 위치에서 제거되는 경우가 있습니다. 여러 파일이 한꺼번에 걸린 경우 일부만 복원되기도 합니다. 이런 상태에서는 복원과 제외만으로 프로그램이 온전해지지 않습니다.

1제외 등록을 유지한 채 프로그램을 제거한다

설정 → 앱 → 설치된 앱에서 해당 프로그램을 제거합니다. 제외 항목은 지우지 않고 그대로 둡니다. 다음 단계에서 새 파일이 들어올 때 다시 걸리지 않게 하려는 것입니다.

2공식 출처에서 다시 받아 같은 경로에 설치한다

제조사 공식 사이트나 스토어에서 설치 파일을 새로 받아, 제외로 등록해 둔 그 경로에 설치합니다. 경로가 달라지면 제외가 적용되지 않으니 설치 위치를 확인하세요.

3인터넷에서 받은 파일이면 차단 표시를 푼다

내려받은 실행 파일이나 압축 파일을 우클릭 → 속성으로 열면 "일반" 탭 아래쪽에 보안: 이 파일은 다른 컴퓨터에서 전송되었습니다라는 문구와 차단 해제 체크박스가 있을 때가 있습니다. 체크하고 적용하면 실행 단계의 추가 확인이 사라집니다.

이 방법이 안 통하는 경우

새로 설치했는데 설치가 끝나기도 전에 다시 차단된다면, 검사하는 주체가 Windows 보안이 아닐 가능성이 큽니다. 원인 D에서 다른 백신과 SmartScreen을 확인하세요.

원인 D다른 백신·SmartScreen·조직 정책이 막는다

보호 기록이 비어 있었다면 여기서 답이 나옵니다.

서드파티 백신을 설치하면 그 제품이 실시간 검사를 맡습니다. 이때 차단 기록은 Windows 보안이 아니라 그 제품의 격리함·차단 로그에 남습니다. 보호 기록이 비어 있는데도 실행이 막힌다면 그 제품의 화면을 열어 같은 흐름(격리 확인 → 복원 → 예외 등록)을 그대로 적용하면 됩니다.

백신과 별개로 SmartScreen이 관여하는 경우도 있습니다. 서명이 없거나 배포 이력이 적은 프로그램은 "알 수 없는 게시자"로 분류되어 실행 단계에서 한 번 더 막힙니다. 상태는 Win + I → 개인 정보 및 보안 → Windows 보안 → "Windows 보안 열기" → 앱 및 브라우저 제어 → "평판 기반 보호 설정"에서 확인합니다.

1백신을 하나만 남긴다

실시간 검사를 하는 제품이 둘 이상이면 서로의 파일 접근을 방해해 어느 쪽이 막았는지도 알기 어려워집니다. 쓰지 않는 제품은 제거하고, 남긴 제품에서 예외를 등록합니다.

2제조사에 오탐 신고를 함께 넣는다

예외 등록은 내 PC에서만 유효합니다. 정식 프로그램인데 계속 걸린다면 백신 제조사의 오탐 신고 창구에 파일을 제출해 두면 다음 정의 업데이트에서 판정이 바뀌는 경우가 있습니다. 근본 해결은 이쪽입니다.

이 방법이 안 통하는 경우

설정 항목이 회색으로 잠겨 있고 "조직에서 관리함" 같은 문구가 보인다면 개인이 바꿀 수 있는 영역이 아닙니다. 임의 우회를 시도하지 말고 프로그램 이름과 설치 경로를 정리해 관리 담당자에게 허용을 요청하세요.

같이 나오는 오류입니다 "Windows에서 PC를 보호했습니다" 오류 해결법 - SmartScreen 경고 완벽 정리 파란 창으로 실행이 막힌다면 백신이 아니라 SmartScreen 쪽입니다 · 눌러서 확인하기 →

무엇이 막고 있는지 정확히 확인하는 법

화면을 눌러 보는 대신 격리 목록과 로그로 확정합니다.

Windows 보안 화면에서 항목을 찾기 어려울 때는 명령줄 도구를 쓰면 더 확실합니다. Microsoft 문서는 Defender 관리용 도구로 MpCmdRun.exe를 안내하고, 이 도구는 관리자 권한 명령 프롬프트에서 실행해야 한다고 명시합니다.

1격리된 항목 전체를 목록으로 뽑는다

"%ProgramFiles%\Windows Defender\MpCmdRun.exe" -Restore -ListAll

시작 버튼 우클릭 → "터미널(관리자)"에서 실행합니다. 격리된 항목의 위협 이름과 파일 경로가 나열됩니다. 여기에 내 프로그램이 있으면 원인이 확정된 것입니다.

2경로를 지정해 그 항목만 복원한다

"%ProgramFiles%\Windows Defender\MpCmdRun.exe" -Restore -FilePath "복원할 파일의 전체 경로"

문서가 제공하는 복원 옵션은 -ListAll(목록), -Name(위협 이름 기준), -FilePath(파일 경로 기준)입니다. 필요한 항목만 골라 되살리는 편이 안전하며, 격리소 전체를 한 번에 되살리는 방식은 권하지 않습니다.

3이벤트 뷰어에서 실행 실패 기록을 확인한다

eventvwr.msc

Win + R로 실행한 뒤 Windows 로그 → 응용 프로그램을 열고 오류 항목을 봅니다. 하단 "일반" 탭의 오류 모듈 이름과 예외 코드가 단서입니다. 예외 코드가 0xc0000906이 아니라 다른 값이라면, 이미 다른 원인으로 넘어간 것이므로 그 코드에 맞춰 다시 봐야 합니다.

4여러 프로그램이 동시에 막힐 때만 시스템 파일을 본다

sfc /scannow

한 프로그램만 막히는 상황에서는 이 검사가 원인을 바꾸지 못합니다. 여러 프로그램이 서로 다른 코드로 함께 실패할 때만 실행하고, 손상이 보고되면 DISM /Online /Cleanup-Image /RestoreHealth까지 이어서 진행합니다.

실시간 보호를 끄는 것은 마지막 수단입니다

"실시간 보호를 끄고 설치하라"는 안내를 자주 보게 되지만, 위 순서대로 제외를 먼저 등록하면 보호를 켠 채로 설치가 끝나는 경우가 대부분입니다. 그래도 설치 관리자가 중간에 멈춘다면 잠깐만 끄고, 끈 동안에는 다른 다운로드나 웹서핑을 하지 않으며, 설치가 끝나는 즉시 다시 켭니다.

자주 묻는 질문

이 오류에서 자주 갈리는 지점만 모았습니다.

Q.제외를 등록하면 진짜 악성코드도 못 막는 것 아닌가요?

A.제외한 그 경로만 검사에서 빠지고 나머지는 그대로 보호됩니다. 그래서 등록 범위를 프로그램 설치 폴더까지로 좁게 잡는 것이 중요합니다. 출처를 모르는 파일이라면 제외로 강행하지 말고, 그 판정이 맞을 가능성을 먼저 의심하는 편이 안전합니다.

Q.어제까지 잘 되던 프로그램이 왜 갑자기 걸리나요?

A.파일이 변한 게 아니라 판정 기준(보안 인텔리전스 정의)이 갱신됐기 때문입니다. 새 규칙에 프로그램의 동작 패턴이 걸리면 어제까지 통과하던 파일도 오늘 잡힙니다. 자체 압축을 푸는 방식의 오래된 프로그램이나 디지털 서명이 없는 도구가 특히 이런 일을 자주 겪습니다.

Q.다른 PC에서는 같은 파일이 잘 실행됩니다. 그럼 제 PC가 고장 난 건가요?

A.아닙니다. 오히려 파일 문제가 아니라는 근거입니다. 두 PC의 백신 제품, 정의 버전, 제외 설정, SmartScreen 상태가 다르면 결과가 갈립니다. 이 확인이 끝났다면 다운로드를 반복하지 말고 곧장 보호 기록 확인으로 넘어가면 됩니다.

Q.Visual C++ 재배포 패키지를 다시 깔면 해결된다는 글도 있던데요.

A.런타임이 없거나 손상된 경우에 나오는 코드는 따로 있습니다. 0xc0000906의 정의는 파일에 바이러스가 있어 작업이 완료되지 않았다이므로 런타임 재설치로 판정이 바뀌지는 않습니다. 다만 원인 C처럼 격리로 파일이 빠진 뒤 다른 코드로 바뀐 상황이라면 그때는 런타임 점검이 의미가 있습니다.

Q.복원했는데 다음 날 또 격리됩니다.

A.제외를 등록하지 않았거나, 실행 파일 하나만 등록했을 가능성이 큽니다. 설치 폴더 전체를 제외에 넣고, 프로그램이 별도 데이터 폴더를 쓴다면 그 폴더도 함께 등록하세요. 그래도 반복되면 검사 주체가 다른 제품일 수 있으니 원인 D를 확인합니다.

함께 보면 좋은 글

프로그램이 실행되지 않을 때 함께 확인하는 코드들입니다.

윈도우 0xc0000022 오류 해결법 - 프로그램 실행 안 될 때 액세스 거부 해결하기 차단이 아니라 권한 문제로 막힐 때 나오는 코드입니다 · 눌러서 확인하기 → 프로그램 실행하다 0xc0000005 오류 떴다면? 저는 이 순서로 해결했습니다 (액세스 위반 오류 완전정리) 실행은 되는데 곧바로 죽는다면 이쪽 코드를 확인합니다 · 눌러서 확인하기 → 0xc0000135 오류 해결법 – 응용 프로그램을 시작하지 못했습니다 완벽 정리 격리로 파일이 빠진 뒤 런타임 오류로 바뀌었을 때 함께 봅니다 · 눌러서 확인하기 →
확인 환경 · 윈도우 11 24H2 / 윈도우 10 22H2 기준, 2026년 8월 확인
참고 문서 · Microsoft Learn — NTSTATUS Values / Microsoft Learn — Microsoft Defender 바이러스 백신 검사 제외 구성 / Microsoft Learn — MpCmdRun 명령줄 도구

광고자리 · 글 아래