一份关于 Windows 11 电脑的 C 盘清理指南

Gemini_Generated_Image_i0jeiqi0jeiqi0je.jpg|487

急着动手?直接看速查版:电脑 C 盘清理速查卡,全部命令一条引用到位。

运行方式:本文所有 PowerShell 代码块均建议以管理员身份运行(Win + R 输入 Powershell)。设置类操作为图形界面,无需管理员。

难度标签:🟢 普通(人人可照做)|🟡 进阶(需理解命令含义)|🔴 高级(影响系统、谨慎操作)。

一些更改同样适用于 D 盘 E 盘的清理

为什么要写这份指南?

网上的 C 盘清理视频和博客很多,但绝大多数是“通用教程”:把磁盘清理、存储感知、删 Temp 讲一遍就完事。它们有几个共同的问题:

  • 不讲先诊断:每个人的 C 盘大头不一样,有人是 WinSxS 膨胀,有人是 Docker 虚拟磁盘,有人是微信缓存。不先找出大头就照着通用清单清,可能清了半天只释放几百 MB。
  • 不敢给进阶操作:DISM、休眠文件、WSL 磁盘压缩这些真正能释放几个 GB 的操作,要么不讲,要么一笔带过,还经常不给完整的命令。

针对我这台 Windows 11 + Docker Desktop(WSL2)机器,先诊断、后清理,每个操作给出可复制的命令和风险等级,最后用表格记录每次清理的实际效果,方便以后复查。

来,我们先看看这次 C 盘清理的效果记录条形图:

效果记录条形图|573

注:微信文件迁移、压缩 docker_data.vhdx 的直接收益体现在 D 盘瘦身(微信存储路径本就设置在 D 盘),但对 C 盘而言收益效果一致,故计入图中。


第一步:先诊断,别急着清

网上教程最大的错误就是上来就清。正确顺序是先知道空间都去哪了。

用 WizTree(免费、NTFS 扫描极快)扫一遍 C 盘,WizTree 相比于 Spaceniffer 来说,内存占用和扫描速度更快,我认为更适合作为 C 盘的诊断工具。

WizTree 的安装:

image.png|557

WizTree 的扫描结果:

cpan2.png|559

重点看这几个区域:

  • C:\Windows\WinSxS —— 系统组件存储,可能膨胀到 10~20 GB

  • C:\Windows\SoftwareDistribution\Download —— Windows 更新缓存

  • C:\Users\<用户名>\AppData\Local —— 各种软件缓存、Docker 的 vhdx 都在这里

cpan3.png|535

  • C:\hiberfil.sys、C:\pagefile.sys —— 休眠文件与页面文件

cpan4.png|597


第二步:系统级清理(官方支持清理区)

这一层的操作全部是微软官方支持的方式,不碰系统关键文件。

🟢 1. 存储感知

设置 → 系统 → 存储 → 存储感知,开启自动清理,并点击"配置存储感知或立即运行",把临时文件保留时限设为 0 天,勾选"删除我的应用未在使用的临时文件",然后点击"立即清理"。

image.png|582

cpan5.png|569

🟢 2. 磁盘清理老面板

新版"清理建议"覆盖范围比老面板小,windows.old、还原点这些还得用老面板。

磁盘清理前后对比:

Win + R 输入 cleanmgr,选中 C 盘,点"清理系统文件",

勾选:

  • Windows 更新清理(能释放几个 GB)
  • 以前的 Windows 安装(windows.old,需要注意的是:清完就退不回旧版本)
  • 临时文件、缩略图

cpan9.png|372

cpan10.png|528

等待磁盘清理完成即可:

cpan11.png

🟡 3. DISM 清理组件存储(WinSxS)

WinSxS 是系统更新组件的存储库,会保留旧版本以便回滚,长期不清理能膨胀到 10 GB 以上。

注意:永远不要手动删 WinSxS 里的文件,必须用官方命令。

先用管理员身份打开 PowerShell,分析能释放多少:

1
DISM /Online /Cleanup-Image /AnalyzeComponentStore

结果因人而异,就拿我的 Powershell 结果来看:如果可回收的程序包数目为 0 ,推荐使用组件存储清理为“否”,其实就没有必要继续清理。

cpan13.png|543

但是如果输出里的“可回收的程序包数”不为零以及“推荐使用组件存储清理”,请执行标准清理:

1
DISM /Online /Cleanup-Image /StartComponentCleanup

如果还想更激进,加 /ResetBase 参数(会立即删除所有旧版组件,清理后将无法卸载已安装的系统更新):

1
DISM /Online /Cleanup-Image /StartComponentCleanup /ResetBase

注意:/ResetBase 适合已经确认系统稳定、希望释放更多空间的用户。它会删除旧版本组件,因此执行后无法卸载当前已经安装的 Windows 更新。在执行前,请你确认自己接受不可卸载更新这个后果。

🟢 4. 清 Windows 更新缓存

如果 SoftwareDistribution\Download 积压很多,先停止服务再删,避免文件被占用:

1
2
3
4
5
net stop wuauserv
net stop bits
Remove-Item C:\Windows\SoftwareDistribution\Download\* -Recurse -Force
net start wuauserv
net start bits

第三步:系统文件(慎用区)

这些操作会影响系统行为,看自己需求来,明确标注风险。

🟡 1. 休眠文件 hiberfil.sys

关闭休眠的前后对比:

image.png

image.png

启动页面对比(左:未关闭休眠 右:关闭休眠):

如果你从来不用"休眠"(注意不是"睡眠"[注1]),可以直接关掉。

管理员身份打开 Powershell 窗口,输入以下指令关闭“休眠”功能:

1
powercfg /h off

(修改之后如果想要回滚:)

1
powercfg /h on

想保留休眠但要精简(快速启动仍然可用,但是无法在任务栏使用“休眠”功能):

1
powercfg /h /type reduced

(修改之后如果想要回滚:)

1
powercfg /h /type full

🟡 2. 页面文件 pagefile.sys

虚拟内存,一般不建议关闭。如果 C 盘实在紧张,可以调整到合适的大小(具体调整道多大多小得看具体的自己设备),如果你的 D 盘是本地硬盘的话,也可以把它迁移到 D 盘:

Win + R 输入 sysdm.cpl

cpan15.png

高级系统设置 → 性能"设置" → 高级 → 虚拟内存"更改"
不推荐完全关闭 C 盘的虚拟内存,可以调整变小(比如 16GB (约16384 MB)-> 8192 MB),但最佳实践依旧是:选择“系统管理的大小”。
这一部分往往不是 C 盘爆满的大头,如果调整的不好反而让你电脑的运行体验变差,适得其反,得不偿失。

cpan16.png|588

这一部分的操作可逆,你可以随时滚回电脑稳定运行时候的 pagefile.sys 的设置。

🟢 3. Windows 临时目录

可以先看看系统级 Temp 占用了多少空间,再决定有没有清理价值:

1
"{0:N2} MB" -f ((Get-ChildItem C:\Windows\Temp -Recurse -ErrorAction SilentlyContinue | Measure-Object Length -Sum).Sum / 1MB)

可以分析出:我的系统级 Temp 文件大概是有 1.25 MB左右,如果是这样的话就没有太大清除的必要。

cpan21.png|605

如果你的诊断结果显示占用空间很大,使用以下管理员 Powershell 命令清除:

1
Remove-Item C:\Windows\Temp\* -Recurse -Force -ErrorAction SilentlyContinue

🟡 4.系统还原点

系统还原点主要备份 Windows 系统状态(系统文件、注册表、驱动和设置),不是个人文件或软件数据备份,大多数普通用户平时用不到。

适合留下系统还原点的人:经常安装软件、驱动、修改系统设置、喜欢折腾电脑,或者没有其他完整备份的人。

可以关闭的人:电脑使用稳定、不怎么改系统,并且更需要释放磁盘空间的人。

关闭系统还原点前后对比图:

Win + R 输入:

1
systempropertiesprotection.exe

cpan41.png

可以在“系统保护 → 配置”中调整最大使用量。

cpan43.png|580

cpan44.png


第四步:用户级与应用级(大头通常在这)

🟢 1. 用户临时文件

同理,可以先看看用户 Temp 占了多少空间,再决定有没有清理价值:

1
"{0:N2} MB" -f ((Get-ChildItem $env:TEMP -Recurse -ErrorAction SilentlyContinue | Measure-Object Length -Sum).Sum / 1MB)

可以分析出:我的用户临时文件大概是有 2.60 MB左右,如果是这样的话就没有太大清楚的必要。

cpan21.png|597

但是如果你的分析结果不同,这一部分占用很多的话,使用以下管理员 Powershell 命令清除用户临时文件:

1
Remove-Item $env:TEMP\* -Recurse -Force -ErrorAction SilentlyContinue

当然,你也可以选择另一种方式清除用户 Temp 文件:

cpan17.png

右键 Temp 文件夹 -> 属性 -> 查看文件占用大小,发现并不小,足足占了 5 GB!

cpan20.png

Ctrl+A 全选文件删除:

cpan18.png|594

清除临时目录的过程中,如果遇到软件占用就跳过、非常不建议强杀进程。

cpan19.png

注意:这里清理的是用户层级的 Temp 文件,在 C:\Users\DEL\AppData\Local\Temp 下;而[[#🟢 3. Windows 临时目录]] 这一步清理的是 Windows 系统层级的 Temp 文件,通常在 C:\Windows\Temp 目录下,这是不一样的。

🟢 2. 开发缓存

日常写脚本、装软件攒下的包管理器缓存:

1
2
npm cache clean --force
pip cache purge

能清理出多少完全取决于你使用相关包的多少。

🟡 3. 微信/QQ 缓存

微信的"文件管理"默认在 C:\Users\<用户名>\Documents\WeChat Files,聊天图片视频缓存动辄 10 GB 以上。设置里把存储位置改到其他存储空间大的硬盘(微信 → 设置 → 文件管理 → 更改)。

可以看到,我的本地微信存储空间占用了 22.7 GB左右,这是一个很大的存储占用。

cpan25.png|280

迁移方式也不难,方式如下:

cpan22.png|520

我们耐心等待迁移完成:

🔴 4. Docker Desktop

先输入:

1
docker system df

检查 Docker 各部分存储占用情况。

image.png|567

再看:

1
docker image ls

分析有哪些镜像被使用,哪些镜像占用空间大,哪些镜像不再使用。

然后:

1
docker image prune

只删除悬空镜像。这一步往往可以清除一部分的镜像,腾出一部分的空间。

cpan29.png|598

这里是分割线 呜呼呼

注意:以下操作主要适用于 Docker 使用频繁、vhdx 已明显增大(20 GB为分界)的用户。普通用户如果 Docker 使用较少,可以跳过这部分操作。

压缩前后的效果对比:

Docker 的镜像和容器数据都装在:

C:\Users\DEL\AppData\Local\Docker\wsl\disk\docker_data.vhdx

Docker Desktop 的 WSL2 虚拟磁盘 ext4.vhdx 会随着使用自动增长,但删除镜像和容器后,文件通常不会立即缩小,需要手动执行压缩操作才能回收 C 盘空间。

cpan27.png|585

cpan28.png|589

就拿我的 Docker Desktop 来说,结合前面的 docker system df (检查 Docker 各部分存储占用情况)。我们可以把现在的情况理解成:

1
2
Docker 实际数据       ≈ 2.9 GB
docker_data.vhdx = 6.82 GB

VHDX 比 Docker 统计的数据大一些是正常的,因为里面还包含虚拟文件系统自身的开销和已经分配的空间。像我这种情况其实是没有清理这部分数据的必要的。但是如果你发现 docker_data.vhdx 远远大于你的 Docker 实际数据,就需要清理压缩操作了。

先彻底退出 Docker Desktop(托盘图标消失即代表已完全退出),然后压缩。压缩采用只读挂载后 compact,正常退出 Docker 再操作不会损坏数据;动手前确认重要容器/镜像已备份(或确认可丢弃)即可。

1
wsl --shutdown

确认文件以后,再运行:

进入 DiskPart

1
diskpart

选择 Docker 的 VHDX

1
select vdisk file="C:\Users\<用户名>\AppData\Local\Docker\wsl\disk\docker_data.vhdx"

将 C:\Users\<用户名>\... 替换为你实际的 docker_data.vhdx 文件路径。

只读挂载并压缩

1
2
attach vdisk readonly
compact vdisk

卸载并退出

1
2
detach vdisk
exit

另外,compact vdisk 如果最后提示类似:

1
DiskPart successfully compacted the virtual disk file.

就说明压缩成功。

治本的办法是直接把 Docker 的数据盘挪到本地的 D 盘(注意:最好是本地硬盘):

迁移前后的效果对比:

cpan12_kongjianshiyi.png|255

cpan36.png

操作步骤: Settings → Resources → Advanced → Disk image location

cpan30.png|547

cpan31.png|604

在 D 盘下建立一个新的 Docker 文件夹用于放置 vhdx 数据:

cpan32.png|590

将 Disk image location 路径改成 D:\Docker 后 Apply & Restart。

cpan35.png|593

cpan35.png|541

cpan35.png|538

🟢 5. 下载文件夹:清理存量 + 迁移增量

下载 文件夹是最容易积灰的地方,每次清理 C 盘都建议先检查。

① 清理存量

将重要文件归档到 D/E 盘对应目录,安装包、失效压缩包、重复文件直接删除。

但清理只能解决“已经有的”,迁移才能解决“以后还会来的”。

② 修改浏览器下载位置

以 Chrome 为例:

1
设置 → 下载内容 → 更改下载位置

建议修改到:

1
E:\Downloads

cpan37.png|536

③ 修改 Windows 默认保存位置

路径:

1
设置 → 系统 → 存储 → 高级存储设置 → 保存新内容的地方

image.png|533

image.png|554

将新的文档、图片、视频、音乐调整到 D/E 盘。

④ 其他数据规划

  • 大型软件 / 游戏 / 素材:优先安装到 SSD 分区(比如我的 D 盘),机械硬盘更适合作为归档和备份。
  • 工业软件(SolidWorks、CATIA、MATLAB 等):建议安装到SSD 分区(比如我的 D 盘),但部分组件仍可能写入 C 盘。
  • Python / Node.js:主程序体积不大,可以默认安装;开发者更需要关注 .venv、pip 缓存、npm 包和 node_modules。
  • Obsidian / 博客 / 项目文件:不要放 C 盘,建议放独立磁盘,并配合 Git、云同步或备份。

⚠️ 删除文件前确认内容。

误删重要文件可以尝试:Recuva

它曾经帮我恢复过一次误删的文章(整理了两三天),避免了一次数据损失。

如果你问我为什么误删了,都是因为下面这个命令:

1
Remove-Item "C:\Users\DEL\Desktop\学习资料" -Recurse -Force

cpan26_qiangzhiqingli.png|544

其实当时,是为了强行删除因为权限不足被锁定的文件夹。但是会永久删除,谨慎使用!


维护节奏

  • 每周:

    • [x] 存储感知"立即清理"
    • [x] DISM /Online /Cleanup-Image /AnalyzeComponentStore 看一眼
    • [x] Windows 临时文件夹清理
  • 每月:

    • [x] WizTree 扫一遍,确认 C 盘大头没有悄悄换人
    • [x] 清 Windows 更新缓存
    • [x] 清理开发缓存

避坑清单

  • [x] 不要手动删 WinSxS 里的任何文件,会损坏系统
  • [x] 不要删恢复分区,蓝屏时的最后一道保险
  • [x] /ResetBase 谨慎用,清完无法卸载系统更新
  • [x] 别装"XX 清理大师"“XX 管家”,清理效果不如上面这些,还附带全家桶
  • [x] 微信/QQ 缓存清理前确认聊天记录已同步或备份

参考文章

【全网最完整】C盘清理保姆教学!耗时21天制作,看完你的C盘不可能还红_哔哩哔哩_bilibili
【建议收藏】全网最详细C 盘清理指南!!!绝对值得收藏!!!_哔哩哔哩_bilibili
C盘清理指南,清理出30G+起,超详细总结(建议收藏) - 知乎
C盘满了?别慌,这就教你如何清理!-荣耀俱乐部
WinSxS文件夹太大清理方法及步骤详解,小白向指南
WizTree下载安装和使用保姆级教程(附安装包,2026最新) - 知乎
“系统保护” | Microsoft Support
下载 Recuva | 免费恢复删除的文件!
Dowload and donate - CGSecurity
Docker Desktop WSL 2 backend on Windows | Docker Docs


注1:休眠与睡眠
休眠状态下的工作状态会保留,而且耗电量比睡眠状态下低,适合需要频繁移动笔记本电脑的工作情况下使用。

如果这篇文章对你有帮助,请我喝杯咖啡吧 ☕