Windows Server C盘清理需优先启用cleanmgr深度扫描并勾选“清理系统文件”,再执行DISM /StartComponentCleanup /ResetBase强制清理WinSxS冗余组件,同时关闭休眠、迁移页面文件、清空SoftwareDistribution,配合自动化任务实现长效维护。
windows server 安装后,c盘常因系统更新、临时安装文件、winsxs 组件缓存、休眠文件、分页文件等迅速堆积冗余数据。这些不是普通用户文件,不能直接删除,需通过系统原生机制安全清理。关键在于区分“可见垃圾”和“受保护系统冗余”,并启用管理员级深度扫描能力。
启用 cleanmgr 深度清理(基础必备)
Server 默认可能不显示“磁盘清理”按钮或缺失关键选项,需手动补全或以正确方式调用:
- 若右键 C 盘属性中无“磁盘清理”按钮:需先复制 cleanmgr.exe 和对应语言资源文件(如 cleanmgr.exe.mui)到 C:\Windows\System32\ 及 C:\Windows\System32\zh-CN\(路径依系统语言和架构而定);
- 按 Win + R 输入 cleanmgr /d C: 启动,选择 C 盘后点击“清理系统文件”(必须点!否则看不到 Windows.old、更新清理等项);
- 二次扫描完成后,勾选:Windows 更新清理、以前的 Windows 安装(如有)、临时 Windows 安装文件、回收站、临时文件;
- 确认执行——此步会自动触发 DISM 后端清理逻辑,安全释放 WinSxS 中已过期的组件硬链接占用。
强制清理 WinSxS 和更新残留(高空间占用主因)
WinSxS 目录在资源管理器中显示体积巨大,但多数是硬链接引用,真实占用远小于此。真正可删的是已 superseded(被取代)的更新包:
- 以管理员身份运行 PowerShell 或 CMD,执行:
dism /online /Cleanup-Image /StartComponentCleanup /ResetBase
该命令清除所有旧版组件,并重置基础镜像,防止未来再次安装旧补丁; - 补充执行:
dism /online /Cleanup-Image /SpSuperseded
(仅适用于已安装 SP 的老版本 Server,如 2008 R2 SP1); - 清理前可先运行 sfc /scannow 确保系统文件完整,避免误删关键引用。
关闭非必要系统功能释放固定大文件
某些功能一旦启用,会在 C 盘生成不可移动的固定大小文件,关闭后可立即腾出数 GB 空间:
- 禁用休眠:管理员 CMD 中运行 powercfg.exe /hibernate off → 删除 hiberfil.sys(通常 2–4 GB);
- 迁移或禁用页面文件:在“系统属性 → 高级 → 性能设置 → 高级 → 虚拟内存”中,取消“自动管理”,将 C 盘设为“无分页文件”,为其他盘设置“系统管理的大小”;
- 清空 SoftwareDistribution 文件夹:停止 Windows Update 服务(net stop wuauserv),手动删除 C:\Windows\SoftwareDistribution\Download 内全部内容,再重启服务。
自动化与长期维护建议
Server 环境不宜依赖手动操作,推荐建立定期清理机制:
- 用 cleanmgr /sageset:100 配置好清理选项,再用任务计划程序定时运行 cleanmgr /sagerun:100;
- 对启用了重复数据删除(Deduplication)角色的 Server,可在备份卷上启用该功能,大幅压缩 VHD/备份文件冗余;
- 避免在 C 盘安装第三方软件或存放日志/转储文件;统一配置 IIS 日志路径、SQL Server 数据路径、事件查看器存档位置等到非系统盘。


















