- 공유 링크 만들기
- X
- 이메일
- 기타 앱
이 글의 목적은 Windows 업데이트가 “SSU(Servicing Stack Update, 서비스 스택 업데이트) 누락/구버전” 때문에 실패하는 상황을 정확히 진단하고, 온라인 PC와 오프라인 이미지(WIM) 환경 모두에서 재발 없이 복구하는 절차를 실무 기준으로 정리하는 것이다.
1. SSU 누락이 왜 업데이트 실패로 이어지는가
SSU(서비스 스택 업데이트)는 Windows 업데이트를 “설치하는 구성 요소(Servicing Stack)” 자체를 업데이트하는 패키지이다. 누적 업데이트(LCU)나 .NET 누적 업데이트처럼 매월 적용되는 대형 패치들은 내부적으로 최신 설치 엔진/구성 요소를 전제로 만들어지는 경우가 많다. 따라서 서비스 스택이 오래되었거나 일부 단계가 누락된 장치는 업데이트를 정상 처리하지 못하고 설치가 중단될 수 있다.
특히 다음과 같은 환경에서 SSU 불일치가 자주 발생한다.
| 발생 환경 | 원인 | 전형적 증상 |
|---|---|---|
| 장기간 업데이트 미적용 PC | SSU가 자동 설치되기 전에 업데이트가 누락/중단 | 누적 업데이트 재시도 시 매번 실패 |
| WSUS/오프라인 패치 운영 | LCU만 배포되고 SSU 선행이 보장되지 않음 | 특정 월 업데이트부터 갑자기 실패 |
| VM/템플릿 기반 배포 | 오래된 스냅샷/골든 이미지에 SSU 선행분 누락 | 동일 템플릿에서 다수 장치 동시 실패 |
| 오프라인 WIM 서비스 | DISM으로 LCU를 먼저 통합 시도 | 통합 단계에서 0x800f0823 등 오류 |
2. SSU 누락/구버전일 때 대표 오류 코드와 메시지
SSU 불일치에서 자주 관찰되는 오류는 다음과 같다. 환경에 따라 숫자 코드가 달라도 핵심 의미는 “새 서비스 스택이 필요하다”로 수렴한다.
| 표시 위치 | 오류 코드/문구 예 | 의미 |
|---|---|---|
| Windows Update | 0x800f0823 | 서비스 스택이 오래되어 최신 업데이트를 처리할 수 없음 |
| DISM/CBS 로그 | CBS_E_NEW_SERVICING_STACK_REQUIRED | 선행 SSU(또는 SSU가 포함된 기준 LCU)가 필요 |
| 오프라인 이미지 통합 | Add-WindowsPackage failed / 0x800f0823 | 통합 순서 오류(SSU 선행 필요) 또는 기준 버전 미달 |
3. 해결 전 준비: 내 Windows 버전/빌드 확인
SSU는 버전별(Windows 10/11, Server, 21H2/22H2 등)로 다르며, 같은 Windows라도 빌드/누적 업데이트 계열에 따라 요구 조건이 달라진다. 먼저 정확한 버전을 확정해야 한다.
3.1 GUI로 확인
설정 → 시스템 → 정보에서 Windows 사양의 “버전”, “OS 빌드”를 확인한다. 또는 실행(Win+R)에서 winver를 입력해 버전/빌드를 확인한다.
3.2 명령으로 확인
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" ver wmic os get BuildNumber,Version,Caption 4. 가장 확실한 해결 1: 최신 SSU를 먼저 설치한 뒤 LCU 재시도
온라인 PC(현재 부팅 중인 Windows)에 대한 정석 절차는 “최신 SSU 선행 → 재부팅 → 누적 업데이트(LCU) 설치”이다. 최근에는 LCU에 SSU가 통합되는 흐름도 있지만, 현장에서는 누락/정합성 문제를 빠르게 끝내기 위해 SSU를 명시적으로 먼저 맞춰주는 방식이 재현성이 높다.
4.1 Windows Update 경로(가장 권장)
설정 → Windows 업데이트에서 “업데이트 확인”을 실행한다. SSU가 필요한 장치라면 SSU가 먼저 제안되거나, 누적 업데이트 실패 후 다음 시도에서 SSU가 선행 설치되는 경우가 있다.
4.2 Microsoft Update Catalog 경로(WSUS/차단 환경에서 유효)
사내 정책으로 Windows Update가 제한되거나, 특정 KB만 수동 적용해야 한다면 Microsoft Update Catalog에서 해당 OS/아키텍처(x64/arm64)에 맞는 SSU를 내려받아 설치한다. 이때 중요한 포인트는 “동일 OS 계열의 최신 SSU”를 선택하는 것이다.
| 작업 | 권장 순서 | 체크 포인트 |
|---|---|---|
| SSU 설치 | 1 | OS 버전/아키텍처 일치, 설치 후 재부팅 |
| 재부팅 | 2 | SSU는 설치 엔진이므로 재부팅으로 반영 안정화 |
| LCU 설치 | 3 | 동일 월 LCU 재시도 또는 최신 LCU 적용 |
4.3 설치 확인(SSU가 실제 반영됐는지 검증)
SSU는 제어판 프로그램 목록에서 눈에 띄지 않을 때가 있어, 패키지 목록으로 확인하는 편이 정확하다.
DISM /Online /Get-Packages /Format:Table | findstr /I "ServicingStack SSU" DISM /Online /Get-Packages /Format:Table | findstr /I "Package_for_ServicingStack" 환경에 따라 표기 문자열이 달라질 수 있으므로 “ServicingStack”, “SSU”로 폭넓게 검색한다. 확인 목적은 “최근 날짜의 서비스 스택 패키지가 설치됨”을 보는 것이다.
5. 가장 확실한 해결 2: Windows Update 구성요소 초기화 후 SSU→LCU 재적용
SSU 누락이 원인이더라도, 업데이트 캐시/구성 요소가 꼬여 있으면 SSU 설치 자체가 반복 실패할 수 있다. 이때는 Windows Update 구성요소 초기화를 먼저 수행한 뒤 SSU를 선행 적용한다.
5.1 서비스 중지
net stop wuauserv net stop bits net stop cryptsvc net stop msiserver 5.2 캐시 폴더 초기화(이름 변경)
ren %windir%\SoftwareDistribution SoftwareDistribution.old ren %windir%\System32\catroot2 catroot2.old 5.3 서비스 재시작
net start wuauserv net start bits net start cryptsvc net start msiserver 이후 “SSU 설치 → 재부팅 → LCU 설치” 순서를 다시 진행한다.
6. 오프라인 WIM(이미지)에서 SSU 누락으로 통합 실패할 때 해결
기업 환경에서 WIM에 누적 업데이트를 통합하다가 실패하는 경우가 많다. 핵심은 “SSU를 먼저 통합”하는 것이다. 또한 특정 서버/클라이언트 계열은 “어느 시점 이후 LCU가 SSU를 함께 끌어올리는 기준”이 존재하므로, 기준 버전 미달이면 중간 단계 LCU(또는 전용 SSU)를 먼저 넣어야 한다.
6.1 WIM 인덱스 확인
Dism /Get-WimInfo /WimFile:D:\sources\install.wim 6.2 마운트
mkdir D:\Mount Dism /Mount-Wim /WimFile:D:\sources\install.wim /Index:1 /MountDir:D:\Mount 6.3 SSU 먼저 통합
Dism /Image:D:\Mount /Add-Package /PackagePath:D:\Updates\SSU.msu 6.4 그 다음 LCU 통합
Dism /Image:D:\Mount /Add-Package /PackagePath:D:\Updates\LCU.msu 6.5 커밋 및 언마운트
Dism /Unmount-Wim /MountDir:D:\Mount /Commit | 구분 | 반드시 지켜야 할 원칙 | 실패 시 증상 |
|---|---|---|
| 오프라인 통합 순서 | SSU → (필요 시 기준 LCU) → 최신 LCU | 0x800f0823, 패키지 추가 실패 |
| 대상 일치 | WIM의 에디션/버전/아키텍처와 패키지 일치 | 0x800f081e 등 다른 불일치 오류 |
| 재사용 템플릿 | 골든 이미지 갱신 주기 관리 | 동일 오류 대량 재발 |
7. SSU 관련 이슈를 빠르게 판별하는 현장 체크리스트
아래 체크리스트대로 확인하면 “SSU 가능성”을 빠르게 좁힐 수 있다.
| 체크 항목 | 확인 방법 | 판정 |
|---|---|---|
| 오류 코드 0x800f0823 여부 | 설정 → Windows 업데이트 실패 내역 | 해당 시 SSU 우선 점검 |
| CBS 로그에 “NEW_SERVICING_STACK_REQUIRED” 유사 문구 | C:\Windows\Logs\CBS\CBS.log 확인 | SSU/기준 LCU 선행 필요 가능성 높음 |
| 장기간 미업데이트(수개월~수년) | 설치된 업데이트 날짜/빌드 확인 | SSU 불일치 확률 증가 |
| WSUS/오프라인 배포 환경 | 배포 승인/패키지 구성 점검 | SSU 선행 배포 체계 필요 |
8. 재발 방지: 운영 환경에서 SSU 누락을 없애는 방법
8.1 WSUS/패치 관리에서의 권장 운영
WSUS 또는 별도 패치 솔루션을 운용한다면 다음 원칙을 문서화하는 것이 좋다.
첫째, 누적 업데이트 배포 전에 해당 월(또는 최신) SSU 적용 여부를 확인한다. 둘째, 템플릿/골든 이미지는 최소 분기 1회 이상 업데이트하여 서비스 스택이 과거로 고정되지 않도록 한다. 셋째, 오프라인 통합 절차 문서에 “SSU 선행 통합”을 강제한다.
8.2 골든 이미지/VM 템플릿 관리
VM 템플릿 기반 장애는 한 번 발생하면 다수 장치로 확산된다. 템플릿 생성 직후 최신 SSU 및 누적 업데이트까지 반영하고, 템플릿 버전(빌드/적용 KB)을 명시적으로 기록한다. 이렇게 하면 “어느 시점부터 SSU 요구 조건이 바뀌었는지”를 역추적할 수 있다.
FAQ
SSU를 설치했는데도 누적 업데이트가 계속 실패한다. 다음 단계는 무엇인가?
Windows Update 구성요소 초기화(SoftwareDistribution, catroot2 재생성)를 수행한 뒤 SSU 재확인 및 재부팅 후 LCU를 재시도하는 것이 우선이다. 그래도 실패하면 DISM/시스템 파일 복구를 병행한다.
DISM /Online /Cleanup-Image /RestoreHealth sfc /scannow SSU는 삭제(제거)할 수 있는가?
SSU는 업데이트 설치 기반을 바꾸는 성격이므로 일반 누적 업데이트처럼 제거 대상으로 취급되지 않는 경우가 많다. 현장 대응은 “제거”가 아니라 “최신 SSU로 정합성 맞춤”이 기본 방향이다.
오프라인 WIM 통합에서 SSU 파일과 LCU 파일을 어떤 기준으로 고르는가?
WIM의 OS 버전/빌드/아키텍처가 기준이다. install.wim 인덱스별 에디션이 다를 수 있으므로 먼저 대상 인덱스를 확정하고, 그 계열에 맞는 SSU를 선행 통합한 뒤 동일 계열의 LCU를 통합한다.
에어갭(망분리) 환경에서 가장 실수하기 쉬운 포인트는 무엇인가?
LCU만 반입하고 SSU를 누락하는 실수이다. 두 번째는 재부팅을 생략하는 실수이다. SSU는 설치 엔진을 바꾸므로 재부팅으로 반영을 안정화하는 절차가 중요하다.