Determine the Actual Size of the WinSxS Folder
Applies To: Windows 8.1, Windows Server 2012 R2
Why is the WinSxS folder so big? The short answer to this commonly asked question is that the component store (WinSxS folder) contains all the components that make-up Windows to allow you operate your system. These components are kept to rollback any problematic change or to repair a file that becomes corrupted. For more information about the component store, see Manage the Component Store. For information on how to delete files in the WinSxS folder, see Clean Up the WinSxS Folder.
For operating system files, it can appear that more than one copy of the same version of a file is stored in more than one place on the operating system, but there’s usually only one real copy of the file. The rest of the copies are just “projected” by hard linking from the component store. A hard link is a file system object that lets two files refer to the same location on disk. Some tools, such as the File Explorer, determine the size of directories without taking into account that the contained files might be hard linked. This might lead you to think that the WinSxS folder takes up more disk space than it really does.
Warning
Some important system files are located only in the WinSxS folder. Deleting files from the WinSxS folder or deleting the entire WinSxS folder might severely damage your system, so that your PC might not boot, and make it impossible to update.
A new option has been added to the DISM tool for Windows 8.1 to help determine how much disk space the WinSxS folder really uses.
Analyze the size of the component store (WinSxS folder)
Open an elevated command window and type:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
Note
The /AnalyzeComponentStore option isn’t recognized on Windows 8 and earlier.
The information returned is:
Title | Description |
---|---|
Windows Explorer Reported Size of Component Store |
This value the size of the WinSxS folder if computed by Windows Explorer. This value doesn’t factor in the use of hard links within the WinSxS folder. |
Actual Size of Component Store |
This value factors in hard links within the WinSxS folder. It doesn’t exclude files that are shared with Windows by using hard links. |
Shared with Windows |
This value provides the size of files that are hard linked so that they appear both in the component store and in other locations (for the normal operation of Windows). This is included in the actual size, but shouldn’t be considered part of the component store overhead. |
Backups and Disabled Features |
This is the size of the components that are being kept to respond to failures in newer components or to provide the option of enabling more functionality. It also includes the size of component store metadata and side-by-side components. This is included in the actual size and is part of the component store overhead. |
Cache and Temporary Data |
This is the size of files that are used internally by the component store to make component servicing operations faster. This is included in the actual size and is part of the component store overhead. |
Date of Last Cleanup |
This is the date of the most recently completed component store cleanup. |
Number of Reclaimable Packages |
This is the number of superseded packages on the system that component cleanup can remove. |
Component Store Cleanup Recommended |
This is a component store cleanup recommendation. Cleanup is recommended when performing a cleanup process may reduce the size of the component store overhead. |
Determine if you should clean up the component store (WinSxS folder) based on the analysis results
Open an elevated command window and type:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
If cleanup is recommended then follow steps in the related topic, Clean Up the WinSxS Folder.
See Also
Tasks
Reference
DISM Operating System Package Servicing Command-Line Options
Concepts
Other Resources
Where Did My Space Go? (blog post)
Servicing changes in Windows 8.1/Server 2012 R2
NTFS Metafiles blog post
How to create and manipulate NTFS junction points