免费获取学习方案
ARTICLE DETAIL

资讯详情

深耕编程基础知识与建站技术分享的一线实战洞察。

C盘爆红不用慌:三套系统级清理方案,从命令到WSL虚拟磁盘根治空间不足

C盘爆红不用慌:三套系统级清理方案,从命令到WSL虚拟磁盘根治空间不足 C盘又红了这个提示大概是Windows用户最熟悉的噩梦之一。我这两年帮同事和朋友处理过不下五十台C盘爆红的电脑最深的体会是网上搜下来的一键清理清理大师十有八九解决不了问题有些还会顺手送你一堆全家桶弹窗。真正靠谱的C盘清理不需要装任何第三方软件也不需要懂多高深的命令关键在于搞清楚三件事——空间到底被什么吃掉了、哪些东西删了不心疼、哪些必须用系统工具来收拾。下面这三套方法是我实测下来最有用的组合从系统自带功能到命令行再到开发环境层面的根治方案一套比一套深入每一套都能立竿见影。1. 先搞明白空间去哪了C盘占用大头清单说实话很多人一看到C盘红了就急着找清理软件这其实是最低效的方式。我在处理电脑时永远把第一步放在判断空间去哪了而不是直接动手删。道理很简单如果不知道占用来源你清的全是皮毛过两天又满万一不小心删到系统文件开机都成问题。所以先花十分钟看清账目后面清理才能又快又准。1.1 用系统自带视图快速定位大文件在Windows 10和Windows 11中打开设置 系统 存储会直接显示C盘的空间分类包括系统与保留、应用和功能、临时文件、其他文件夹等。点进系统与保留还能看到系统文件、系统还原、虚拟内存等明细。这套内置视图最大的价值是帮你建立C盘空间都去了哪的整体认知。不过有个地方容易误导人系统文件在存储视图里往往显示几十GB看起来好像能清理实际上它包含了Windows系统本体、页面文件、休眠文件、WinSxS组件存储。里面能释放的部分需要专门的工具去处理单靠这个视图看不到细分项。想看更细的大文件分布我会在文件资源管理器里直接右键C盘根目录下的每个文件夹看属性Windows、Program Files、ProgramData、用户文件夹各自多大一眼就能看出来谁是最大的占位者。如果你连这一步都懒得操作也没关系。直接在存储设置里点临时文件或清理建议系统会直接列出可以安全清理的类型和预计大小这是对新人最温柔的处理方式。1.2 空间大户排行榜最容易忽略的6类占用根据我维修和清理电脑的经验C盘空间消失绝大多数都不是因为垃圾文件这一个笼统概念而是下面这几类被忽略的大户。第一Windows.old目录。只要系统经历过一次大版本升级C盘根目录就可能出现Windows.old文件夹里面是旧系统的全部文件轻轻松松20到30GB起步。它可以删但必须通过磁盘清理里的以前的Windows安装或Windows更新清理来删。直接手动右键删除会提示权限不足硬删往往删不干净。第二休眠文件hiberfil.sys。默认情况下Windows为了支持休眠和快速启动会在C盘根目录放一个大小为物理内存40%到75%的隐藏文件。8GB内存的机器它就能占掉3到6GB16GB内存就更不用说了。第三页面文件pagefile.sys和swapfile.sys。页面文件默认是系统托管状态通常和物理内存大小相近同样在C盘根目录。它是系统需要的东西一般不建议关闭但可以迁移到其他盘。第四WinSxS组件存储。它在C:\Windows\WinSxS为了支持组件更新和故障恢复系统会把大量系统文件的多个版本堆在这里。很多人打开这个文件夹会吓一跳几十GB但千万不要手动往里删正确做法是用DISM命令清理。第五用户目录AppData下的缓存。微信、QQ、浏览器、各种工具软件默认都会把缓存放在C:\Users\用户名\AppData\Local下面。平时不显眼日积月累就是几十GB。这部分适合定期清理和搬家双管齐下。第六WSL和Docker的虚拟磁盘。如果你用了Windows Subsystem for Linux或者Docker Desktop它们会在C盘下生成一个巨大的ext4.vhdx文件里面装的是整个Linux文件系统。问题在于你在这个Linux环境里删除文件后整个vhdx文件并不会自动缩小。我见过很多开发员的C盘被撑爆根源都是这个。这张表可以帮你快速对照占用项典型体积能否手动删推荐处理方式Windows.old10-30GB能但权限受限磁盘清理-系统文件hiberfil.sys内存的40%-75%不能直接删powercfg /h offpagefile.sys与内存相近不能直接删系统设置迁移WinSxS10-20GB绝对不能手动删DISM组件清理AppData缓存5-50GB部分能清理迁移WSL/Docker vhdx20-100GB不能直接删diskpart压缩先把这些概念讲清楚并不是让你现在就去动手而是让后面三套方法都有据可依。下面直接进入正题。2. 第一套系统自带清理小白也能安全挤出几个G第一套方案适合所有人尤其是对命令行不熟悉、又担心误删系统文件的新手。这套方案不需要装任何软件只需要用好Windows自带的基础功能安全系数最高。2.1 存储感知开启自动清理之后就不用总惦记Windows 10和Windows 11都内置了存储感知简单说就是让系统按照你设定的节奏自动清理临时文件、回收站、下载文件夹里的过期内容。开启方式设置 系统 存储打开存储感知开关然后点击进去设置清理计划。我比较推荐把临时文件设为每周自动清理回收站设为30天自动清空。这样系统会在后台把临时目录里过期的文件定期清一遍长期下来C盘保持健康状态的成本非常低。存储设置页面里通常还有一个清理建议系统会扫描出临时文件、未使用的大型文件、备份文件等。点击进去可以逐项选择后再一键清理第一次点击时清出几个GB是很常见的事。这里有一个容易踩的坑清理建议里如果出现其他文件夹占了几十GB千万别无脑点删除。其他往往包含用户自己存放的文档、软件数据系统只负责标注它很大但不帮你判断哪些能删需要你手动展开看看再决定。2.2 磁盘清理与清理系统文件的隐藏选项存储感知处理的是用户态层面的垃圾而系统层面那些旧WindowsWindows更新缓存最正统的入口叫磁盘清理。它是Windows的老牌工具也是很多人常挂在嘴边的c盘清理命令的真正入口。操作方法在开始菜单搜索磁盘清理打开后选择C盘系统会先做一次基础扫描。重点来了——第一次扫描完成后不要急着点确定而是在窗口里找到清理系统文件按钮并点击。系统会以管理员权限再扫描一遍这一次结果里才会出现真正值钱的选项Windows 更新清理更新包残留通常1GB到10GB以上传递优化文件系统更新用到的P2P缓存几百MB到几个GB以前的Windows安装项就是Windows.old10GB到30GB临时文件、缩略图、回收站等这里有几条个人经验供参考。如果你不打算在近期回退旧系统Windows.old强烈建议清掉如果你担心系统出事需要回退那就先留着但坦白说绝大多数人清理之后再也不会想起它。缩略图缓存可以放心清系统会自动重建只是首次打开图片文件夹时速度会稍微慢一点。回收站里如果还有误删文件请先翻一遍再清。2.3 Win10与Win11的入口差异与操作注意Win10和Win11虽然都有存储感知和磁盘清理但入口存在差异。Win11把存储设置整合得更紧密系统 存储 清理建议页面里直接给出了临时文件大文件未使用应用等入口操作路径比Win10短不少。Win10则更依赖经典的磁盘清理窗口。另一个差异是Win11的清理建议经常还会推荐清理备份和未使用的应用。其中未使用的应用清理前请确认你确实不用它而备份项如果指向OneDrive或系统还原点要格外小心。删除系统还原点后之前可用的还原时间点会全部消失万一后续想用系统还原来修复问题就没机会了。如果你按以上操作走完C盘一般能释放出5到10GB而且全程几乎无风险。但很多人的C盘问题比较深光靠这套基础清理不够那就进第二套上命令行。3. 第二套命令行清剿专治临时文件和大块头系统文件如果说第一套是随手扫扫地第二套就是深度大扫除。这套适合有一点动手能力、愿意打开命令行的读者几行命令下去能处理掉很多图形界面清理不了的东西。3.1 WinSxS组件存储瘦身DISM命令回到前面提到的WinSxSC:\Windows\WinSxS这个文件夹体积通常很大而且它显示的大小往往虚胖因为里面大量文件是硬链接多个路径共享同一份数据。你感觉系统怎么占了这么多但实际上删不得、挪不得、动不得。想让WinSxS瘦下来正确姿势是使用部署映像服务和管理工具DISM。先以管理员身份打开命令提示符或PowerShell执行Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore这一条是只分析不动手系统会返回组件存储实际大小、可清理空间等信息。分析完成后再执行真正的清理Dism.exe /Online /Cleanup-Image /StartComponentCleanup它会清理被取代的系统组件旧版本。如果还想更进一步可以追加参数 /ResetBase把所有组件的备份文件全部重置释放更多空间但副作用是以后无法通过卸载更新回滚到之前的组件版本。对普通用户来说这个副作用影响很小因为系统更新引发的问题大概率会通过后续的新补丁解决而不是回滚旧版本。如果你对系统非常谨慎可以只跑不带ResetBase的版本。按照我的观察WinSxS清理对老系统特别友好经常能释放3到5GB长期不清理的机器甚至会更多。这条命令属于定期保养级别每个月跑一次都没问题。清理过程中电脑会慢一些属于正常现象。3.2 三大缓存目录的逐个击破除了WinSxSC盘还遍布着几个大缓存目录。首当其冲的是用户临时目录%TEMP%和系统临时目录C:\Windows\Temp这两个地方装满了软件安装、解压、运行过程中产生的临时文件。以管理员身份打开CMD逐条执行del /q /f /s %TEMP%\*.* del /q /f /s C:\Windows\Temp\*.*如果提示有文件被占用删不掉直接跳过就行系统正在使用的临时文件明天再清也来得及。这里提醒一句这个命令只针对临时目录千万别误操作。请注意命令只处理 %TEMP% 和 C:\Windows\Temp 这两个临时目录。如果你把路径改成 C:\ 开头的其他系统目录后果会非常严重这不是清理是事故。第二个大缓存目录是Windows更新缓存位置在C:\Windows\SoftwareDistribution\Download。Windows下载的更新补丁包都会先落到这里装完系统后可能会残留一部分历史包。清理它需要先暂停更新服务否则文件被锁删不干净net stop wuauserv net stop bits del /q /f /s C:\Windows\SoftwareDistribution\Download\*.* net start bits net start wuauserv这段命令的逻辑是停掉Windows更新和后台传输服务删掉下载缓存再重新启动服务。做完之后Windows更新完全不受影响只是把历史下载包清理掉了。第三个值得提的是传递优化文件就是系统更新时类似P2P的分发缓存。它散落在系统内部不同版本路径有差异。我建议不要手动去找目录删直接回到第一套的磁盘清理 清理系统文件里勾选传递优化文件即可安全省事。再补一个给维护控的小技巧如果不想每次清理都在界面里点选项目可以在管理员CMD里先运行 cleanmgr /sageset:1把想清理的项目勾选好并保存。以后想执行时直接运行 cleanmgr /sagerun:1它会自动按上次的配置来清理不需要再开窗口。这个方式对帮别人维护电脑、批量处理多台机器时特别省事。3.3 hiberfil.sys和pagefile.sys两个根目录大文件怎么处理很多人第一次看到C盘根目录的hiberfil.sys和pagefile.sys都会很困惑这俩文件占了好几个G甚至几十个G明明不认识能不能删答案是不能直接右键删除但可以通过系统设置让它们退场或搬家。休眠文件hiberfil.sys的处理思路是如果你平时用不到休眠和快速启动功能直接关闭休眠它就会自动消失。管理员CMD执行powercfg /h off执行完再看C盘根目录hiberfil.sys就没了。以后想恢复执行 powercfg /h on 即可。部分笔记本用户依赖休眠来断电续命或者依赖快速启动来加快开机速度这种情况不建议关闭。如果既想保留快速启动又嫌文件太大还有一个折中方案执行 powercfg /h /type reduced它会把休眠文件压缩成精简模式体积从内存的75%左右降到20%左右代价是不支持完整休眠。页面文件pagefile.sys则不建议关闭。有些优化教程说把虚拟内存设为无分页文件能释放空间我不推荐这么做——很多软件和游戏在内存吃紧时会直接崩溃。正确做法是把页面文件迁移到D盘让C盘少背一个包袱。路径右键此电脑 属性 高级系统设置 性能设置 高级 虚拟内存更改取消自动管理所有驱动器分页文件大小把C盘设为无分页文件再选D盘设为系统管理的大小最后重启生效。文件能否手动删正确处理方式hiberfil.sys不能powercfg /h offpagefile.sys不能系统设置迁移到D盘swapfile.sys不能随pagefile迁移第二套方法操作下来C盘体量一般能再降10GB以上尤其是Windows更新缓存和休眠文件比较可观的机器效果会非常明显。接下来是很多人真正头疼的部分——为什么有些文件明明删了空间却还是不回来。4. 第三套开发环境级的根治方案WSL和缓存搬家是重点前两套方法解决的是文件层面的垃圾到了第三套重点就变成了从使用习惯和环境层面根治问题。这一套主要针对重度用户、开发者和那些删了文件但空间就是不回来的疑难杂症。4.1 WSL虚拟磁盘压缩Linux删完文件空间却没释放的根因前面多次提到WSL虚拟磁盘这里展开讲。很多人在WSL里删了几十GB的文件回到Windows一看C盘空间一分没涨。这不是错觉也不是系统故障而是ext4.vhdx的特性决定的——WSL的整个Linux文件系统都被封装在单个虚拟磁盘文件里它支持自动扩容却不会自动收缩。你删除Linux里的文件虚拟磁盘里被释放的空间只是被标记为可重用文件本身大小不回缩Windows看到的自然还是原来那么大。解决办法是手动压缩这个虚拟磁盘。完整步骤如下。第一步在Windows终端中执行 wsl --shutdown确保所有WSL发行版都已停止。这一步别省否则虚拟磁盘正被占用后续压缩会失败。第二步找到ext4.vhdx文件的位置。最常见的路径是 C:\Users\你的用户名\AppData\Local\Packages\ 下面某个以发行版命名的目录里的 LocalState\ext4.vhdx。例如Ubuntu对应的是类似CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc这样的文件夹。你可以打开文件资源管理器把 %LOCALAPPDATA%\Packages 粘贴到地址栏回车然后按修改日期排序找最近变大的那个文件夹里面必然有一个体积很大的ext4.vhdx。第三步以管理员身份打开CMD或PowerShell执行diskpart命令序列diskpart select vdisk fileC:\Users\你的用户名\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\ext4.vhdx attach vdisk readonly compact vdisk detach vdisk exit把双引号里的路径换成你实际找到的ext4.vhdx路径逐条回车。compact vdisk执行时系统会花一段时间扫描并压缩看到DiskPart成功压缩虚拟磁盘文件的提示就完成了。最后重新进入WSLC盘空间已经恢复里面的数据一个都不会少。执行这个操作前如果WSL里有重要数据建议先在Linux侧执行一次 sync 或干脆做好备份。虽然压缩虚拟磁盘是成熟操作但数据无价谨慎总没错。同样的思路也适用于Docker Desktop。Docker的WSL后端会把镜像和容器数据放在 %LOCALAPPDATA%\Docker\wsl\data\ext4.vhdx 里。Docker Desktop也提供了清理和重置入口如果容器内有重要数据不要直接点重置先确认数据已导出。4.2 微信、QQ、浏览器的缓存搬家对普通用户来说微信才是真正的C盘杀手。默认情况下微信会把聊天记录、图片、视频、文件全放在 C:\Users\用户名\Documents\WeChat Files一个重度用户的微信文件夹上百GB都不稀奇。好在微信提供了官方迁移功能设置 文件管理 文件保存路径点击更改把它指到D盘某个文件夹重启微信后会提示迁移历史文件跟着引导走就行。迁移完成后原来的WeChat Files目录就可以手动删除了。QQ的操作路径类似在设置里找文件管理修改个人文件夹保存位置重启后就能迁移本地数据。浏览器方面最干净的做法是把默认下载目录改成D盘从源头减少C盘写入。至于浏览器缓存建议通过浏览器自带的清除功能处理而不是手动去删Cache目录。Chrome和Edge都支持在设置里清除缓存的图片和文件一次能清出几个G。4.3 开发工具的隐藏仓库Docker、npm、pip等开发者的C盘还有很多隐藏仓库普通用户可能注意不到。npm缓存默认放在C盘一条 npm cache clean --force 可以清掉几个G。pip缓存用 pip cache purge 清空。NuGet缓存在 %LOCALAPPDATA%\NuGet\v3-cache可以用 dotnet nuget locals all --clear 清理。Yarn、pnpm、Gradle也都有类似缓存机制具体命令在对应工具文档里都能查到。这些缓存有一个共同点清掉之后不会影响已安装的依赖只是下次构建时需要重新下载所以不用有心理负担。我一般会在一个项目周期结束、确认近期没有重装依赖需求时清一次。另一个容易被忽略的是OneDrive或各种网盘的同步文件夹。如果你的网盘默认目录在C盘桌面的图片、文档会被同步到云又同步回本地日积月累C盘就会被撑大。打开OneDrive设置在备份选项里可以停止备份文件夹或者把OneDrive根目录整体迁移到D盘。改之前一定确认云端文件都已同步完整迁移后不要急着删原目录等新目录正常同步一两天再清理旧目录。5. 避坑清单与让C盘不再变红的日常习惯三套方法讲完大部分人的C盘都能安全瘦身。但清理这件事真正的高手比的是不踩坑和不复发。最后我整理几条翻车概率高的注意事项和我的日常维护流程。5.1 清理后遇到问题的排查思路清理完C盘偶尔会遇到两件让人紧张的事一是磁盘清理卡在正在清理更新很久不动二是明明删了十几个GC盘剩余空间却几乎没涨。第一种情况磁盘清理处理Windows更新组件时确实慢有时要等二十分钟以上界面看起来像假死。解决办法只有耐心等或者重启后再重新跑一次第二次通常快很多。第二种情况多半是某个进程又在写文件常见来源是正在下载的系统更新缓存、杀毒软件的扫描日志或者后台同步的云盘。这时候不要慌先去设置 存储 临时文件看一眼有没有新增的可清理项或者直接重启电脑再看C盘剩余空间多数情况下空间会正常反映出来。5.2 这些文件千万别直接删C盘清理的底线是系统目录里的东西认识才动不认识坚决不动。C:\Windows\System32里的所有文件不管看着多像垃圾都不要试图手动删除C:\Windows\Installer里的MSI文件不要删否则以后卸载更新软件时可能报错WinSxS不能手动删必须走DISMpagefile.sys、hiberfil.sys、swapfile.sys这三个根目录文件不要右键删除要用系统设置或命令处理。另外重点提醒一句不要为了图快去下载网上来路不明的清理大师C盘管家。C盘清理根本没有难到需要这些工具的程度系统自带功能加几条命令已经能覆盖绝大多数场景。很多所谓的清理软件不仅效果不稳定还有捆绑下载、弹窗广告、后台常驻的问题装了反而更占C盘。真嫌系统自带的分类不够直观顶多用一个开源的小体积分析工具看眼大文件分布但说实话系统自带的存储视图已经足够用。5.3 我的C盘月度清理固定流程分享一个我自己长期在用的固定流程你如果没时间做系统规划直接照抄这个频率就好。每个月1号随手做三件事第一开一次设置 系统 存储 临时文件把系统列的临时文件清掉第二以管理员身份跑一次 DISM /Online /Cleanup-Image /StartComponentCleanup给WinSxS瘦身第三如果这个月用过WSL或Docker顺手执行一次 wsl --shutdown 加 diskpart 压缩。每个季度末再看一眼微信和QQ的文件保存路径确认它们没有偷偷把新数据写回C盘。这套流程全程不到半小时我的C盘已经连续一年多没红过。还有一个容易被忽视的小技巧新装软件时别顺手一路默认下一步。很多软件的默认安装路径都是C:\Program Files如果你D盘空间充裕安装时改一下路径C盘被占用的速度会明显慢很多。系统更新时偶尔会产生大幅空间波动别一看到C盘满了就急着删东西先确认更新是否正在进行等更新完成后再清理也不迟。
返回列表