Computer >> 컴퓨터 >  >> 시스템 >> Windows Server

Windows Server 2016/Windows 10에서 Windows 업데이트 및 DISM 오류 0x80073712 해결하는 방법

Windows Server 2016에 보안 업데이트를 설치하던 중 0x80073712 오류 코드가 발생했습니다. 원인을 추적해 보니 이 오류는 손상된 Windows 구성 요소 저장소(Component Store)와 관련된 문제였습니다. 이 글에서는 Windows 10 또는 Windows Server 2016/2012 R2에서 구성 요소 저장소를 복구하고 Windows Update 서비스의 정상 동작을 되찾는 방법을 단계별로 살펴보겠습니다.

Windows 업데이트 오류 증상

Windows Update에서 업데이트 설치를 시도하면 다음과 같은 오류 메시지가 나타납니다.

일부 업데이트 파일이 없거나 문제가 있습니다. 업데이트를 다시 다운로드합니다.
오류 코드: (0x80073712)
Windows Server 2016/Windows 10에서 Windows 업데이트 및 DISM 오류 0x80073712 해결하는 방법

먼저 'Windows Update 설정 초기화' 방법에 따라 Windows Update 에이전트 설정을 재설정하고 SoftwareDistribution 폴더를 정리해 보았지만, 문제는 해결되지 않았습니다.

그다음 dism /online /get-packages 명령을 실행해 모든 시스템 업데이트가 Installed(설치됨) 상태인지 확인했습니다.

Windows Server 2016/Windows 10에서 Windows 업데이트 및 DISM 오류 0x80073712 해결하는 방법

만약 일부 업데이트가 Install Pending(설치 보류) 상태로 표시된다면, 아래 DISM 명령으로 해당 패키지를 정상적으로 제거할 수 있습니다(패키지 식별자는 본인 환경에 맞게 입력하세요).

DISM.exe /Online /Remove-Package /PackageName:Package_for_KB4520724~31bf3856ad364e35~amd64~~14393.3320.1.1 /quiet /norestart

.NET Framework 설치 과정에서 발견한 핵심 단서

이 오류를 해결하는 방법을 찾는 데 꽤 오랜 시간이 걸렸습니다. 그러던 중 문제 해결 과정에서 Windows Server 2016에 .NET Framework 3.5를 설치해야 하는 상황이 생겼고, DISM 명령으로 .NET 구성 요소를 설치하는 도중 전형적인 오류 메시지가 표시되었습니다. 바로 이 오류가 이후 작업의 결정적인 단서가 되었습니다.

지정된 서버에서 기능 추가 또는 제거 요청이 실패했습니다. 하나 이상의 역할, 역할 서비스 또는 기능을 설치하지 못했습니다. 구성 요소 저장소가 손상되었습니다. 오류: 0x80073712.
Windows Server 2016/Windows 10에서 Windows 업데이트 및 DISM 오류 0x80073712 해결하는 방법

동시에 CBS.log(%WinDir%\Logs\CBS\CBS.log) 파일에서도 다음과 같은 오류를 확인할 수 있었습니다.

[HRESULT = 0x80073712 - ERROR_SXS_COMPONENT_STORE_CORRUPT]

즉, 어떤 이유로든 컴퓨터의 구성 요소 저장소가 손상된 상태였던 것입니다. 그 결과 Windows Update가 업데이트 설치에 필요한 CBS(Component-Based Servicing) 매니페스트 데이터를 가져오지 못하는 것입니다. 다행히 Windows에 내장된 DISM 기능을 활용하면 구성 요소 저장소를 복구할 수 있습니다.

방법 1. 설치 이미지 없이 구성 요소 저장소 복구하기

가장 간단한 경우에는 Windows 설치 이미지(디스크) 없이도 구성 요소 저장소를 복구할 수 있습니다. 이 경우 시스템은 로컬 디스크에 있는 구성 요소 저장소 파일과 Microsoft Update 온라인 서버를 복구 원본으로 사용합니다. 참고로 로컬 WSUS 서버는 구성 요소 저장소 복구용 원본으로 사용할 수 없습니다.

먼저 다음 명령으로 구성 요소 저장소의 현재 상태를 점검합니다.

dism /online /cleanup-image /checkhealth

분석 후 "구성 요소 저장소를 복구할 수 있습니다(component store is repairable)"라는 메시지가 표시되면, 다음 명령으로 복구를 시도할 수 있습니다.

dism /online /cleanup-image /restorehealth

간단한 손상이라면 이 단계만으로도 문제가 해결됩니다. 하지만 제 경우에는 DISM이 다음과 같은 오류를 반환했습니다.

오류: 0x800f0906
원본 파일을 다운로드할 수 없습니다.

방법 2. 설치 이미지(ISO)를 원본으로 지정하여 복구하기

위와 같은 오류가 발생하면 Windows 배포 설치 디스크 또는 ISO 파일이 필요합니다. Windows Server 설치 ISO를 마운트했다고 가정하고, 마운트된 이미지의 install.wim 파일에 포함된 Windows 에디션 목록을 먼저 확인합니다.

dism /Get-WimInfo /WimFile:e:\sources\install.wimWindows Server 2016/Windows 10에서 Windows 업데이트 및 DISM 오류 0x80073712 해결하는 방법

제 시스템은 Windows Server 2016 Standard(Desktop Experience) 에디션이므로, 목록에서 해당 인덱스(2)를 확인한 뒤 다음 명령을 실행했습니다.

dism /online /cleanup-image /restorehealth /source:e:\sources\install.wim:2 /LimitAccess

여기서 /LimitAccess 옵션은 Windows Update 등 외부 원본에 접속하지 않고, 지정한 WIM 파일만 복구 원본으로 사용하도록 지시하는 역할을 합니다.

복구 결과 확인

복구가 완료되면 구성 요소 저장소 상태를 다시 한번 점검합니다.

Dism /Online /Cleanup-Image /CheckHealth

DISM이 No component store corruption detected(구성 요소 저장소 손상이 감지되지 않았습니다)를 반환하면 복구가 성공적으로 완료된 것입니다.

Windows Server 2016/Windows 10에서 Windows 업데이트 및 DISM 오류 0x80073712 해결하는 방법

마무리: 업데이트 재시도

구성 요소 저장소 복구가 끝나면 Windows를 재시작한 뒤, Windows Update에서 업데이트가 정상적으로 설치되는지 확인합니다. 대부분의 경우 0x80073712 오류는 더 이상 발생하지 않으며, 시스템이 다시 정상적으로 업데이트를 받을 수 있게 됩니다.