이 기사에서는 WinSxS에 대해 설명합니다. Windows의 폴더, 지속적인 성장의 이유와 정리 방법. C:\Windows\WinSxS 디렉토리는 Windows 구성 요소의 리포지토리입니다. 이 디렉토리에는 다양한 Windows 역할 또는 기능의 설치 및 작동에 필요한 DLL, 바이너리 및 XML 파일이 포함되어 있습니다. Windows 업데이트를 설치할 때(보통 매달 발생) 업데이트된 구성 요소의 새 버전이 시스템에 설치되고 이전 버전은 WinSxS 폴더에 저장됩니다(호환성을 제공하고 Windows 업데이트를 제거할 때 이전 버전의 구성 요소).
WinSxS 디렉토리는 시간이 지남에 따라 크기가 커졌습니다. 또한, 그 크기는 무엇으로도 제한되지 않습니다(실제로 Windows 10의 WinSxS 폴더 크기는 15-20GB를 거의 초과하지 않음).
이 기사에서는 Windows 10 및 Windows Server 2016/2019에서 WinSxS 폴더를 정리하는 가장 안전한 방법을 살펴보겠습니다.
- 구성요소 저장소 최적화 Windows 업데이트를 설치한 후 남은 Windows 구성 요소 파일의 이전 버전을 제거합니다.
- 주문형 기능 – 디스크에서 사용하지 않는 Windows 구성 요소를 제거할 수 있습니다.
- NTFS 압축 사용 WinSxS 폴더에서 – NTFS 파일 시스템의 내장 압축을 사용하여 WinSxS 디렉토리의 크기를 줄이는 방법입니다.
Windows 10에서 WinSxS 폴더의 실제 크기를 확인하는 방법
Windows에서 WinSxS 폴더의 현재 크기를 가져오는 가장 쉬운 방법은 %windir%\WinSxS
의 속성을 여는 것입니다. 파일 탐색기의 폴더(또는 PowerShell 스크립트 사용). 그러나 대부분의 파일 관리자(파일 탐색기 포함)는 디스크에서 차지하는 것보다 약간 더 큰 WinSxS 폴더 크기를 표시합니다.
사실 WinSxS 디렉토리에는 다수의 하드 링크가 포함되어 있습니다. (심볼 링크)를 다른 폴더의 시스템 파일에 연결합니다. 파일 관리자는 WinSxS 폴더의 크기를 계산할 때 하드 링크가 참조하는 파일의 크기를 고려하지만 이는 정확하지 않습니다.
du 를 사용하여 디스크에 있는 WinSxS 폴더의 실제 크기를 확인할 수 있습니다. Sysinternals의 도구: du -v c:\windows\winSXS
DISM 명령을 사용하여 구성 요소 저장소(WinSxS 폴더)의 크기를 분석할 수도 있습니다.
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
Deployment Image Servicing and Management tool [==========================100.0%==========================] Component Store (WinSxS) information: Windows Explorer Reported Size of Component Store : 8.44 GB Actual Size of Component Store : 8.15 GB Shared with Windows : 5. 74GB Backups and Disabled Features : 1.97 GB Cache and Temporary Data : 438.31 MB Date of Last Cleanup : 2021-02-22 20:37:29 Number of Reclaimable Packages : 1 Component Store Cleanup Recommended : Yes The operation completed successfully.
보시다시피 이 경우 WinSxS 폴더의 크기를 (1,97 + 0,44) Gb로 줄일 수 있습니다.
DISM 명령을 사용하면 Windows 이미지를 확인하고 복구할 수도 있습니다.
DISM /Online /Cleanup-Image /RestoreHealth
Windows에서 구성 요소 저장소(WinSxS 폴더)를 정리하는 방법
Windows 구성 요소 저장소(WinSxS 폴더)를 지우는 가장 빠르고 쉬운 방법은 다음 명령을 사용하여 저장소를 최적화하는 것입니다.
Dism.exe /Online /Cleanup-Image /StartComponentCleanup
StartComponentCleanup
DISM 옵션은 Windows 8 및 Windows Server 2012부터 모든 Windows 버전에서 지원됩니다. 청소가 완료되면 구성 요소 저장소의 현재 크기를 확인하십시오.
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
내 예에서 이것은 WinSxS 폴더의 크기를 2.4GB로 줄였습니다.
/StartComponentCleanup
옵션에는 추가 /ResetBase가 있습니다. Windows 업데이트를 설치한 후 남아 있는 모든 이전 버전의 구성 요소를 제거할 수 있는 옵션입니다. 그 후에는 설치된 업데이트 또는 서비스 팩을 제거할 수 없으며 제거 버튼이 업데이트 제거에서 사라집니다. 제어판 항목). 구성 요소의 이전 버전을 정리하려면 다음을 실행하십시오.
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
DISM /online /Cleanup-Image /spsuperseded
"디스크 정리" 마법사를 사용하여 오래된 업데이트 파일을 제거할 수도 있습니다.
cleanmgr
실행 관리자로서의 명령- 디스크를 선택하고 다음 창에서 "시스템 파일 정리 "버튼;
- 그런 다음 'Windows 업데이트 정리 " 옵션. 디스크 정리 도구는 오래된 Windows 업데이트 파일을 삭제하여 확보할 수 있는 공간을 보여줍니다. 내 예에서는 324MB입니다. 확인을 클릭하여 정리를 시작합니다.
DISM을 사용하여 구성 요소 저장소 정리를 마친 후 사용 가능한 디스크 공간이 얼마나 되는지 확인하세요.
또한 Windows 10/Windows Server 2016 작업 스케줄러에는 WinSxS 폴더를 정기적으로 최적화하고 정리하는 특별한 자동 유지 관리 작업이 있습니다. (StartComponentCleanup 매개변수가 있는 DISM과 동일한 작업). 이 StartComponentCleanup 작업은 taskschd.msc
의 \Microsoft\Windows\Servicing 섹션에 있습니다. . 이 작업은 백그라운드에서 실행되며 최신 파일로 대체된 30일이 지난 구성 요소 버전을 자동으로 제거합니다.
다음과 같이 이 작업을 수동으로 시작할 수 있습니다.
schtasks.exe /Run /TN "\Microsoft\Windows\Servicing\StartComponentCleanup"
Windows 10/Windows Server에서 사용하지 않는 역할 및 기능 제거
이전 기사에서 주문형 기능의 개념을 다루었습니다. Windows에서는 WinSxS 폴더에서 사용하지 않는 역할의 바이너리 파일을 제거할 수 있습니다. Uninstall-WindowsFeature PoweShell cmdlet을 사용하여 Windows Server에서 역할 및 기능 바이너리를 제거할 수 있습니다.
Windows 10에는 Uninstall-WindowsFeature cmdlet이 없으며 DISM.exe를 사용하여 Windows 이미지에서 기능을 제거해야 합니다.
DISM은Uninstall-WindowsFeature
와 달리 PowerShell cmdlet은 종속 기능을 제거하지 않습니다.
Windows 10 이미지에서 사용 가능한 전체 기능 목록은 다음 명령을 사용하여 얻을 수 있습니다.DISM.exe /Online /English /Get-Features /Format:Table
예를 들어 TelnetClient를 제거하려면 Windows 이미지(WinSxS 폴더에서)에서 기능을 사용하려면 다음 명령을 실행합니다.DISM.exe /Online /Disable-Feature /Featurename:TelnetClient /Remove
Windows에서 사용할 수 있는 모든 주문형 기능의 목록을 표시하면 구성 요소 상태가 페이로드가 제거된 비활성화됨으로 변경된 것을 볼 수 있습니다. .
따라서 Windows에서는 디스크에서 사용하지 않는 구성 요소를 제거하여 WinSxS 폴더의 크기를 크게 줄일 수 있습니다. 유일한 것은 이 정리 방법이 Windows 10 기능과 용도에 익숙한 고급 사용자에게만 적합하다는 것입니다.
Windows 10의 WinSxS 폴더에서 NTFS 압축을 활성화하는 방법
Windows 10에서 WinSxS 디렉토리의 크기를 줄이는 또 다른 방법은 NTFS 파일 시스템 수준에서 디렉토리 내용을 압축하는 것입니다.
참고. 시스템 구성에 대한 비표준 개입의 경우와 마찬가지로 Windows 10 이미지의 전체 백업을 생성하는 것이 좋습니다.- 관리자 권한으로 명령 프롬프트를 엽니다.
- Windows Installer 중지 및 비활성화 및 Windows 모듈 설치 프로그램 서비스:
sc stop msiserver
sc stop TrustedInstaller
sc config msiserver start= disabled
sc config TrustedInstaller start= disabled - 내장된 icacls 도구를 사용하여 WinSxS 디렉토리의 파일 및 폴더에 할당된 ACL(액세스 제어 목록)을 백업해 보겠습니다. ACL의 백업 복사본은 모든 파일과 디렉터리와 여기에 할당된 NTFS 권한을 나열하는 일반 텍스트 파일입니다(나중에 이 파일은 원래 ACL을 복원하는 데 필요합니다):
icacls "%WINDIR%\WinSxS" /save "%WINDIR%\WinSxS_NTFS.acl" /t
- WinSxS 폴더 및 모든 하위 폴더의 소유자로 자신을 지정합니다.
takeown /f "%WINDIR%\WinSxS" /r
- 계정에 WinSxS 디렉토리에 대한 모든 권한 부여:
icacls "%WINDIR%\WinSxS" /grant "%USERDOMAIN%\%USERNAME%":(F) /t
- 이제 compact를 사용하여 WinSxS 디렉토리의 파일을 압축할 수 있습니다. 명령. 일부 파일은 Windows에서 사용할 수 있으므로
/i
를 지정해야 합니다. 옵션. 그렇지 않으면 압축이 첫 번째 잠긴 파일에서 중지됩니다(Windows 10에서는 고급 LZX 압축을 사용할 수 있음):compact /s:"%WINDIR%\WinSxS" /c /a /i *
- WinSxS 디렉토리 소유자를 TrustedInstaller로 다시 복원:
icacls "%WINDIR%\WinSxS" /setowner "NT SERVICE\TrustedInstaller" /t
- 이전에 생성한 ACL 백업 파일을 사용하여 WinSxS 폴더 항목에 대한 원래 ACL 복원:
icacls "%WINDIR%" /restore "%WINDIR%\WinSxS_NTFS.acl"
- Windows Installer 및 Windows Module Installer 서비스의 기본 시작 유형 복원:
sc config msiserver start= demand
sc config TrustedInstaller start= demand
이제 WinSxS 폴더의 현재 크기를 확인하십시오.
보시다시피 압축 후 WinSxS 폴더의 크기가 9.4GB에서 축소된 이 예에서 6.5GB로 (약 3분의 1). 특히 소형 SSD 드라이브의 경우 나쁘지 않습니다.
이러한 명령은 별도로 실행하거나(각각의 결과를 추적하는 것이 훨씬 더 쉽습니다) 단일 스크립트 파일에서 사용할 수 있습니다. 실행하면 WinSxS 폴더에 있는 항목에 대해 설명된 압축 절차가 시작됩니다. 바로 사용 가능한 배치 파일을 다운로드하여 WinSxS에서 NTFS 압축을 활성화할 수 있습니다. winsxs_ntfs_compress.bat
새 Windows 업데이트 또는 앱을 설치한 후 WinSxS 폴더에 압축되지 않은 새 파일이 나타나기 때문에 이 스크립트를 정기적으로 사용할 수 있습니다.
WinSxS 폴더 압축의 영향 ? Windows는 압축 파일과 투명하게 작동합니다. 그러나 이러한 파일을 처리할 때 압축을 풀거나 압축하는 데 CPU 시간이 추가로 소요될 수 있습니다. 이로 인해 Windows 구성 요소 또는 업데이트를 설치할 때 속도가 약간 느려질 수 있습니다. 그러나 최신 CPU에서는 파일 압축/압축 해제 작업이 거의 즉시 수행되므로 사용자는 성능에 대한 실제 영향을 알아차리지 못할 수도 있습니다.