이 글을 3줄로 요약하면
· 코드 10은 드라이버 스택 중 하나가 장치 시작 요청(IRP_MN_START_DEVICE)에 실패했을 때 붙는 번호입니다.
· 실제 원인은 네 갈래로 나뉘고, 어느 갈래인지에 따라 손대야 할 곳이 완전히 달라집니다.
· 아래 판별표에서 자기 증상을 먼저 찾고, 지목된 원인 항목만 보면 됩니다. 위에서부터 다 해볼 필요는 없습니다.
목차
코드 10은 정확히 무슨 뜻인가
"드라이버를 업그레이드해 보세요"라는 안내 문구가 원인을 가리는 이유부터 짚습니다.
코드 10의 내부 이름은 CM_PROB_FAILED_START입니다. 윈도우가 장치를 켜기 위해 드라이버 스택에 시작 요청(IRP_MN_START_DEVICE)을 보냈는데, 그 스택에 있는 드라이버 중 하나가 실패를 돌려줬다는 뜻입니다.
여기서 중요한 건 실패한 드라이버가 하나가 아닐 수 있다는 점입니다. 하나의 장치에는 버스 드라이버, 필터 드라이버, 기능 드라이버가 층층이 쌓여 있어서, 어느 층에서 막혔는지는 코드 10이라는 숫자만 봐서는 알 수 없습니다.
장치 하드웨어 키에 FailReasonString 값이 들어 있으면 그 문구가 대신 표시되고, 없으면 "이 장치를 시작할 수 없습니다. 이 장치의 드라이버를 업그레이드해 보세요. (코드 10)"라는 범용 문구가 나옵니다. 즉 "드라이버를 업그레이드하라"는 안내는 진단 결과가 아니라 기본값 문구입니다. 이 문장만 믿고 드라이버 업데이트만 반복하면 다른 원인일 때 계속 헛돌게 됩니다.
확인은 다음 순서로 합니다. 실행 창에서 devmgmt.msc로 장치관리자를 연 뒤, 노란 느낌표가 붙은 장치를 우클릭해 속성을 열고 일반 탭의 "장치 상태" 칸을 봅니다. USB 장치(웹캠·캡처보드·마이크·블루투스 동글), 네트워크 어댑터, 사운드 카드, 그래픽 카드에서 특히 자주 나타납니다.
증상으로 원인 좁히기
언제부터, 어떤 장치에서 떴는지에 따라 봐야 할 항목이 갈립니다.
| 증상 | 유력한 원인 | 먼저 볼 항목 |
|---|---|---|
| 처음 연결한 장치가 바로 코드 10 | 호환되지 않는 드라이버가 자동 설치됨 | 원인 A → 제조사 드라이버로 교체 |
| 어제까지 되던 장치가 윈도우 업데이트 후부터 | 드라이버 버전 교체로 인한 충돌 | 원인 B → 롤백 |
| 드라이버를 지우고 다시 깔아도 그대로 | 필터 레지스트리 값이 깨진 상태 | 원인 C → UpperFilters·LowerFilters |
| 절전·최대 절전에서 복귀하면 재발 | USB 선택적 절전 모드 | 원인 D → 전원 관리 |
| 특정 포트에서만 뜨고 다른 포트는 정상 | 포트·케이블 접촉 또는 대역폭 부족 | 원인 D → 포트 교체 |
| 노트북 내장 카메라·사운드에서만 | BIOS/UEFI에서 장치가 비활성 | 7번 항목 → 하드웨어 ID로 확인 |
원인 A드라이버가 장치를 초기화하지 못함
새로 연결한 장치이거나, 윈도우가 대신 골라 넣은 범용 드라이버가 들어가 있을 때 해당합니다.
윈도우는 장치를 인식하면 자기가 가진 목록에서 가장 비슷한 드라이버를 골라 넣습니다. 이 자동 선택이 실제 칩셋과 어긋나면 장치는 인식되지만 시작에서 실패합니다.
1드라이버 자동 검색을 한 번 돌린다
장치관리자에서 해당 장치 우클릭 → "드라이버 업데이트" → "드라이버 자동 검색". 여기서 해결되면 아래 단계는 필요 없습니다.
2드라이버 소프트웨어까지 지우고 재검색한다
장치 우클릭 → "디바이스 제거" → "이 디바이스의 드라이버 소프트웨어 제거" 체크박스가 있으면 함께 체크 → 제거. 그다음 상단 "동작" 메뉴 → "하드웨어 변경 사항 검색". 체크박스를 놓치면 같은 드라이버가 그대로 다시 올라옵니다.
3제조사 공식 드라이버를 직접 넣는다
그래픽카드는 NVIDIA·AMD 공식 드라이버 페이지에서 제품 시리즈와 운영체제(윈도우 10/11)를 골라 받습니다. USB 장치·캡처보드·사운드카드·프린터는 제품 본체나 박스에 적힌 모델명으로 제조사 지원 페이지를 검색합니다.
"가장 최신 드라이버가 설치되어 있습니다"는 최신이라는 뜻이 아닙니다
윈도우 자동 검색은 마이크로소프트가 배포하는 목록 안에서만 찾습니다. 제조사 사이트에 더 새로운 버전이 있어도 이 문구가 그대로 나옵니다. 이 메시지를 봤다고 해서 원인 A를 지나치면 안 됩니다.
이 방법이 안 통하는 경우
제조사 드라이버를 새로 설치했는데도 설치 직후부터 다시 코드 10이 뜬다면, 드라이버 파일 문제가 아니라 그 위에 얹힌 필터가 실패하고 있는 것입니다. 원인 C로 넘어가세요.
원인 B업데이트 직후부터 시작된 경우
"어제까지 멀쩡했다"면 최신 버전을 더 찾는 것보다 되돌리는 쪽이 빠릅니다.
윈도우 업데이트는 누적 업데이트와 함께 드라이버도 교체합니다. 새 버전이 그 하드웨어 리비전과 맞지 않으면, 어제까지 정상이던 장치가 다음 부팅부터 코드 10을 띄웁니다.
1드라이버 탭에서 이전 버전으로 되돌린다
장치 우클릭 → "속성" → 상단 "드라이버" 탭 → "이전 드라이버" 버튼 클릭 → 사유 선택 후 확인 → 재부팅합니다.
2되돌린 버전이 다시 덮이지 않게 한다
롤백만 하면 다음 업데이트에서 같은 드라이버가 또 올라옵니다. 제조사 드라이버를 수동으로 다시 설치해 버전을 고정해 두는 편이 안전합니다.
"이전 드라이버" 버튼이 회색이면 이 원인이 아닙니다
되돌릴 이전 버전이 저장돼 있을 때만 활성화됩니다. 회색이라면 이 장치의 드라이버는 최근에 교체된 적이 없다는 뜻이므로, 업데이트 충돌 가설 자체를 접고 다른 원인으로 넘어가는 게 맞습니다.
이 방법이 안 통하는 경우
롤백 후에도 그대로이거나 버튼이 비활성이라면 원인 C(필터 레지스트리)와 원인 D(전원 관리)를 차례로 확인하세요.
원인 C상위·하위 필터 레지스트리 손상
드라이버를 지우고 다시 깔아도 똑같다면 거의 여기입니다.
장치 클래스에는 UpperFilters와 LowerFilters라는 값이 있습니다. 실제 드라이버 위아래에 끼어드는 보조 드라이버 목록인데, 가상 드라이브 프로그램이나 백신, 오래된 굽기 프로그램이 여기에 자기 이름을 남겨두고 사라지는 일이 있습니다.
이름만 남고 파일이 없으면 윈도우는 그 필터를 로드하려다 실패하고, 결과적으로 시작 요청이 실패해 코드 10이 뜹니다. 장치 드라이버 자체는 멀쩡하니 재설치로는 절대 고쳐지지 않는 유형입니다.
1먼저 복원 지점을 만든다
레지스트리를 건드리기 전 rstrui로 복원 지점이 있는지 확인하거나, 해당 키에서 "내보내기"로 백업 파일을 저장해 둡니다.
2장치 클래스 GUID를 확인한다
장치 속성 → "자세히" 탭 → 속성 드롭다운에서 "클래스 Guid"를 선택하면 중괄호로 감싼 값이 나옵니다. 이 값을 그대로 메모합니다.
3해당 클래스 키에서 필터 값을 확인한다
이 경로 안에 UpperFilters 또는 LowerFilters가 있으면 그 값에 적힌 이름을 확인합니다. 지운 프로그램의 흔적이라면 해당 값을 삭제한 뒤 재부팅합니다. 두 값이 아예 없는 것이 정상인 클래스도 많습니다.
검색에 나오는 "무조건 삭제"는 따라 하지 마세요
클래스에 따라 필터 값이 정상적으로 필요한 경우가 있습니다. 값 안의 이름을 읽어보고, 자기가 지운 적 있는 프로그램 이름일 때만 지우는 것이 안전합니다. 확신이 없으면 이 항목은 건너뛰고 원인 D부터 확인하세요.
이 방법이 안 통하는 경우
필터 값이 처음부터 없었다면 이 원인이 아닙니다. 장치가 USB로 연결돼 있다면 원인 D로, 내장 장치라면 7번 항목의 하드웨어 ID 확인으로 넘어가세요.
원인 DUSB 전원 관리와 포트 문제
절전 복귀 후에만 재발하거나, 특정 포트에서만 뜬다면 이 갈래입니다.
윈도우는 전력을 아끼려고 유휴 상태의 USB 포트 전원을 내립니다. 이때 장치가 다시 깨어나지 못하면 다음 접근에서 시작 실패로 처리되고 코드 10이 붙습니다. 절전이나 최대 절전에서 돌아올 때만 증상이 나온다면 거의 이 경우입니다.
1USB 루트 허브의 전원 관리를 끈다
장치관리자에서 "범용 직렬 버스 컨트롤러"를 펼치고, "USB 루트 허브" 항목마다 우클릭 → 속성 → "전원 관리" 탭 → "전원을 절약하기 위해 컴퓨터가 이 장치를 끌 수 있음" 체크를 해제합니다. 항목이 여러 개면 전부 반복합니다.
2전원 옵션의 USB 선택적 절전 모드를 끈다
장치관리자 설정은 장치 단위, 전원 옵션 설정은 시스템 단위입니다. 둘 다 꺼야 절전 복귀 재발이 멈춥니다. 노트북은 배터리 사용 시와 전원 연결 시 값이 따로 있으니 두 항목 모두 확인합니다.
3포트를 바꿔 꽂아 범위를 좁힌다
본체 전면 포트나 USB 허브를 거치고 있다면 메인보드 후면 포트에 직접 꽂아 봅니다. 후면에서 정상이면 장치가 아니라 전면 포트·허브의 전력 공급 문제입니다. 케이블도 다른 것으로 바꿔 한 번 더 확인합니다.
이 방법이 안 통하는 경우
전원 관리를 모두 끄고 후면 포트에 직접 꽂아도 그대로라면 전원 문제가 아닙니다. 같은 장치를 다른 PC에 꽂아 보세요. 다른 PC에서도 코드 10이면 장치 자체의 고장 쪽에 무게가 실립니다.
어느 단계에서 막혔는지 정확히 찾아내는 법
추측으로 방법을 늘리는 대신, 윈도우가 이미 기록해 둔 값을 읽습니다.
마이크로소프트 문서는 코드 10을 만났을 때 장치의 DEVPKEY_Device_ProblemStatus 속성을 확인하라고 안내합니다. 시작 요청이 돌려준 실제 실패 코드가 이 속성에 담기기 때문입니다. 장치관리자에서도 같은 정보를 볼 수 있습니다.
1하드웨어 ID로 장치의 정체부터 확정한다
장치 속성 → "자세히" 탭 → 속성 드롭다운에서 "하드웨어 ID" 선택. VEN_과 DEV_ 뒤의 값이 제조사와 모델 번호입니다. 이 값으로 검색하면 "알 수 없는 장치"라도 정확한 제조사 드라이버를 찾을 수 있습니다.
2같은 자세히 탭에서 문제 상태 값을 읽는다
속성 드롭다운을 아래로 내려 "장치 문제 상태" 항목을 선택하면 STATUS_로 시작하는 값이 나옵니다. 이 문자열이 곧 실패한 층의 신호이며, 그대로 검색하면 범용 코드 10 문구보다 훨씬 구체적인 원인에 닿습니다.
3내장 장치라면 목록에 있는지부터 본다
노트북 내장 카메라·사운드처럼 BIOS/UEFI에서 끌 수 있는 장치는, 비활성 상태면 코드 10과 비슷한 증상으로 보입니다. 하드웨어 ID 자체가 조회되지 않는다면 드라이버가 아니라 펌웨어 설정을 봐야 합니다.
시스템 파일 손상은 마지막에 의심합니다
한 장치만 코드 10이라면 시스템 파일 문제일 가능성은 낮습니다. 여러 종류의 장치에서 동시에 뜰 때만 sfc /scannow와 DISM /Online /Cleanup-Image /RestoreHealth를 순서대로 돌려볼 가치가 있습니다.
자주 묻는 질문
판별 과정에서 자주 막히는 지점들입니다.
Q.재부팅만으로 없어지기도 하는데, 그러면 해결된 건가요?
A.드라이버 로드 순서가 꼬였다 풀린 것이라 증상만 사라진 상태입니다. 재부팅으로 사라졌다가 다시 뜨는 패턴이 반복된다면 원인 D의 전원 관리 항목부터 확인하는 편이 낫습니다.
Q.그래픽카드에 코드 10이 뜨면 게임은 아예 못 하나요?
A.코드 10 상태에서는 장치가 초기화되지 않아 그 장치 기능을 쓸 수 없습니다. 내장 그래픽이 함께 있는 시스템이면 화면 자체는 나오지만 성능은 내장 기준으로 떨어집니다.
Q.드라이버를 지우고 재검색해도 같은 드라이버가 다시 올라옵니다.
A.제거할 때 "이 디바이스의 드라이버 소프트웨어 제거" 체크를 하지 않으면 드라이버 저장소에 남은 파일이 그대로 재설치됩니다. 체크한 뒤 제거하고, 제조사 설치 파일을 먼저 준비해 두는 순서가 안전합니다.
Q.여러 USB 장치에서 동시에 코드 10이 뜹니다.
A.개별 장치가 아니라 USB 컨트롤러 쪽을 봐야 합니다. 장치관리자에서 "범용 직렬 버스 컨트롤러" 항목의 호스트 컨트롤러 드라이버를 제거 후 재부팅하면 윈도우가 다시 구성합니다. 칩셋 드라이버 재설치도 함께 고려하세요.
Q.sfc /scannow는 얼마나 걸리나요?
A.사양과 디스크 상태에 따라 다르지만 대체로 5~15분입니다. 진행률이 한동안 멈춘 것처럼 보여도 정상이니 중간에 창을 닫지 마세요.
함께 보면 좋은 글
같은 장치관리자 오류 코드를 다룬 글입니다.
장치관리자 코드 28 오류 — 드라이버가 설치되어 있지 않습니다 코드 10과 달리 드라이버 자체가 없는 상태일 때 뜹니다 · 눌러서 확인하기 → 장치 관리자 코드 31 오류 — 이 장치가 제대로 작동하지 않습니다 필터 레지스트리가 원인일 때 코드 31로 나타나는 경우를 정리했습니다 · 눌러서 확인하기 → "USB 장치를 인식하지 못했습니다" 오류 해결 순서 장치관리자 목록에 아예 뜨지 않을 때는 이쪽입니다 · 눌러서 확인하기 →참고 문서 · CM_PROB_FAILED_START (Microsoft Learn)





