首页/系统/Windows 运维速查/DISM 组件存储清理(WinSxS)
磁盘与文件43 条

DISM 组件存储清理(WinSxS)

WinSxS 不能手删:用 /AnalyzeComponentStore 量化,/StartComponentCleanup 清理被取代组件,/ResetBase 进一步压缩但影响更新回滚。

Windows 运维速查系统更新于 2026-10-13

组件存储清理是什么

WinSxS 是 Windows 的组件存储,保存着系统文件、更新包与驱动的一份权威副本,靠硬链接与系统目录共享,所以你在资源管理器里看到的体积是虚高的。它不能手工删,只能用 DISM 的清理子命令让系统自己判断哪些组件已被新版本取代、可以安全移除。清理后的收益主要是系统盘空间,代价是失去部分更新的卸载回滚能力。

基本信息

适用平台Windows 8/10/11、Server 2012 及以后
分析语法Dism /Online /Cleanup-Image /AnalyzeComponentStore
清理语法Dism /Online /Cleanup-Image /StartComponentCleanup
激进模式追加 /ResetBase,之后已装更新无法卸载
权限要求管理员命令行
耗时常见十几分钟到一小时,视组件数量与磁盘速度

典型使用场景

  • 系统盘紧张且确认空间被 WinSxS 占用时先分析再清理
  • 补丁打了很久、更新历史里堆了大量被取代组件,需要回收
  • 做黄金镜像或模板前,把镜像体积压到最小
  • 群集或虚拟机模板升级后统一清理,控制快照体积增长速度
  • 更新失败反复重试后,清理被取代组件再重新安装

常用示例

常用示例
Dism /Online /Cleanup-Image /AnalyzeComponentStore    # 先分析:给出可回收空间与建议
Dism /Online /Cleanup-Image /StartComponentCleanup    # 清理被取代的组件版本
Dism /Online /Cleanup-Image /StartComponentCleanup /ResetBase   # 更深,代价是更新不可卸载
Dism /Online /Cleanup-Image /CheckHealth              # 顺带确认组件存储健康
Dism /Online /Cleanup-Image /RestoreHealth            # 修复后再清理更彻底

分析输出读法

输出项含义如何判断
实际大小硬链接去重后的真实占用清理收益以这个为准
共享数与系统目录共享的链接数数值大说明实际占用远小于表面
可回收包已被取代、可安全移除的组件大于 0 才值得跑清理
建议清理系统给出的建议两者都不为 0 时清理收益明显
备份与禁用功能受限保留的组件带功能限制的组件不会被清掉
资源管理器里 WinSxS 显示几十 GB 属于正常现象,那是硬链接的重复计数;判断该不该清理要看 AnalyzeComponentStore 报的实际大小,而不是目录属性里的数字。
/ResetBase 之后所有已安装更新都无法卸载回滚。生产终端与需保留补丁回滚窗口的服务器,先评估更新策略再决定是否加这个参数。

易错点

  • 手工删除 WinSxS 下的文件会让后续更新与 sfc 修复失败,严重的需要就地升级修复,正确途径只有 DISM 清理
  • 不看分析结果直接上 /ResetBase,等于放弃了补丁回滚能力,出了问题只能重装或就地升级
  • 清理过程占大量磁盘 IO 且可能持续数十分钟,放在业务高峰执行会拖慢服务
  • 把 WinSxS 的目录属性大小当成真实占用去做容量规划,会一直误判系统盘不够用

数据来源与参考

  • Microsoft Learn:清理组件存储
  • Microsoft Learn:DISM /StartComponentCleanup

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌