윈도우11 업데이트 0x800f0831 오류 해결 방법 (누락 패키지 수동 설치)

🏷️ 윈도우11

윈도우11 0x800f0831 오류는 컴포넌트 스토어(WinSxS)가 손상돼, 설치하려는 업데이트가 요구하는 이전 패키지의 manifest를 찾지 못할 때 발생합니다. C:\Windows\Logs\CBS\CBS.log에서 누락된 패키지를 먼저 특정하고, 그 패키지에 해당하는 KB를 수동으로 설치하는 것이 핵심 해결 방법입니다.

대부분의 가이드에서는 Windows 업데이트 문제 해결사와 DISM RestoreHealth, sfc를 이용한 시스템 복구를 안내하지만 이 오류(CBS_E_STORE_CORRUPTION)에서는 이 방식으로 해결되지 않는 경우가 많습니다.

손상이 WinSxS와 레지스트리에 상주하는 탓에 시스템 복구 후 재부팅으로는 사라지지 않고, 누락된 원인 패키지를 직접 채워 넣거나 부분 설치분을 제거한 뒤 재설치해야 해결됩니다.

0x800F0831 오류의 의미와 해결 원리

0x800F0831은 컴포넌트 기반 서비스(CBS)가 반환하는 CBS_E_STORE_CORRUPTION 코드로, 컴포넌트 스토어에 특정 패키지의 manifest가 빠져 있거나 레지스트리에 완전히 반영되지 않은 상태를 뜻합니다.

누적 업데이트는 이전 업데이트 위에 차곡차곡 쌓이는데, 중간 단계의 패키지 정보가 비면 다음 업데이트가 의존하던 이전 패키지를 찾지 못하고 중단됩니다.

마이크로소프트의 0x800F0831 오류 공식 문서는 이 상황에서 CBS.log에 남는 로그를 다음과 같이 규정합니다.

Store corruption, manifest missing for package: <Missing_Package>
Failed to resolve package <Missing_Package> [HRESULT = 0x800f0831 - CBS_E_STORE_CORRUPTION]
WER: Generating failure report for package: <Failed_Package> status: 0x800f0831

여기서 <Failed_Package>는 지금 설치에 실패한 업데이트이고, <Missing_Package>는 그 업데이트가 필요로 하는데 manifest가 사라진 이전 패키지입니다. 먼저 채워 넣어야 할 대상은 실패한 최신 KB가 아니라, 그 아래에서 빠져 있는 <Missing_Package>입니다.

1. CBS.log에서 누락된 패키지 확인하기

가장 최신 상태의 로그를 확보하려면, 업데이트를 한 번 더 시도해 오류를 재현한 직후 메모장을 관리자 권한으로 실행한 뒤 CBS.log를 엽니다. CBS.log는 C:\Windows\Logs\CBS\CBS.log에 위치하고 있습니다.

CBS log에서 manifest missing KB 패키지 찾기

메모장에서 Ctrl+Fmanifest missing을 검색하면 문제의 첫 줄이 바로 나옵니다. 검색 결과가 하나도 없다면 손상이 manifest 누락형이 아니므로, 4번의 DISM 소스 복구부터 진행합니다.

#얘시
Info CBS Store corruption, manifest missing for package: Package_for_KB5034441~31bf3856ad364e35~amd64~~22621.3007
Error CBS Failed to resolve package 'Package_for_KB5034441~...~22621.3007' [HRESULT = 0x800f0831 - CBS_E_STORE_CORRUPTION]

패키지 이름은 Package_for_KB번호~서명~아키텍처~~빌드번호 구조입니다. 끝의 22621.3007이 OS 빌드이고, 그 앞 KB5034441이 다시 채워 넣어야 할 패키지의 KB 번호입니다.

이름에 KB 번호가 없이 Package_123_for_...~~10.0.22621.3007 형태로만 나온다면, 뒤의 빌드 번호(예: 22621.3007)를 그대로 검색해 해당 빌드를 배포한 KB를 역추적합니다.

amd64는 64비트 인텔·AMD, arm64는 ARM 기기를 의미하므로 이 값도 함께 적어 둡니다. 카탈로그에서 아키텍처가 다른 패키지를 받으면 설치가 거부됩니다.

2. Update 카탈로그에서 누락 패키지 수동 설치하기

Microsoft update 카탈로그에서 누락 오류 0x800f0831 KB 패키지 다운로드

특정한 패키지를 내려받으려면 Microsoft Update 카탈로그에 접속해 검색창에 KB 번호를 입력합니다.

검색 결과에서 자기 OS 버전과 아키텍처(x64/ARM64)에 맞는 항목의 다운로드를 누르고, .msu 파일을 C:\temp 폴더에 저장합니다.

내려받은 .msu는 더블클릭 시에 동일한 0x800f0831 오류로 설치가 제한될 수 있어 해당 파일의 압축을 풀고 안에 든 .cab을 DISM 명령어로 직접 실행하면 이 단계를 안정적으로 넘길 수 있습니다.

관리자 권한 명령 프롬프트에서 아래 명령을 차례로 실행합니다.

# 압축 풀기
cd \temp expand -F:* windows11.0-kb5034441-x64_xxxx.msu C:\temp

expand 결과 폴더에서 OS 버전과 일치하는 .cab 파일(예: Windows11.0-KB5034441-x64.cab)을 확인한 뒤, 그 파일을 컴포넌트 스토어에 추가합니다.

#누락 패키지 수동 설치
Dism /online /add-package /packagepath:C:\temp\Windows11.0-KB5034441-x64.cab

명령이 끝나면 재부팅해 적용을 마칩니다. 누락됐던 <Missing_Package>가 채워지면, 원래 실패하던 최신 누적 업데이트가 다음 시도에서 정상 설치됩니다.

누락 패키지가 서비스 스택 관련 항목이거나 위 설치가 계속 막힌다면, 설치된 빌드의 최신 월별 누적 업데이트를 같은 방식으로 설치합니다.

서비스 스택 업데이트(SSU)는 윈도우가 업데이트를 설치하는 코드 자체를 갱신하는 구성 요소로, 낡으면 CBS가 선행 패키지의 manifest를 해석하지 못해 0x800F0831을 일으킵니다.

윈도우11은 2021년 2월부터 SSU를 누적 업데이트에 통합해 배포하므로, 카탈로그에서 SSU를 따로 검색할 필요 없이 최신 누적 업데이트 하나로 SSU까지 함께 갱신됩니다.

3. install.wim을 소스로 지정해 컴포넌트 스토어 복구하기

표준 복구 명령인 DISM /Online /Cleanup-Image /RestoreHealth0x800f081f(원본 파일을 찾을 수 없음)로 실패한다면, 손상된 온라인 스토어로 인해 DISM이 Windows Update를 복구 원본으로 쓰지 못하는 상태입니다. 이때는 설치된 윈도우11과 같은 에디션, 같은 빌드의 윈도우11 ISO에서 정상 원본을 강제로 지정합니다.

windows 11 iso 마운트 후 원본 대상으로 지정해 컴포넌트 스토어 복구하기

먼저 윈도우11 디스크 이미지 페이지에서 ISO를 내려받아 더블클릭해 마운트합니다. 마운트된 드라이브 문자가 E:라면, 관리자 권한 명령 프롬프트에서 다음을 실행합니다.

DISM /Online /Cleanup-Image /RestoreHealth /Source:wim:E:\sources\install.wim:3 /LimitAccess
windows 11 iso 이미지 안에 있는 에디션 별 인덱스 번호 확인하기

:3은 install.wim 안의 이미지 인덱스입니다. ISO 안에 여러 에디션이 들어 있으면 DISM /Get-WimInfo /WimFile:E:\sources\install.wim으로 동일한 에디션(예: Windows 11 Pro)의 인덱스 번호를 먼저 확인해 그 숫자로 바꿉니다.

/LimitAccess는 DISM이 Windows Update를 추가로 조회하지 않고 지정한 ISO만 원본으로 쓰게 강제하는 옵션입니다. 파일이 install.esd뿐이라면 /Source:esd:E:\sources\install.esd:1 형식으로 지정합니다.

복구가 끝나면 이어서 sfc /scannow를 실행해 시스템 파일까지 정리한 뒤, 다시 업데이트를 시도합니다.

4. 부분 설치분 제거 후 업데이트 재설치하기

업데이트가 절반만 적용돼 어정쩡한 상태로 남았다면, 부분 설치분을 제거한 뒤 깨끗한 원본으로 재설치합니다. 이는 마이크로소프트가 물리 PC에 권장하는 공식 복구 절차이기도 합니다.

2번에서 expand로 풀어 둔 .cab을 그대로 활용합니다.

Dism /online /remove-package /packagepath:C:\temp\Windows11.0-KB5034441-x64.cab

제거 후 재시작하라는 안내가 나오면 재부팅하고, 같은 .cab을 다시 넣어 재설치합니다.

Dism /online /add-package /packagepath:C:\temp\Windows11.0-KB5034441-x64.cab

재설치가 끝나면 재부팅한 뒤 업데이트를 다시 시도합니다.

5. 인플레이스 업그레이드로 컴포넌트 스토어 전체 복구하기

앞의 방법으로도 해결되지 않는다면 컴포넌트 스토어 손상이 개별 패키지 수준을 넘어선 경우입니다. 데이터와 설치된 앱을 유지한 채 윈도우를 다시 설치하는 인플레이스 업그레이드(in-place repair)로 스토어 전체를 정상 원본으로 새로 구성합니다.

windows 11 iso 마운트 후 인플레이스 업데이트로 0x800f0831 오류 해결하기

4번 과정에서 마운트한 윈도우11 ISO 안의 setup.exe를 실행하고, 설치 옵션에서 개인 파일 및 앱 유지를 선택합니다. 재설치가 진행되면서 손상된 컴포넌트 스토어가 ISO의 정상 원본으로 교체되므로, 기존 데이터와 프로그램은 그대로 유지됩니다.

업데이트를 다시 확인하려면, 설정 > Windows 업데이트에 진입합니다. 여기서 재확인하면 0x800F0831 없이 설치가 완료됩니다.

마치며

0x800F0831은 디스크나 하드웨어 문제가 아니라 컴포넌트 스토어에서 특정 패키지의 manifest가 빠진 논리적 손상이므로, 무엇이 빠졌는지를 CBS.log에서 먼저 확인하는 것이 핵심입니다.

<Missing_Package>를 특정해 카탈로그에서 채워 넣고, SSU가 선행되는지 확인한 다음, DISM 복구가 막히면 동일 빌드 ISO를 원본으로 선택해 시스템을 업데이트하는 방식이 가장 성공률이 높습니다.

FAQ

SFC와 DISM을 여러 번 돌렸는데도 0x800F0831이 계속 나옵니다. 왜 그런가요?

sfc와 DISM RestoreHealth는 손상된 파일을 정상 원본으로 덮는 도구입니다. 그러나 원본(온라인 스토어)에 해당 manifest 자체가 없으면 덮어쓸 대상을 찾지 못해 그대로 실패합니다. 이럴 때는 카탈로그에서 누락 패키지를 직접 받아 넣거나, 동일 빌드 ISO를 /Source로 지정해야 복구가 진행됩니다.

CBS.log에 manifest missing 줄이 여러 개 나옵니다. 전부 설치해야 하나요?

첫 번째 Store corruption, manifest missing 줄이 근본 원인일 확률이 높습니다. 이후 줄들은 첫 패키지가 빠진 의존성 결과일 경우가 많으므로, 가장 위의 <Missing_Package> 하나를 먼저 설치하고 업데이트를 재시도한 뒤, 남는 항목만 추가로 처리합니다.

어떤 KB를 받아야 할지 빌드 번호로 어떻게 찾나요?

패키지 이름 끝의 22621.3007 같은 값이 OS 빌드입니다. Update 카탈로그 검색창에 그 빌드 번호나 이름 안의 KB 번호를 그대로 입력하면 해당 패키지가 나옵니다. 검색 결과가 여러 개면 자기 아키텍처(x64는 amd64, ARM 기기는 arm64)와 일치하는 항목을 고릅니다.

DISM명령 프롬프트윈도우11 업데이트 오류

저자

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Fill out this field
Fill out this field
올바른 이메일 주소를 입력해주세요.

같은 카테고리 글