블루스크린

DLL·런타임 오류

드라이버 문제

게임 오류

윈도우 오류

프로그램 오류

광고자리 · 글 위

윈도우 업데이트 0x80073712 오류 원인 4가지와 증상별 해결 순서 (구성 요소 저장소 손상, 윈도우 11·10)

이 글을 3줄로 요약하면

· 0x80073712는 업데이트 파일을 못 받은 게 아니라, 교체할 원본이 보관된 저장소가 깨졌다는 뜻입니다.

· 그래서 업데이트를 다시 눌러도 같은 지점에서 반복해 실패합니다. 저장소를 먼저 고쳐야 합니다.

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

0x80073712는 정확히 무슨 뜻인가

"못 받았다"가 아니라 "받은 걸 넣을 자리가 깨졌다"입니다. 이 차이가 해결 순서를 바꿉니다.

이 코드의 내부 이름은 ERROR_SXS_COMPONENT_STORE_CORRUPT이고, 그대로 옮기면 "구성 요소 저장소가 손상되었습니다"입니다. 설정 화면에는 "업데이트를 설치하지 못했습니다"라고만 뜨고 코드가 옆에 붙는 형태로 나옵니다.

여기서 말하는 구성 요소 저장소는 C:\Windows\WinSxS 폴더입니다. 윈도우는 시스템 파일의 원본과 버전별 이력을 이 안에 보관하고, 업데이트할 때 여기 있는 원본을 기준으로 파일을 갈아 끼웁니다. 그 원본이나 목록(매니페스트)이 깨지면 윈도우는 무엇을 무엇으로 바꿔야 할지 판단하지 못해 설치를 중단합니다.

그래서 이 오류는 회선이나 하드웨어 고장 신호가 아닙니다. 다운로드는 이미 끝났고, 설치 직전에 자기 검증에서 걸린 상태입니다. 할 일은 하나로 모입니다. 저장소를 정상으로 되돌린 다음 업데이트를 다시 돌리는 것.

같은 업데이트를 다시 누르는 것은 해결이 아닙니다

저장소가 깨진 상태에서는 몇 번을 재시도해도 같은 지점에서 같은 코드로 끝납니다. 문제 해결사도 대개 "일부 문제를 해결하지 못했습니다"로 마칩니다. 재시도 횟수를 늘리는 대신 아래 순서로 저장소부터 손봐야 합니다.

저장소가 깨지는 계기는 대개 정해져 있습니다. 업데이트 도중 강제 종료나 정전, 디스크 불량 섹터, 보안 프로그램이 교체 중인 파일을 잡은 경우, 그리고 디스크 여유 공간 부족으로 쓰기가 중간에 끊긴 경우입니다. 윈도우 10과 11 모두 증상과 처리 순서는 같습니다.

증상으로 원인 좁히기

특정 업데이트만 그런지, 전부 그런지가 갈래를 정합니다.

증상 유력한 원인 먼저 볼 항목
어떤 업데이트를 걸어도 같은 코드로 끝난다 구성 요소 저장소 손상 원인 A → DISM 복구
DISM은 정상이라는데 업데이트는 계속 실패한다 시스템 파일이 저장소와 불일치 원인 B → sfc 검사
특정 KB 하나만 반복해서 실패로 기록된다 그 업데이트 캐시만 깨짐 원인 C → 캐시 초기화
DISM 복구가 진행되다 오류 코드를 내며 중단된다 원본을 못 받거나 접근이 막힘 원인 D → 차단 요인 제거
C 드라이브 여유 공간이 얼마 남지 않았다 복구·설치에 쓸 공간 부족 원인 D → 공간 확보 먼저
최근 강제 종료·정전 이후부터 시작됐다 쓰기 중단으로 저장소 파손 원인 A → 그다음 원인 B

순서가 반대면 헛돕니다

sfc는 구성 요소 저장소에 있는 원본을 꺼내 손상된 시스템 파일을 교체합니다. 그 저장소가 깨진 상태에서 sfc부터 돌리면 "복구할 수 없습니다"로 끝납니다. 반드시 DISM(원인 A)을 먼저, sfc(원인 B)를 나중에 돌립니다.

원인 A구성 요소 저장소(WinSxS)가 손상됐다

코드가 가리키는 그 지점입니다. 어느 갈래든 여기서 시작합니다.

저장소를 다루는 공식 도구가 DISM입니다. 세 단계로 나뉘어 있고, 셋은 하는 일이 다릅니다. 처음부터 복구 명령만 던지면 시간이 오래 걸리므로 순서대로 확인하는 편이 낫습니다.

1이미 기록된 손상 표시가 있는지 본다

DISM /Online /Cleanup-Image /CheckHealth

시작 버튼 우클릭 → "터미널(관리자)"에서 실행합니다. 이 명령은 검사하지 않고 앞서 다른 작업이 남겨 둔 손상 표시만 읽습니다. 그래서 몇 초 만에 끝나고, "손상이 검색되지 않았습니다"가 나와도 손상이 없다는 증명은 되지 않습니다.

2실제로 검사한다

DISM /Online /Cleanup-Image /ScanHealth

저장소 전체를 훑어 손상 여부를 판정합니다. 몇 분에서 십여 분 걸립니다. 결과에 "구성 요소 저장소가 복구 가능합니다"가 나오면 3번으로, 손상이 없다고 나오면 이 갈래가 아니므로 원인 B로 넘어갑니다.

3정상 원본을 받아 교체한다

DISM /Online /Cleanup-Image /RestoreHealth

깨진 파일을 대체할 정상 원본을 Windows Update에서 내려받아 저장소를 복구합니다. 진행률이 20% 부근에서 한참 멈춘 것처럼 보이는 구간이 있는데 정상입니다. 창을 닫지 말고 "작업을 완료했습니다"가 나올 때까지 둡니다.

복구가 끝나면 반드시 재부팅한 뒤 업데이트를 겁니다

저장소 교체는 재부팅 시점에 마무리되는 항목이 있습니다. 복구 직후 곧바로 업데이트를 돌리면 아직 정리되지 않은 상태에서 다시 실패할 수 있습니다. 재부팅 → sfc(원인 B) → 업데이트 순서가 안전합니다.

이 방법이 안 통하는 경우

RestoreHealth가 "원본 파일을 찾을 수 없습니다"나 다른 오류 코드로 중단되면 저장소가 아니라 원본을 가져오는 경로가 막힌 것입니다. 원인 D로 가서 차단 요인을 먼저 걷어낸 뒤 다시 실행합니다.

원인 B시스템 파일이 저장소와 어긋났다

저장소는 멀쩡한데 실제 시스템 파일이 바뀌어 있는 경우입니다.

DISM이 저장소 자체를 고치는 도구라면, sfc는 그 저장소를 기준으로 실제 시스템 파일을 대조해 교체하는 도구입니다. 업데이트는 두 쪽이 다 맞아야 진행되므로, 저장소를 고친 뒤 시스템 파일도 한 번 맞춰 줘야 합니다.

1시스템 파일 검사기를 돌린다

sfc /scannow

같은 관리자 터미널에서 실행하고 "확인 100% 완료"까지 기다립니다. 보통 5~15분 걸립니다. 검사 중에는 창을 닫지 않습니다.

2결과 문장을 세 가지로 나눠 읽는다

"위반 사항을 찾지 못했습니다"면 시스템 파일은 정상입니다. "손상된 파일을 찾았고 복구했습니다"면 재부팅 후 업데이트를 다시 겁니다. "찾았지만 복구할 수 없습니다"면 저장소가 아직 정상이 아니라는 뜻이므로 원인 A의 RestoreHealth를 다시 돌린 뒤 sfc를 한 번 더 실행합니다.

sfc를 두세 번 반복해서 돌리는 것으로 시간을 쓰지 않습니다

같은 결과가 두 번 나왔다면 세 번째도 같습니다. "복구할 수 없습니다"가 반복되면 sfc의 문제가 아니라 원본 공급 쪽 문제이므로, 원인 A와 원인 D로 돌아가는 것이 순서입니다.

이 방법이 안 통하는 경우

DISM과 sfc가 모두 정상이라고 나오는데 업데이트만 계속 실패한다면 저장소가 아니라 그 업데이트를 받아 둔 캐시가 깨진 것입니다. 원인 C로 갑니다.

원인 C업데이트 캐시가 꼬였다

특정 KB 하나만 반복해 실패로 기록될 때 효과가 큽니다.

윈도우는 받아 둔 업데이트 파일을 C:\Windows\SoftwareDistribution에, 그 파일들의 서명 정보를 C:\Windows\System32\catroot2에 보관합니다. 중간에 다운로드가 끊기면 이 두 곳의 내용이 서로 어긋난 채 남고, 윈도우는 그 상태를 계속 재사용하려다 같은 지점에서 실패합니다.

1관련 서비스를 멈춘다

net stop wuauserv net stop cryptSvc net stop bits net stop msiserver

관리자 터미널에서 네 줄을 차례로 실행합니다. 서비스가 살아 있으면 다음 단계에서 "폴더를 사용 중"이라며 이름 변경이 거부됩니다.

2두 폴더를 지우지 말고 이름만 바꾼다

ren C:\Windows\SoftwareDistribution SoftwareDistribution.old ren C:\Windows\System32\catroot2 catroot2.old

삭제 대신 이름 변경을 쓰면 문제가 생겼을 때 되돌릴 수 있습니다. 탐색기에서 직접 이름을 바꿔도 결과는 같습니다.

3서비스를 다시 시작하고 업데이트를 건다

net start wuauserv net start cryptSvc net start bits net start msiserver

서비스가 올라오면 윈도우가 두 폴더를 새로 만듭니다. 재부팅한 뒤 설정 → Windows 업데이트에서 다시 시도하면 처음부터 새로 내려받습니다. 그래서 첫 확인은 평소보다 오래 걸립니다.

.old 폴더는 정상 확인 후에 지웁니다

업데이트가 정상적으로 끝나는 것을 확인한 다음 SoftwareDistribution.old와 catroot2.old를 지우면 수 기가바이트가 회복되기도 합니다. 확인 전에 미리 지우지 않습니다.

이 방법이 안 통하는 경우

캐시를 새로 만든 뒤에도 같은 코드가 나오거나, 서비스 중지 명령 자체가 거부된다면 다른 요인이 개입하고 있는 것입니다. 원인 D로 갑니다.

원인 D복구 작업 자체가 막혀 있다

DISM이 중간에 오류를 내며 끝난다면 여기부터 걷어내야 합니다.

앞의 세 갈래가 모두 "명령이 정상적으로 끝난다"를 전제로 합니다. 복구 명령이 진행되다 중단된다면 저장소보다 그 작업을 방해하는 요인을 먼저 없애야 합니다. 실무에서 걸리는 것은 대개 셋입니다.

1보안 프로그램이 WinSxS를 붙잡고 있는지 본다

윈도우 보안 → 바이러스 및 위협 방지 → 설정 관리 → 제외에서 C:\Windows\WinSxS를 폴더로, C:\Windows\System32\Dism.exe를 파일로 추가합니다. 타사 백신을 쓰고 있다면 그 백신 쪽에도 같이 등록해야 효과가 있습니다. 확인이 끝나면 제외는 정리하는 편이 좋습니다.

2디스크 여유 공간을 확보한다

복구는 원본을 내려받아 저장소에 쌓는 작업이라 C 드라이브에 넉넉한 여유가 필요합니다. Win + I → 시스템 → 저장소 → 임시 파일에서 이전 설치 파일과 배달 최적화 파일을 정리하면 빠르게 확보됩니다. 여유가 몇 기가바이트 이하로 남아 있으면 복구가 중간에 끊깁니다.

3원본을 인터넷 대신 설치 미디어에서 가져온다

DISM /Online /Cleanup-Image /RestoreHealth /Source:wim:D:\sources\install.wim:1 /LimitAccess

Windows Update에서 원본을 못 받는 환경이면 같은 버전의 설치 ISO를 마운트해 그 안의 파일을 원본으로 지정합니다. D는 마운트된 드라이브 문자로 바꾸고, ISO에 install.wim 대신 install.esd가 들어 있으면 esd:D:\sources\install.esd:1 형식으로 씁니다. /LimitAccess는 인터넷을 쓰지 말라는 뜻입니다.

ISO는 지금 쓰는 버전과 같은 것으로 받습니다

원본 버전이 다르면 DISM이 맞는 파일을 못 찾아 그대로 실패합니다. 현재 버전은 Win + I → 시스템 → 정보의 "Windows 사양"에서 확인하고, 마이크로소프트 공식 다운로드 페이지에서 그 버전에 맞는 미디어를 받습니다.

이 방법이 안 통하는 경우

원본을 미디어로 지정했는데도 복구가 실패하면 손상 범위가 넓은 것입니다. 마지막 수단은 같은 ISO로 "개인 파일과 앱 유지"를 선택한 복구 설치입니다. 시스템 파일만 새로 깔고 문서와 설치된 프로그램은 남습니다. 다만 그 전에 다음 섹션에서 손상이 정말 남아 있는지 로그로 한 번 더 확인합니다.

손상이 실제로 남아 있는지 확인하는 법

"고쳐졌는지 모르겠다"를 없애는 단계입니다. 짐작 대신 기록을 봅니다.

DISM과 sfc는 화면에 한두 줄만 남기고 끝나서, 정말 무엇이 고쳐졌는지 알기 어렵습니다. 실제 내역은 로그에 남습니다. 확인할 곳이 세 군데입니다.

1업데이트 기록에서 실패한 KB를 특정한다

Win + I → Windows 업데이트 → "업데이트 기록"에서 실패로 표시된 항목의 KB 번호와 오류 코드를 확인합니다. 실패가 한 KB에만 몰려 있으면 원인 C, 여러 KB에 걸쳐 있으면 원인 A 쪽입니다. 날짜를 보면 언제부터 시작됐는지도 잡힙니다.

2sfc가 무엇을 고쳤는지 CBS 로그에서 뽑는다

findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log > "%userprofile%\Desktop\sfc.txt"

바탕화면에 만들어진 sfc.txt를 열어 맨 아래부터 읽습니다. "Cannot repair member file"이 남아 있으면 아직 복구되지 않은 파일이 있다는 뜻이므로 원인 A로 돌아갑니다.

3DISM이 어디서 멈췄는지 확인한다

탐색기 주소창에 C:\Windows\Logs\DISM을 넣고 dism.log를 메모장으로 연 뒤 맨 아래를 봅니다. 원본을 받다 끊겼는지, 파일 접근이 거부됐는지가 구분됩니다. 접근 거부 쪽이면 원인 D의 보안 프로그램 항목으로 갑니다.

세 곳을 다 봤는데 손상 흔적이 남아 있지 않고 업데이트도 통과했다면 끝난 것입니다. 확인 뒤에는 원인 D에서 걸어 둔 제외 항목을 정리하고, 원인 C에서 만든 .old 폴더 두 개를 지워 공간을 회수합니다.

같이 나오는 오류입니다 윈도우 업데이트 0x800f0831 오류 해결 방법 (SFC·DISM·업데이트 초기화) 같은 구성 요소 저장소 계열이지만 빠진 패키지를 특정하는 방식이 다릅니다 · 눌러서 확인하기 →

자주 묻는 질문

이 오류에서 반복적으로 나오는 질문을 모았습니다.

Q.DISM 복구가 20%에서 멈춘 것 같은데 계속 기다려야 하나요?

A.네. 이 구간에서 진행률 표시가 오래 정지한 것처럼 보이는 것은 흔한 동작입니다. 회선 속도와 PC 사양에 따라 십여 분에서 삼십 분 이상 걸릴 수 있으니 강제 종료하지 않습니다. 정말 멈춘 것인지 궁금하면 C:\Windows\Logs\DISM\dism.log의 마지막 기록 시각이 계속 갱신되는지 보면 됩니다.

Q.WinSxS 폴더가 너무 큰데 지워도 되나요?

A.지우면 안 됩니다. 안에 든 파일 상당수는 시스템 폴더의 파일과 같은 실체를 가리키는 링크라서 표시 용량만큼 실제 공간을 쓰지도 않습니다. 정리가 필요하면 DISM /Online /Cleanup-Image /StartComponentCleanup을 씁니다. 다만 이 명령은 롤백 지점을 없애므로, 업데이트 문제가 해결된 뒤에 실행합니다.

Q.sfc를 먼저 돌리면 안 되나요?

A.돌려도 되지만 순서를 바꾸면 헛수고가 되기 쉽습니다. sfc는 구성 요소 저장소의 원본을 꺼내 파일을 교체하는 도구라, 저장소가 깨진 상태에서는 "복구할 수 없습니다"로 끝납니다. 0x80073712는 저장소 손상을 가리키는 코드이므로 DISM이 먼저입니다.

Q.복구 설치를 하면 설치된 프로그램도 지워지나요?

A."개인 파일과 앱 유지"를 선택하면 프로그램과 파일 모두 남습니다. 다만 ISO 버전이 현재 설치된 버전과 같거나 더 높아야 이 옵션이 나타납니다. 진행 전에 중요한 파일은 따로 백업해 두는 편이 안전합니다.

Q.윈도우 10에서도 같은 순서로 하면 되나요?

A.네. DISM·sfc·업데이트 캐시 초기화는 윈도우 10과 11에서 동일하게 동작합니다. 설정 화면의 메뉴 위치만 다르고 명령어는 같습니다. 다만 복구 설치용 ISO는 사용 중인 버전에 맞는 것을 받아야 합니다.

함께 보면 좋은 글

같은 업데이트 실패 계열에서 자주 이어지는 오류들입니다.

윈도우 업데이트 0x80070003 오류 원인 4가지와 증상별 해결 순서 (윈도우 10·11) 캐시 폴더 쪽에서 막힐 때의 판별 기준을 더 자세히 다룹니다 · 눌러서 확인하기 → 윈도우11 업데이트 안 될 때, 저는 이 순서로 뚫었습니다 (0x800f0922 오류 완전 정리, 2026년 최신) 시스템 예약 파티션 공간과 연결 문제로 설치가 막히는 경우 · 눌러서 확인하기 → 윈도우 0x80070570 오류, 파일이나 디렉터리가 손상되어 읽을 수 없습니다 해결법 디스크 쪽 손상이 의심될 때 함께 확인할 항목 · 눌러서 확인하기 →
확인 환경 · 윈도우 11 24H2 / 윈도우 10 22H2 기준, 2026년 8월 확인
참고 문서 · Microsoft Learn — Fix Windows Update errors · Repair a Windows Image (DISM)

광고자리 · 글 아래