先说几个关键判断:经常占用20GB以上、甚至超过50GB的WinSxS文件夹,是C盘空间大户里最让人头疼的一个——它不显示真实占用、不能直接删除、又不能放任不管。你必须使用系统认可的方法安全压缩它,否则每次Windows更新后,空间只会越积越多。
先确认WinSxS实际占用大小
不少用户发现,右键“此电脑”→“管理”→“磁盘管理”,找到C盘再选“属性”,看到的那个“大小”其实虚得很。真正的WinSxS占用,需要以管理员权限查看:按Win+X,选择“Windows Terminal(管理员)”,输入:
dism /online /Cleanup-Image /AnalyzeComponentStore → 回车。等几秒,它会明确告诉你“组件存储实际占用 XX GB”。这个数字,才是你真正应该关注的目标。
如果显示的是“未发现可清理内容”或“当前状态良好”,意味着当前没有冗余组件,强行清理是无效的。
执行安全清理:两步命令法
第一步,运行基础清理,移除已过期的旧版组件(30天宽限期已过):
dism /online /Cleanup-Image /StartComponentCleanup → 回车。这个命令无需额外参数,运行时间大约2到8分钟。注意,期间不要关闭窗口或重启系统。
第二步,彻底重置组件引用关系,释放最多空间:
dism /online /Cleanup-Image /StartComponentCleanup /ResetBase → 回车。需要警惕的是:这条命令执行后,无法再回退到旧版本Windows更新。但它不影响当前系统稳定性,只是清除了所有旧版更新包的安装能力。如果你近期没有降级系统补丁的计划,这一步能多腾出30%到40%的WinSxS空间。
两条命令必须按顺序执行,而且每一条都等它完全结束(看到“操作成功完成”提示),才能输入下一条。
用任务计划器触发自动清理(可选)
Windows自带的StartComponentCleanup任务,默认每个周末运行一次,但只清理满30天的旧组件。如果你刚做完大更新,想让它立刻执行:打开“任务计划程序”→左侧展开“任务计划程序库”→“Microsoft”→“Windows”→“Servicing”→双击“StartComponentCleanup”→点击“运行”。
不过,这个任务有1小时超时限制。如果WinSxS本身很大,它可能会中途停止——还是手动命令来得更彻底。
验证清理效果
清理后,再运行一次:
dism /online /Cleanup-Image /AnalyzeComponentStore
对比前后“实际占用”的数值。如果两次结果相差不足1GB,说明当前WinSxS已经接近最小体积,继续清理没有意义。
这时候你再去打开C:\Windows\WinSxS文件夹,右键属性看到的“大小”可能还是很大——那是硬链接造成的假象,不用理会。真正释放的空间,已经在磁盘可用容量里体现出来了。
这么说吧:清理WinSxS这件事,关键在于“信任系统命令,忽视右键属性”。按照上面两步操作,安全又省心。

