업데이트가 실패했고 0x800f081f가 떴다면, 먼저 오류가 난 시각을 적어 두세요. 이 코드는 Windows가 설치나 복구에 필요한 원본을 찾지 못했다는 뜻입니다. 어떤 파일이 빠졌는지는 오류 창보다 CBS.log에 더 자세히 남을 수 있습니다.
오늘은 업데이트 기록과 로그의 시각을 맞춘 뒤, DISM 결과까지 확인하는 순서로 설명하겠습니다. 로그에 없는 파일명이나 원인을 추측해서 복구 명령부터 바꾸지 마세요.
Table of Contents
1. 0x800f081f가 뜬 작업부터 구분하세요
설정 → Windows 업데이트 → 업데이트 기록에서 실패한 KB 번호와 시간을 확인합니다. 같은 오류 코드라도 누적 업데이트 설치와 .NET Framework 3.5 기능 설치는 필요한 원본이 다릅니다. 이 글은 Windows 누적 업데이트 설치 실패를 기준으로 합니다.
업데이트 기록에 오류 코드가 보이지 않으면 실패 알림이나 다시 설치할 때 표시되는 코드를 확인하세요. KB 번호를 찾았다면 함께 메모해 두면 로그와 대조하기 쉽습니다.

2. CBS.log에서 누락된 원본을 찾으세요
파일 탐색기 주소창에 %windir%\Logs\CBS를 넣고 CBS.log를 엽니다. 0x800f081f 또는 CBS_E_SOURCE_MISSING를 검색하되, 반드시 방금 확인한 실패 시각 주변인지 먼저 보세요. 오래된 오류 한 줄을 현재 문제로 읽으면 진단이 어긋납니다.
Microsoft가 공개한 로그 예시에는 CBS MUM Missing, CSI Payload Corrupt, Operation result: 0x800f081f 같은 항목이 나옵니다. 이는 예시 문구입니다. 내 PC에서 실제로 보이는 항목과 패키지 버전을 적어야 합니다.
| 로그에서 본 항목 | 읽는 방법 |
|---|---|
CBS MUM Missing | 패키지 메타데이터 누락 여부를 살펴봅니다. |
CSI Payload Corrupt | 표시된 구성 요소 파일과 버전을 기록합니다. |
(Fixed) 표시 | 해당 항목은 복구된 것으로 표시됐는지 확인합니다. |
현재 CBS.log에 실패 시각이 없다면 같은 폴더의 CbsPersist_*.log 또는 보관된 압축 로그를 확인하세요. 오류 코드만으로 특정 DLL이나 KB가 빠졌다고 단정할 수는 없습니다.

3. DISM 결과를 보고 다음 단계를 정하세요
관리자 권한 명령 프롬프트에서 아래 명령을 실행합니다. Microsoft도 0x800f081f에 구성 요소 저장소 복구를 먼저 안내합니다. 처음부터 임의의 ISO 경로나 /LimitAccess를 붙이지 마세요.
DISM /Online /Cleanup-Image /RestoreHealth
복구가 완료됐다면 이어서 sfc /scannow를 실행하고 재시작한 뒤 해당 업데이트를 다시 시도합니다. DISM이 다시 실패하면 화면의 결과 코드와 %windir%\Logs\DISM\dism.log, 같은 시각의 CBS 기록을 함께 봅니다. 같은 코드가 반복됐다면 복구에 사용할 파일 자체를 찾지 못한 상황인지 확인해야 합니다.

4. 복구 원본은 Windows 버전을 맞춘 뒤 고르세요
DISM에서도 같은 코드가 나온다고 아무 설치 USB나 원본으로 지정하면 해결되는 것은 아닙니다. winver로 내 Windows 버전과 빌드를 확인하고, 사용할 원본의 운영체제 버전·필요한 언어 구성 요소·누적 업데이트 수준을 대조하세요. 원본에 최신 파일이 없으면 복구가 실패할 수 있습니다.
Windows Update를 복구 원본으로 쓸 수 있는 환경이라면 먼저 기본 명령의 결과를 확인하세요. /LimitAccess는 Windows Update를 복구 원본으로 사용하지 못하게 하는 옵션입니다. 별도 원본이 준비되지 않았는데 이 옵션만 추가하면 누락 파일을 가져올 경로가 줄어듭니다.
설치 미디어의 sources\sxs를 무조건 지정하는 방법도 피하세요. 그 경로는 .NET Framework 3.5 설치 오류에서 확인하는 원본의 대표적인 예입니다. 누적 업데이트 문제라면 CBS.log의 패키지·파일 정보부터 읽고, 복구 원본 구성은 Microsoft의 복구 원본 안내와 대조해야 합니다.

자주 묻는 질문
1. 0x800f081f가 CBS.log에 검색되지 않으면요?
실패 날짜가 맞는지 확인하고 CbsPersist_*.log도 살펴보세요. 기록이 없다면 현재 파일만으로 누락 대상을 특정하지 않는 편이 정확합니다.
2. DISM이 성공하면 업데이트도 반드시 설치되나요?
아닙니다. 복구 성공은 구성 요소 저장소에 대한 결과입니다. 업데이트를 다시 시도하고 새 실패 코드와 시각을 확인하세요.
3. .NET 3.5 설치에서도 같은 오류가 나오면요?
원본 누락이라는 공통점은 있지만 작업이 다릅니다. .NET 3.5 설치라면 기능 파일이 들어 있는 원본 경로, 읽기 권한, 그룹 정책을 먼저 확인합니다.
4. /LimitAccess를 붙이면 더 잘 고쳐지나요?
그 옵션은 Windows Update에서 복구 파일을 받지 않도록 합니다. 검증된 별도 원본을 사용하려는 경우에 의미가 있습니다.
5. 로그에 (Fixed)가 보이면 끝난 건가요?
그 항목이 복구됐다는 표시입니다. 같은 작업의 최종 결과와 남은 누락 항목, 업데이트 재시도 결과까지 확인해야 합니다.
정리하면, 0x800f081f는 먼저 실패한 작업과 시간을 확인하고, CBS.log에서 그 시간대의 누락 항목을 찾은 뒤 DISM 결과로 복구 여부를 판단해야 합니다. 코드만 같다고 다른 PC의 ISO 경로와 패키지 파일을 그대로 따라 하지 마세요.
업데이트가 되돌아가면서 0x800f0922가 표시된 경우에는 EFI 파티션과 CBS.log 확인 글을 보세요. 복구 방법을 선택하기 전 파일·앱 유지 범위는 Windows 11 재설치 비교 글에 따로 정리했습니다.
공식 자료: Microsoft Windows 업데이트 오류 코드 · CBS.log 진단 및 복구 절차 · Windows 이미지 복구 · .NET Framework 3.5 설치 오류
AI 활용 안내: 글의 구성과 문장 정리에 AI를 활용했습니다. 오류 코드와 명령어는 Microsoft 공식 자료를 대조했습니다. 본문 이미지 1~3은 이해를 돕기 위해 만든 가상 예시이며, 실제 PC의 오류 기록을 촬영한 화면이 아닙니다.