WinSxS文件分析
组件存储(WinSxS 文件夹)包含组成 Windows 并允许你操作系统的组件。 这些组件保存在此文件夹中,以防需要回滚更改或修复损坏的文件。
此文件夹中的文件看起来可能存储在操作系统的多个位置中,但通常只有一个文件副本,其余副本实际上是硬链接。 某些工具(如文件资源管理器)会在不考虑包含的文件可能是硬链接的情况下确定目录的大小,这可能导致你认为 WinSxS 文件夹占用的磁盘空间较多,然而实际上有一部分空间并未被实际占用。
C:\Windows\WinSxS 文件大小参考下图:
判断WinSxS文件真实大小
我们通过运用DISM 来帮助确定 WinSxS 文件夹实际使用多少磁盘空间。
完整指令参考如下:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
执行后,需要进度100%,可以看到如下输出内容:
C:\Windows\system32>Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
部署映像服務與管理工具
版本: 10.0.19041.746
映像版本: 10.0.19045.3208
[==========================100.0%==========================]
元件存放區 (WinSxS) 資訊:
Windows 檔案總管所顯示的元件存放區大小 : 9.24 GB
元件存放區的實際大小 : 8.94 GB
與 Windows 共用 : 5.82 GB
備份和停用的功能 : 3.12 GB
快取和暫存資料 : 0 bytes
上次清理的日期 : 2023-11-09 10:37:12
可收回的套件數目 : 0
建議使用元件存放區清理 : 否
操作順利完成。
C:\Windows\system32>
以上,我们可以看出,WinSxS 文件夹看上去为 9.24 GB,但实际开销(备份和禁用功能的大小与缓存和临时数据的大小之和)为 3.12GB。那么多出来的这部分空间,我们要如何清理呢?
清理WinSxS文件夹
一些重要的系统文件仅位于 WinSxS 文件夹中。 删除 WinSxS 文件夹中的文件或删除整个 WinSxS 文件夹可能会严重损坏系统,导致你的计算机可能无法启动,并且无法进行更新。
鉴于清理系统文件可能的风险,请勿删除 WinSxS 文件夹,可使用 Windows 的内置工具减少 WinSxS 文件夹的大小。
==Dism.exe 的 /Cleanup-Image 参数可以清理 WinSxS 文件夹的无用空间==。
使用 /StartComponentCleanup 参数来清理,在 Windows 10 或更高版本的运行版本上使用 Dism.exe 的 /StartComponentCleanup 参数可自动清理组件。
Dism.exe /online /Cleanup-Image /StartComponentCleanup
执行后,除了早期版本的更新组件将立即删除(没有 30 天的宽限期),且将没有 1 小时的超时限制。
在 Windows 10 或更高版本的运行版本中,将 /ResetBase 参数和 DISM.exe 的 /StartComponentCleanup 参数一起使用,将删除组件存储区中每个组件的所有替换版本。
Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase
完成此命令后将无法卸载所有现有的更新程序包,但可以卸载将来的更新程序包。
清理完成后,备份和停用的功能由3.12GB减小到1.81GB。
WinSXS文件夹为什么会占用大量的空间
WinSXS(Windows Side-by-Side)文件夹会占用大量磁盘空间,主要原因如下:
系统组件备份:该文件夹存储了不同版本的系统组件和动态链接库(DLL),包括各个Windows更新、Service Pack和功能更新安装后保留的旧版文件。即使新版本已经安装并投入使用,旧版本文件仍被保存以确保与依赖旧版本的应用程序兼容。
组件存储:WinSXS用于存放系统补丁和组件的多个版本,以便在需要时进行回滚或为不同的应用程序提供所需的特定版本组件。
累积更新:随着时间推移,通过Windows Update接收的累积更新会不断添加新的文件,并且不会自动删除之前版本的文件,导致文件夹内容不断增长。
组件共享:为了支持多个应用同时使用相同组件的不同版本,WinSXS采用了一种称为“组件隔离”的机制,这意味着同一组件的不同版本可能都会被存储在该文件夹中。
因此,尽管WinSXS对于维护系统的稳定性和兼容性至关重要,但其内部的冗余和历史数据积累也会造成硬盘空间的大量占用。用户可以通过系统内置的磁盘清理工具或者使用DISM命令行工具等方法来安全地清理不必要的WinSXS组件备份,释放部分磁盘空间。
以上就是解决C盘空间的解决方法之一,分享给大家,希望以上对大家有所帮助。