winsxs 是 windows 系统里面的组件存储文件夹 位于 C 盘 Windows 目录下 这个文件夹用来存放系统组件备份 更新缓存 旧版本组件 是系统维护和回滚更新的核心目录 很多用户发现 winsxs 占用几十 GB 甚至上百 GB 第一反应是直接手动删除里面文件 这个做法非常危险 手动删除很容易造成系统损坏 更新失败 无法卸载补丁 甚至开机蓝屏 正确清理 winsxs 太大的方案 是使用系统自带的 DISM 命令清理组件存储 搭配磁盘清理工具 清理旧版本更新备份 保留系统正常回滚需要的文件 核心原理就是删除已经不再需要的旧更新组件 保留当前正在使用的系统组件 处理之前建议确认 C 盘剩余空间 并且创建系统还原点 防止清理之后出现异常可以回退 长期多次累积系统更新 大版本升级之后 旧版本组件没有自动清理 就会造成 winsxs 体积持续膨胀
winsxs 太大的主要原因
系统多次累积更新 旧版本组件一直保留在组件存储里面
大版本升级 windows 之后 旧系统备份组件没有自动清除
Windows 更新保留回滚文件 方便出问题回退到上一个版本
组件存储里面存放并行组件 系统运行需要调用 不能等同于普通垃圾文件
第三方优化软件强行改动组件存储 造成冗余文件堆积
详细操作步骤
第一步 查看 winsxs 真实占用大小
右键开始菜单 打开终端管理员
输入 Dism /Online/Cleanup-Image /AnalyzeComponentStore
回车执行分析
命令会输出组件存储大小 是否推荐清理
这里要注意 资源管理器看到的大小包含硬链接 会比实际占用更大 以 DISM 分析结果为准
第二步 使用 DISM 执行组件清理
管理员终端执行
Dism /Online/Cleanup-Image /StartComponentCleanup
这个命令会清理过期不再使用的旧组件
等待进度跑完 重启电脑
如果想要深度清理 连同旧版本更新备份一起删除 执行
Dism /Online/Cleanup-Image /StartComponentCleanup/ResetBase
注意 ResetBase 执行之后 已经安装的更新将无法卸载回退
第三步 使用磁盘清理清理更新备份
此电脑右键 C 盘 属性 磁盘清理
等待扫描完成 点击清理系统文件
再次扫描系统文件
勾选 Windows 更新清理 旧版 windows 安装文件
确认执行清理
这个方式可以清理一部分 winsxs 关联的更新缓存
第四步 关闭自动保留旧版本组件相关设置
如果是刚完成大版本升级 十天回滚期内 旧系统备份会保留
超过回滚期限之后 系统会自动清理 也可以手动提前清理
不建议修改注册表强行禁用组件存储保护机制
第五步 补充系统修复
清理完成之后 可以执行
sfc /scannow
检查系统文件完整性
如果 DISM 报错 可以先执行
Dism /Online/Cleanup-Image /RestoreHealth
修复组件存储本身的损坏 再做清理
重要禁忌说明
禁止直接打开 winsxs 文件夹手动删除文件
winsxs 里面大量文件是硬链接 手动删除会破坏系统组件依赖
ResetBase 清理之后 已经安装的补丁不能卸载 这点一定要提前知晓
不要使用不知名第三方瘦身软件 很多这类软件误删组件 后期系统更新报错
补充深度说明
winsxs 不是单纯的垃圾目录 它是 WinSxS 并行组件存储机制 设计初衷就是让不同软件可以调用不同版本系统组件 保证兼容性 所以体积天生会比普通文件夹大
硬链接机制是很多用户误解的根源 资源管理器统计的时候 同一个文件会重复计数 显示体积虚高 不要只看资源管理器数字判断 winsxs 太大
企业域环境电脑 清理 winsxs 之前 建议确认是否还有补丁回滚需求 避免 ResetBase 之后无法回退补丁
【常见问题】
问题 1 winsxs 太大了怎么清理 可以直接手动删除吗
回答 1 winsxs 太大了怎么清理 不可以直接手动删除文件夹内文件 winsxs 是系统组件存储 手动删除会破坏系统组件依赖 正确方式是使用 DISM 命令清理 winsxs 太大的冗余组件
问题 2 winsxs 太大了怎么清理 ResetBase 有什么影响
回答 1 winsxs 太大了怎么清理 使用 ResetBase 深度清理 winsxs 太大的旧组件 执行之后已经安装的系统更新将无法卸载回退 如果后续补丁有问题 不能通过卸载补丁恢复 操作前要清楚这个影响
问题 3 winsxs 太大了怎么清理 资源管理器显示大小不准吗
回答 1 winsxs 太大了怎么清理 资源管理器统计 winsxs 会把硬链接重复计算 数值虚高 想要看真实占用 推荐运行 DISM AnalyzeComponentStore 分析 winsxs 太大的实际存储体积
问题 4 winsxs 太大了怎么清理 清理之后系统更新还正常吗
回答 1 winsxs 太大了怎么清理 使用官方 DISM 和磁盘清理清理之后 正常不会影响后续系统更新 只要没有误删核心组件 清理 winsxs 太大冗余旧组件之后 后续更新依然可以正常推送安装
【免责申明】
本文内容仅供参考 DISM ResetBase 清理会导致已安装更新无法卸载 操作前建议创建系统还原点并备份重要数据 因个人操作不当造成系统异常 补丁无法回退等问题 本文不承担相关责任
