SFC / DISM 사용법
SFC(시스템 파일 검사기, Sfc.exe)와 DISM(배포 이미지 서비스 및 관리 도구)은 Windows가 스스로 시스템 파일을 점검하고 고치는 두 가지 명령줄 도구입니다. Microsoft 문서에 따르면 SFC는 보호된 시스템 파일 전체의 버전을 검사해 덮어써진 파일을 올바른 버전으로 되돌리고, DISM은 Windows 이미지를 서비스하고 복구하는 도구로 지금 쓰고 있는 PC의 Windows 이미지도 고칠 수 있습니다. Windows 업데이트 오류 페이지나 윈도우 업데이트 오류 공통 절차에서 ‘파일 손상 점검’ 단계로 안내받아 왔다면 이 가이드의 순서대로 하면 됩니다. 두 도구를 어떤 순서로, 어떤 권한으로 실행하는지가 핵심입니다.
언제 쓰나
‘Windows Update 손상 및 설치 실패 해결’ 문서는 손상 오류가 있으면 업데이트 설치가 실패할 수 있다며 Setup 이벤트 로그를 확인하라고 하고, 손상 가능성을 나타내는 코드 표를 제시합니다. 대표적으로 0x80070002(ERROR_FILE_NOT_FOUND), 0x800f0831(CBS_E_STORE_CORRUPTION, CBS 저장소 손상), 0x8007000D(ERROR_INVALID_DATA), 0x800F081F(CBS_E_SOURCE_MISSING, 패키지나 파일의 원본을 찾을 수 없음), 0x80073712(ERROR_SXS_COMPONENT_STORE_CORRUPT, 구성 요소 저장소가 일관되지 않은 상태), 0x8007371B, 0x80070490 등입니다. 전체 목록은 공통 절차 가이드의 ‘DISM·SFC로 넘어가는 조건’ 항목에 있습니다. 원문은 예를 들어 시스템 파일이 손상되어 업데이트가 설치되지 않을 때 DISM이 그런 손상 일부를 고칠 수 있다고 설명합니다. 또 ‘Windows Update 문제 해결 지침’은 점검 목록의 1단계로 DISM 명령을 두었으므로, 코드가 표에 없더라도 업데이트 문제라면 한 번은 거치게 됩니다.
적용 범위도 확인해 두세요. DISM 절차의 원문은 Windows 11, Windows 10, Windows Server 2016 이후의 최신 Windows에 적용된다고 밝히고 있습니다. 반면 SFC 문서(KB 310747)는 Windows 파일 보호(WFP) 기능과 함께 쓰이던 시절의 설명으로, 캐시 폴더(%Systemroot%\System32\Dllcache)와 Windows 2000의 /Enable 스위치 같은 옛 항목이 함께 실려 있습니다. 이 가이드는 그중 지금도 그대로 쓰는 문법과 스위치 설명만 옮깁니다.
순서: DISM 먼저, SFC 다음
원문이 정한 순서는 DISM으로 구성 요소 저장소를 고친 뒤 sfc /scannow를 실행하고, 그다음 Windows 업데이트를 다시 시도하는 것입니다. 두 도구 모두 관리자 권한이 필요합니다. SFC 문서는 관리자 또는 Administrators 그룹 구성원으로 로그온해야 실행할 수 있다고 명시합니다.
- 관리자 권한 명령 프롬프트를 여세요. 원문의 경로는 시작 메뉴를 열고 명령 프롬프트를 입력한 뒤, 명령 프롬프트를 마우스 오른쪽 단추로 클릭하고 관리자 권한으로 실행을 선택하는 것입니다. 관리자 암호나 확인을 묻는 창이 뜨면 암호를 입력하거나 예를 선택합니다.
- 다음 명령을 입력하고 Enter를 누르세요. 완료까지 몇 분이 걸릴 수 있습니다.
DISM.exe /Online /Cleanup-image /Restorehealth원문에 따르면 DISM 복구는 Microsoft 업데이트 서버에 연결해 빠지거나 손상된 파일을 받아 올 때 가장 잘 동작합니다. 이 명령을 쓰면 DISM이 손상을 고치는 데 필요한 파일을 Windows 업데이트에서 가져옵니다.
- 다음 명령을 입력하고 Enter를 누르세요. 역시 몇 분이 걸릴 수 있습니다.
sfc /scannow - 명령 프롬프트를 닫고 Windows 업데이트를 다시 실행하세요.
PC가 Windows 업데이트에 연결할 수 없을 때
인터넷이 안 되거나 Windows 업데이트에서 파일을 받아 올 수 없는 경우, 원문은 정상 동작하는 다른 Windows 설치본을 복구 원본으로 쓰거나 네트워크·USB·DVD의 Windows 폴더에 있는 파일을 쓸 수 있다고 안내합니다. 이때는 2단계 대신 다음 명령을 씁니다.
DISM.exe /Online /Cleanup-Image /RestoreHealth /Source:\\<servername>\c$\windows /LimitAccess
<servername> 자리에는 복구 원본으로 쓰는 컴퓨터 이름을 넣습니다. 원문은 복구 원본 컴퓨터가 같은 운영 체제 버전이어야 한다고 못 박습니다. 검사 결과가 “The restore operation completed successfully”이면 다음 단계(sfc /scannow)로 가고, 그렇지 않으면 아래 ‘DISM으로도 안 고쳐질 때’의 CBS.log 분석으로 넘어갑니다.
DISM이 무엇을 검사하나
원문은 DISM이 무결성을 검사하는 대상을 다음과 같이 요약합니다. 이 목록은 언제든 바뀔 수 있다고 덧붙입니다.
- 폴더: %SYSTEMROOT%\Servicing\Packages, %SYSTEMROOT%\WinSxS\Manifests
- 레지스트리: HKEY_LOCAL_MACHINE\Components, HKEY_LOCAL_MACHINE\Schema, HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing 아래의 데이터
DISM이 잘못된 매니페스트, 캐비닛(cab) 파일, 레지스트리 데이터를 찾으면 올바른 버전으로 바꿔 놓을 수 있습니다. 레지스트리 키를 적어 둔 것은 도구가 보는 곳을 설명하기 위한 것이지 사용자가 직접 편집하라는 뜻이 아닙니다. 원문에도 그런 단계는 없습니다.
DISM은 찾았거나 고친 문제를 로그 파일에 남깁니다. 위치는 %SYSTEMROOT%\Logs\CBS\CBS.log와 %SYSTEMROOT%\Logs\CBS\CBS.persist.log입니다. %SYSTEMROOT%(또는 %windir%)는 Windows가 설치된 폴더로, 보통 C:\Windows입니다.
SFC 스위치
SFC 문서의 문법은 다음과 같습니다.
Sfc [/Scannow] [/Scanonce] [/Scanboot] [/Revert] [/Purgecache] [/Cachesize=x]
- /Scannow: 보호된 시스템 파일 전체를 즉시 검사하고 잘못된 버전을 올바른 Microsoft 버전으로 바꿉니다. Windows 설치 원본 파일이 필요할 수 있습니다.
- /Scanonce: 다음에 컴퓨터를 다시 시작할 때 한 번 검사합니다. 이 명령을 실행하면 Winlogon 레지스트리 키의 SfcScan 값이 2로 설정됩니다. 다시 시작할 때 설치 원본 파일이 필요할 수 있습니다.
- /Scanboot: 컴퓨터를 시작할 때마다 검사합니다. SfcScan 값이 1로 설정되며, 시작할 때마다 설치 원본 파일이 필요할 수 있습니다.
- /Revert: 검사 설정을 기본값(시작할 때 검사하지 않음)으로 되돌립니다. 기본 캐시 크기는 이 명령으로 초기화되지 않습니다.
- /Purgecache: 파일 캐시를 비우고 보호된 시스템 파일 전체를 즉시 검사합니다. 설치 원본 파일이 필요할 수 있습니다.
- /Cachesize=x: 파일 캐시 크기를 x MB로 정합니다. 기본값은 50MB입니다. 컴퓨터를 다시 시작한 뒤 /Purgecache를 실행해야 디스크의 캐시 크기가 조정됩니다.
원문에 따르면 SFC는 보호된 파일이 덮어써진 것을 발견하면 캐시 폴더나 Windows 설치 원본에서 올바른 버전을 가져와 교체하고, 캐시 폴더 자체도 검사해 다시 채웁니다. 캐시 폴더가 손상되어 쓸 수 없게 되면 /scannow, /scanonce, /scanboot로 그 내용을 고칠 수 있습니다. 일반 사용자가 실제로 쓰는 것은 /scannow 하나이고, 나머지는 어떤 스위치가 있는지 알아 두는 정도면 충분합니다.
DISM으로도 안 고쳐질 때 (고급)
원문은 DISM 유틸리티로 CBS 손상을 수동으로 고치는 고급 절차를 다섯 단계로 적어 두었습니다. 지원 담당자와 IT 전문가를 위한 내용이지만, 순서를 알아 두면 로그를 보고 어디서 막혔는지 판단할 수 있습니다.
- CBS.log 분석: DISM 명령을 실행한 뒤 %WinDir%\Logs\CBS\CBS.log를 엽니다. 로그에는 검사 요약과 발견된 오류의 세부 내용이 있습니다. 원문이 설명하는 항목 이름은 CSI Payload Corrupt(페이로드 파일 손상), CBS MUM Missing(패키지에 필요한 MUM 파일 없음), CSI Manifest Corrupt(매니페스트 손상)이며, 고쳐진 항목에는 Fixed 표시가 붙습니다. 요약에는 감지된 손상 수와 복구된 수가 종류별로 적힙니다.
- 빠진 파일이 든 업데이트 찾기: 로그의 파일 경로 안에 있는 UBR 번호(예: 10.0.19045.3636 형식의 마지막 숫자)를 읽고, 자기 버전의 Windows 업데이트 기록 페이지에서 그 번호에 해당하는 KB 번호를 찾은 뒤, Microsoft 업데이트 카탈로그에서 그 KB를 내려받습니다.
- .msu와 .cab 추출: 다음 명령으로 폴더를 만들고, 원문이 안내하는 PowerShell 스크립트로 .msu 파일을 추출합니다.
mkdir C:\temp\Source - 원본 파일로 복구: 손상된 파일들의 올바른 버전을 C:\temp\Source 폴더로 복사합니다. 원문의 예시 명령은 다음과 같고, 손상 파일마다 반복합니다.
Copy-Item "C:\path\extractedFiles\corruptedfile.dll" -Destination "C:\temp\Source"그다음 관리자 권한 명령 프롬프트에서 /Source 옵션을 붙여 DISM을 다시 실행합니다.
DISM /Online /Cleanup-Image /RestoreHealth /Source:C:\temp\Source\ /LimitAccess - 확인: 다음 명령으로 문제가 해결되었는지 검사하고, CBS.log에 남은 오류가 없는지 다시 확인합니다.
DISM /Online /Cleanup-Image /ScanHealth
결과를 어떻게 읽나
이 사이트는 실행 결과 화면을 싣지 않습니다. 원문에 있는 결과 문구는 DISM 복구가 성공했을 때의 “The restore operation completed successfully” 하나뿐이며, 이 문구가 나오면 sfc /scannow로 넘어가고 나오지 않으면 CBS.log를 분석하라는 것이 원문의 분기입니다. sfc /scannow의 결과 메시지는 원문에 없으므로 여기서도 다루지 않습니다. 두 명령을 마쳤다면 결과 문구와 상관없이 원문의 마지막 단계, 즉 Windows 업데이트 다시 실행으로 가서 원래의 오류 코드가 사라졌는지 확인하는 것이 판단 기준입니다.
그래도 안 될 때
원문은 Microsoft 지원에 문의할 때 배포 관련 문제용 TSS 도구로 정보를 모아 두라고 안내합니다. 또 DISM 문서는 지원 담당자와 IT 전문가용이므로, 가정 사용자는 Microsoft 지원의 Windows 업데이트 오류 해결 페이지를 보라고 따로 적어 두었습니다. 업데이트 오류가 계속되면 윈도우 업데이트 오류 공통 절차의 구성 요소 초기화로, 특정 코드가 반복되면 윈도우 업데이트 오류 허브의 코드 페이지로 돌아가세요.
출처: Description of System File Checker (Sfc.exe), Fix Windows Update corruptions and installation failures, Windows Update troubleshooting guidance (Microsoft Learn, CC BY 4.0), 2026-09-03 확인. 문장은 오류사전이 다시 쓴 것이고 명령어는 원문 그대로입니다.