이 문서에서는 구성 요소 저장소에 대해 설명합니다. Windows 8 및 복구의 일부 시나리오에서. Microsoft는 Windows Vista부터 구성 요소 기반 서비스 개념을 도입했습니다. 업데이트, 보안 패치 및 서비스 팩을 보다 안정적으로 설치/제거할 수 있는 구성 요소 구조입니다. Windows 8 아키텍처도 동일한 시스템을 기반으로 합니다. Windows 구성 요소 저장소의 파일은 \Windows\WinSxS 에 있습니다. 폴더 , 시간이 지남에 따라 속성의 크기가 크게 증가합니다(이 폴더의 크기가 시간이 지남에 따라 증가하는 이유와 축소하는 방법에 대한 자세한 내용은 이 문서 참조).
그러나 경우에 따라 구성 요소 저장소가 손상되어 Windows 업데이트 또는 기타 Microsoft 앱을 설치하려고 할 때 문제가 발생할 수 있습니다. 이전 Windows 버전(Windows Vista, Windows 7, Windows Server 2008 /R2)에서 구성 요소 저장소를 복구하기 위해 Microsoft는 특수 유틸리티인 CheckSUR을 만들었습니다. (시스템 업데이트 준비 도구 - KB947821). 이 유틸리티는 상당히 크며(350MB 이상) 새 Windows 업데이트 릴리스와 함께 정기적으로 업데이트됩니다.
이 유틸리티는 무엇을 합니까? 시스템 업데이트 준비 도구는 다음 리소스의 무결성을 확인합니다.
다음 디렉토리에 있는 파일:
- %SYSTEMROOT%\Service\Packages
- %SYSTEMROOT%\WinSxS\Manifests
다음 레지스트리 분기의 내용:
- %SYSTEMROOT%\WinSxS\Manifests
- HKEY_LOCAL_MACHINE\스키마
- HKEY_LOCAL_MACHINE\구성 요소
- HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\구성 요소 기반 서비스
CheckSUR이 일부 오류나 비호환성을 감지하면 복구를 시도합니다.
구성 요소 저장소 문제로 인해 Windows 업데이트 설치 중에 다른 오류가 발생할 수 있습니다. 다음은 이 유틸리티로 제거할 일반적인 오류 코드 목록입니다.
Component Store 손상으로 인한 Windows Update 오류 목록
코드 | 오류 | 설명 |
0×80070002 | 오류_FILE_NOT_FOUND | 시스템이 지정된 파일을 찾을 수 없습니다. |
0x8007000D | ERROR_INVALID_DATA | 데이터가 잘못되었습니다. |
0x800F081F | CBS_E_SOURCE_MISSING | 패키지 또는 파일의 소스를 찾을 수 없습니다. |
0×80073712 | 오류_SXS_COMPONENT_STORE_CORRUPT | 구성 요소 저장소가 일관성 없는 상태입니다. |
0x800736CC | 오류_SXS_FILE_HASH_MISMATCH | 구성 요소 파일이 구성 요소 매니페스트에 있는 확인 정보와 일치하지 않습니다. |
0x800705B9 | ERROR_XML_PARSE_ERROR | 요청한 XML 데이터를 구문 분석할 수 없습니다. |
0×80070246 | 오류_ILLEGAL_CHARACTER | 잘못된 문자가 발견되었습니다. |
0x8007370D | ERROR_SXS_IDENTITY_PARSE_ERROR | ID 문자열의 형식이 잘못되었습니다. |
0x8007370B | ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME | ID의 속성 이름이 유효한 범위 내에 있지 않습니다. |
0x8007370A | ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE | ID의 속성 값이 유효한 범위 내에 있지 않습니다. |
0×80070057 | 오류_INVALID_PARAMETER | 매개변수가 잘못되었습니다. |
0x800B0100 | TRUST_E_NOSIGNATURE | 제목에 서명이 없습니다. |
0×80092003 | CRYPT_E_FILE_ERROR | Windows 업데이트가 파일을 읽거나 쓰는 동안 오류가 발생했습니다. |
0x800B0101 | CERT_E_EXPIRED | 현재 시스템 시계 또는 서명된 파일의 타임스탬프에 대해 확인할 때 필요한 인증서가 유효 기간 내에 있지 않습니다. |
0x8007371B | 오류_SXS_TRANSACTION_CLOSURE_INCOMPLETE | 거래의 필수 구성원이 한 명 이상 존재하지 않습니다. |
0×80070490 | ERROR_NOT_FOUND | Windows에서 새 업데이트를 검색할 수 없습니다. |
Windows 8 및 Windows Server 2012에서 CheckSUR 유틸리티와 동등한 기능은 이미 시스템에 통합되어 있으며 받은 편지함 손상 복구라고 합니다. . 받은 편지함 손상 복구는 백그라운드 및 수동의 두 가지 모드에서 작동할 수 있습니다. 백그라운드 복구가 자동으로 실행됩니다. Windows 업데이트를 설치하려고 할 때 오류가 발생하는 경우. 그런 다음 Windows는 자동으로 손상된 구성 요소를 복구하고 Windows 업데이트 패키지를 다시 설치하려고 시도합니다. 자동 복구로 문제 자체를 해결할 수 없는 경우 관리자는 오류를 수동 수정할 수 있습니다. . 구성 요소 저장소의 작동성을 복구했습니다. DISM(Dism /Online /Cleanup-Image 명령) 또는 Powershell(Repair-WindowsImage cmdlet)을 사용하여 이 작업을 수행할 수 있습니다.
구성 요소 저장소의 상태를 확인하려면 관리자 권한 명령줄을 열고 다음을 실행합니다.
Dism /Online /Cleanup-Image /CheckHealth |
Dism /온라인 /Cleanup-Image /CheckHealth
도움말.- 다른 Windows 도구와 달리 DISM은 대소문자를 구분합니다.
- Dism /Cleanup-Image 명령은 C:\Windows\Logs\CBS\CBS.log 및 C:\Windows\Logs\DISM\dism.log 파일에 로그를 보관합니다.
동일한 Powershell 명령은 다음과 같습니다.
Repair-WindowsImage -Online -CheckHealth |
복구-WindowsImage-온라인-CheckHealth
CheckHealth를 수행하는 데 몇 분 정도 걸립니다. 보시다시피 이미지의 구성 요소 저장소의 현재 상태는 정상입니다. , 나. 이자형. 수리가 필요하지 않습니다.
문제나 오류가 감지되면 다음 명령을 사용하여 저장소 복구를 실행해야 합니다.
Dism.exe /Online /Cleanup-Image /Restorehealth |
Dism.exe /온라인 /Cleanup-Image /Restorehealth
동일한 Powershell 명령은 다음과 같습니다.
Repair-WindowsImage -Online -RestoreHealth |
복구-WindowsImage-온라인-RestoreHealth
이 경우 시스템 파일이 성공적으로 복구되었습니다.
복원 작업이 성공적으로 완료되었습니다. 구성 요소 저장소 손상이 복구되었습니다.
시스템이 Store의 일부 구성 요소를 복구할 수 없는 경우 Windows 8 설치 디스크가 필요할 수 있습니다. DVD-ROM에 디스크를 삽입하거나 ISO 이미지를 마운트하십시오. 문자 G가 배포 디스크에 할당되었습니다. PoSH 명령을 사용하여 디스크에서 사용 가능한 Windows 8 버전 목록을 표시해 보겠습니다.
Get-WindowsImage -ImagePath G:\sources\install.wim |
Get-WindowsImage -ImagePath G:\sources\install.wim
이 예에서는 디스크에 인덱스가 1(색인:1)인 이미지(Windows 8 Pro)가 하나만 있음을 알 수 있습니다.
다음 명령은 원본 Windows 8 이미지에서 손상된 구성요소를 교체하여 저장소 복구를 시작합니다.
Repair-WindowsImage -Online -RestoreHealth -Source G:\sources\install.wim:1 |
복구-WindowsImage-온라인-RestoreHealth-소스 G:\sources\install.wim:1
수리가 끝난 후 Component Store가 정상인지 확인하십시오.
다음(선택 사항) 단계는 다음 명령을 사용하여 시스템 파일의 무결성을 확인하는 것입니다.
sfc /scannow |
sfc /scannow