C 盘爆满这个事几乎每个用 Windows 的人都会遇到。尤其是系统盘从 C 盘变红再到完全没空间开机慢、软件卡、更新失败全赶一起。网上不少教程上来就让删文件但很多人的桌面、文档、下载里全是重要的项目资料根本不放心动。这篇文章就围绕“不删重要数据”这条底线从系统自带清理到无损扩容整理一套可复现的 C 盘空间释放方案适合普通用户也适合开发者和运维人员给同事、客户的 Windows 电脑做日常维护时参考。1. 为什么 C 盘总是先爆满先搞清楚空间都去哪了很多人以为 C 盘满是因为自己装的东西太多其实不全是。Windows 系统在运行过程中会自动产生大量文件这些文件不像普通软件一样放在可见的目录里而是分散在系统目录、隐藏目录和用户配置目录中。从实际排查经验看下面几类空间占用最容易被忽略。1.1 系统内置的“隐形”大文件休眠文件hiberfil.sys、页面文件pagefile.sys和交换文件swapfile.sys是 Windows 默认管理的三个大文件。休眠文件的大小通常等于物理内存的 70% 到 100%如果电脑是 16GB 内存这个文件就可能占用十几 GB。页面文件默认放在系统盘虽然系统会根据内存情况动态调整但占用几个 GB 是常态。这两个文件不是普通用户能直接在资源管理器里看到和删除的所以常常等 C 盘快满了才被发现。C:\hiberfil.sys C:\pagefile.sys C:\swapfile.sys这三个文件就算进了资源管理器取消隐藏系统文件后可以看到直接右键删除也删不掉因为它们正被系统占用。需要通过专门命令或设置关闭对应功能才能释放空间。1.2 Windows 更新缓存与旧系统文件Windows 升级会下载体积很大的安装包旧系统文件也会压缩保存为 Windows.old 文件夹用于退回旧版本。如果电脑进行过多次大版本更新这些文件可能占用 10GB 到 30GB 甚至更多。更让人头疼的是这些文件藏在系统卷信息、SoftwareDistribution 等目录里手动一个个找既慢也容易误删。1.3 用户目录下的缓存和资料C:\Users\用户名下面除了桌面、文档、下载这些明显的用户文件夹还有 AppData 这个隐藏目录。AppData 里存放了大量软件运行时的缓存、配置、日志、临时文件。比如微信聊天记录、浏览器缓存、IDE 索引、命令行包管理器缓存等动辄几 GB 到几十 GB。很多人不知道的是桌面、文档、下载这些文件夹虽然在资源管理器里看着像在“我的文档”里但它们的实际存储位置默认就是在 C 盘的用户目录下往桌面放几个大文件C 盘空间就会肉眼可见地减少。1.4 软件安装位置安装软件时如果一直点“下一步”默认安装路径大多落在C:\Program Files或C:\Program Files (x86)。开发工具、Adobe 全家桶、大型游戏甚至数据库和虚拟机镜像如果装在 C 盘一个软件占用十几 GB 很常见。这些软件占用的空间不是清理缓存能解决的必须通过卸载重装或迁移软件位置来处理。基于以上特点C 盘爆满往往不是某一个单独原因造成的而是“系统文件 用户缓存 安装软件”三方面叠加的结果。所以真正有效的清理方案也应该是分层处理的先删可以安全删除的临时文件再关闭不必要的系统功能然后把可以移动的用户目录和软件迁移到其他盘最后在需要时做无损分区扩容。2. 动手前准备不删重要数据的几条底线在开始清理之前先明确哪些操作是安全的哪些操作风险很高。这比急着找清理工具更重要因为不少 C 盘清理失败案例都是因为误删了某个看起来无关紧要的文件夹结果软件崩溃或者系统异常。2.1 这几类数据尽量不要乱动数据类别示例不建议直接删的原因用户工作资料桌面、文档、下载里的项目文件可能包含未备份的成果和资料SQL 数据库文件项目中的 .mdf、.ldf 文件删了会导致数据库无法附加虚拟机磁盘.vmdk、.vhdx 文件包含完整系统镜像删除不可恢复代码仓库.git 目录、本地仓库包含完整提交历史误删后丢失记录软件安装目录Program Files 下的程序文件直接删除会导致卸载和更新异常这些数据如果在 C 盘我们通常的选择是“迁移”而不是“删除”。把目录原封不动移动到 D 盘再通过系统设置或快捷方式重新指向新位置既保留了数据又释放了 C 盘空间。2.2 清理前建议做一次系统还原点虽然下面介绍的大部分操作不涉及删除用户数据但像关闭休眠、修改页面文件、操作注册表或使用第三方分区工具时仍建议先创建一个还原点。操作方法是在“开始菜单”搜索“创建还原点”打开系统保护选项卡选择 C 盘点击“配置”和“创建”。这样后续出问题还可以退回当前状态。2.3 别碰这些目录和文件系统回收站中的文件可以清空但C:\Windows\System32、C:\Windows\WinSxS、C:\ProgramData下的内容绝大部分不能手工删除。网上有些教程让删 WinSxS 来释放空间这会让 Windows 的未来更新和系统服务变得不稳定。类似C:\Users\用户名\AppData\Roaming下的某些文件夹虽然是缓存但删除后可能导致软件配置丢失也不能无脑清。3. 第一步系统自带清理零成本解决大部分空间问题不用下载第三方工具Windows 自带的磁盘清理和存储感知就可以解决很大一部分临时文件和更新缓存问题。3.1 使用磁盘管理工具 cleanmgr在 Windows 10 和 Windows 11 中磁盘清理是保留最久的系统工具。按Win R打开运行框输入cleanmgr然后选择 C 盘点击确定。系统会扫描可以清理的项目包括回收站、临时文件、缩略图、错误报告等。但这只是第一层要清理 Windows 更新清理和系统压缩文件需要点击左下角的“清理系统文件”按钮再次选择 C 盘并扫描。扫描完成后检查以下几项Windows 更新清理临时文件传递优化文件DirectX 着色器缓存系统还原和卷影复制如果不需要旧还原点这里的计算单位是“已安装的更新时间”根据系统状态不同有时能释放 5GB 到 20GB 空间。整个过程不会触碰桌面、文档、下载里的文件不用担心会删掉自己的数据。3.2 开启存储感知自动清理存储感知是 Windows 10 1803 之后自带的功能可以按固定周期自动删除临时文件和回收站内容。开启方法是在“设置”——“系统”——“存储”中打开“存储感知”。在存储感知设置里可以设置两个周期回收站中的文件保留多少天后删除下载文件夹中未被修改的文件保留多少天后删除。比较保守的设置是回收站保留 14 到 30 天下载文件夹选择“从不”避免自动清理掉刚下载的重要安装包。设置 - 系统 - 存储 - 存储感知 - 配置存储感知或立即运行对新手来说这是一个长期防御性手段很多时候比手动清理更有效。3.3 清理用户 Temp 目录临时目录里会积累很多软件运行后的残留文件可以放心删除。按Win R输入以下命令打开当前用户的临时文件夹%temp%全选所有文件后删除即可如果提示某个文件正在被占用跳过它继续删除其他文件。也可以用系统级临时目录C:\Windows\Temp这个目录需要管理员权限才能删除。同样可以全选删除但要注意不能删除正在被系统服务使用的文件。这些临时文件删除后很多软件重新启动时会自动再生成所以不需要担心影响系统。不过删除临时文件能释放的空间有限一般在几百 MB 到 1GB 左右如果 C 盘已经红到只剩几 GB这一步可以作为快速抢救手段。4. 第二步关闭或迁移系统功能一次释放好几个 GB系统功能产生的文件往往很大但平时根本用不上或者可以迁移到其他盘。这一步适合需要更大空间突破时使用。4.1 关闭休眠文件释放内存等大空间休眠功能在笔记本上比较常用但台式机或者外接 UPS 的机器可能完全用不到。休眠文件hiberfil.sys位于 C 盘根目录大小和内存成正比。如果不需要“开始菜单 - 关机 - 休眠”这个功能可以用管理员身份打开命令提示符执行powercfg /h off执行后C 盘根目录的hiberfil.sys会立刻消失释放出与内存大小接近的空间。注意这个操作会禁用休眠以后如果要用再执行一次powercfg /h on就能恢复。很多人会把“关机”和“休眠”混淆。Windows 默认的“关机”是快速启动其实也会用到睡眠相关文件但关闭休眠文件后快速启动会被禁用开机速度可能会稍微变慢这是正常现象。对于追求稳定和空间大于开机速度的开发者来说这个改动很划算。4.2 把页面文件 pagefile.sys 迁移到 D 盘页面文件是 Windows 的虚拟内存默认放在 C 盘。如果物理内存足够大比如 16GB、32GB页面文件对实际性能的影响并不明显但文件本身会占用好几个 GB。迁移页面文件的路径在“系统属性 - 高级 - 性能设置 - 高级 - 虚拟内存”。具体操作步骤右键“此电脑” - “属性” - “高级系统设置”切换到“高级”选项卡点击“性能”区域的“设置”再切到“高级”选项卡点击“虚拟内存”区域的“更改”取消勾选“自动管理所有驱动器的分页文件大小”选择 C 盘设为“无分页文件”点击 D 盘设置为“系统管理的大小”或自定义大小点击“设置”并重启系统[虚拟内存] C: 无分页文件 D: 系统管理的大小迁移后C:\pagefile.sys会在下次重启时消失C 盘可能立刻多出 2GB 到 8GB 空间。需要注意重启过程中系统会短暂使用新的页面文件如果 D 盘空间充足一般不会有问题。4.3 压缩或清理系统还原点系统还原点和卷影副本占用的是隐藏的“系统卷信息”文件夹空间。如果不需要回滚到很早期的还原点可以把保留空间调小。在“系统保护”选项卡中点击 C 盘对应的“配置”把“最大使用量”滑块调低比如调到 5% 或 10%再点击“删除”按钮清理多余还原点。如果对回滚没有需求也可以直接在这里关闭系统保护这样会删除所有还原点。但前面建议清理前创建还原点所以在清理操作完成前不建议急于关闭系统保护。4.4 清理 Windows 更新组件和旧系统文件除了磁盘清理里的“Windows 更新清理”还可以使用 DISM 工具手动压缩系统组件。该方法适合 Windows 10 和 Windows 11。以管理员身份打开命令提示符执行DISM /Online /Cleanup-Image /StartComponentCleanup这条命令会清理 Windows 组件存储中的过期版本并压缩现有组件。相比磁盘清理界面里的操作命令行更彻底。正常情况下它不会影响系统更新也没有删除用户文件的风险。如果系统中有C:\Windows.old文件夹可以在“设置 - 系统 - 存储 - 临时文件”里勾选“以前的 Windows 安装”然后删除。需要说明的是Windows.old 只在系统升级后保留 10 天超过时间系统会自动清理所以如果看到它说明升级时间不长。5. 第三步把用户文件夹和缓存迁移到 D 盘重要数据不用删这一步是整个方案的核心也是最符合“重要数据不想删”这个诉求的操作。桌面、文档、下载、图片、音乐、视频默认都存放在 C 盘的用户目录下但 Windows 允许我们把它们的目标位置改到任何一个分区。5.1 更改桌面、文档、下载等常用文件夹位置以文档文件夹为例操作步骤如下打开“此电脑”进入 C 盘 Users 目录下的用户名文件夹右键“文档”文件夹选择“属性”切换到“位置”选项卡点击“移动”在 D 盘新建一个D:\Users\文档目录也可以选择已有的 D 盘目录点击“应用”系统会询问是否将所有文件移动到新位置选择“是”同样方法可以逐个处理桌面、下载、图片、视频、音乐等文件夹。比如把桌面放到D:\Users\Desktop下载放到D:\Users\Downloads。迁移完成后原来放在桌面和文档里的文件会整体移动到新位置C 盘空间立即释放。最重要的是桌面上那些你看得见的重要文件并不会丢失只是物理存储位置变了使用习惯完全不变。后续再往桌面和下载里放东西实际写入的也是 D 盘。对于开发者来说如果很多项目文件本身就放在“文档”或“下载”下这个操作比单独去动用户目录下的隐藏缓存更划算一次迁移往往能释放几十 GB。5.2 理解 AppData 缓存不要乱删C:\Users\用户名\AppData分为 Local、LocalLow、Roaming 三个子目录存放软件运行数据和缓存。其中一些缓存体积很大但直接删除可能导致软件状态异常。更合适的方式是借助软件本身的设置来修改缓存路径。以微信 PC 版为例可以在微信窗口左下角“设置 - 文件管理”中把文件保存路径从默认的C:\Users\用户名\Documents\WeChat Files修改为 D 盘指定目录。QQ 也有类似设置。另一个大头是浏览器缓存Chrome 和 Edge 都可以在设置里修改下载位置但浏览器缓存本身建议使用清理工具或磁盘清理定期清理没必要强行修改。对于 VS Code、JetBrains 系开发工具它们会将插件和索引放到用户目录下的.vscode或AppData中。如果 C 盘紧张可以检查具体扩展目录大小但更推荐重装软件时选择其他安装位置而不是手动移动运行中的缓存。5.3 移动大型软件安装目录的替代方案有些大型软件已经装到 C 盘比如 MATLAB、Visual Studio 或大型游戏重新安装很费时间。如果它们没有提供修改安装目录的功能可以考虑使用 Windows 的目录联接Directory Junction方式迁移。这个方法更适合有操作经验的用户方法是把整个软件目录移动到 D 盘然后在原位置创建一个指向新位置的 junction。假设要迁移C:\Program Files\SomeSoftware到D:\Software\SomeSoftware将整个目录复制到 D 盘删除 C 盘原始目录以管理员身份打开命令提示符创建目录联接mklink /J C:\Program Files\SomeSoftware D:\Software\SomeSoftware这样系统仍认为软件安装在 C 盘实际文件已经放到 D 盘。因为这是一个 NTFS 目录联接不像快捷方式那样是空壳软件运行不会报错。需要注意的是这个操作只建议对独立软件目录执行不建议对系统目录或正在运行的软件执行操作前最好先关闭相关程序并确保目录结构完整复制过去。6. 第四步清理第三方软件缓存重点处理浏览器和开发工具第三方软件的缓存文件尤其是浏览器缓存、包管理器缓存和 Docker/WSL 虚拟磁盘是 C 盘空间消耗的大户。这些缓存可以安全清理或者通过配置迁移到 D 盘。6.1 浏览器缓存Chrome 和 Edge 的缓存目录默认位于 C 盘 AppData 下。现代浏览器支持在命令行或策略中修改缓存路径但普通用户没必要去折腾注册表直接使用“设置 - 清除浏览数据”中的“缓存的图片和文件”即可或者使用系统磁盘清理工具扫描清理。Edge 和 Chrome 清理后首次打开页面可能会稍慢但不会影响书签和密码。6.2 npm、pip、Gradle 等开发工具缓存做开发时npm、pip、Maven、Gradle 都会在用户目录下建立缓存时间久了轻松超过几个 GB。比如 npm 的缓存默认在C:\Users\用户名\AppData\Local\npm-cache可以执行npm cache clean --forcepip 的缓存可以查看大小然后清空pip cache purgeGradle 的~/.gradle/caches如果项目多可能占 10GB 以上一般不需要完整删除可以通过修改GRADLE_USER_HOME环境变量到 D 盘后再迁移旧缓存目录。这些开发缓存删除后下次构建或安装依赖时会重新下载所以需要提醒自己清理前先确认网络环境稳定避免在离线环境下误删缓存导致依赖无法安装。6.3 WSL 和 Docker 虚拟磁盘在 Linux 开发者群里WSL 的 ext4.vhdx 和 Docker Desktop 的 data 目录是 C 盘空间的隐形杀手。WSL 默认安装位置在 C 盘随着编译和镜像增加虚拟磁盘文件可能膨胀到几十 GB。迁移 WSL 的方法比较复杂可以使用wsl --export和wsl --import导出导入到 D 盘。wsl --export Ubuntu D:\WSL\ubuntu.tar wsl --unregister Ubuntu wsl --import Ubuntu D:\WSL\Ubuntu D:\WSL\ubuntu.tar导入后再设置默认用户整个过程不会删除 WSL 里的文件只是把整个虚拟磁盘搬到 D 盘。Docker Desktop 则可以在设置中修改“Disk image location”到 D 盘。这里要强调一点遇到 “WSL 不安装在 C 盘”、“DiskGenius 扩容 C 盘”这些搜索热词说明很多开发者已经被 C 盘空间逼得开始动系统分区了。迁移 WSL 和 Docker 属于进阶操作操作前务必先确保相关发行版或容器没有正在运行的重要任务。7. 进阶无损扩容 C 盘把 D 盘空闲空间分给 C 盘前面的方法都是通过“清理”或“迁移”腾出空间但有时候 C 盘实在太小比如只有 100GB清理完也只剩下 20GB这时候就需要考虑无损扩容。7.1 扩容的前提和限制扩展 C 盘空间的核心条件是C 盘紧邻的右侧有未分配空间。换句话说如果你想把 D 盘空间分给 C 盘D 盘必须位于 C 盘右侧并且 D 盘没有被页文件、系统保留分区等占用。Windows 自带的“磁盘管理”扩展卷功能只有在 C 盘右侧直接存在未分配空间时才可用。如果你的 D 盘和 C 盘之间还有一个恢复分区或者系统保留分区那么“扩展卷”选项通常会是灰色不可点。这也是很多人搜索“c盘扩展卷选项是灰的”的原因。7.2 使用 DiskGenius 进行无损扩容DiskGenius 是目前比较常用的无损分区工具免费版支持基础的分区调整功能适合 C 盘扩容。操作步骤大致如下先备份 D 盘重要数据到移动硬盘或者网络存储关闭所有正在占用 D 盘文件的程序打开 DiskGenius右键点击 D 盘选择“调整分区大小”拖动分区边界把 D 盘缩掉一部分空间在前方留出未分配空间右键点击 C 盘选择“调整分区大小”把未分配空间合并到 C 盘点击“执行”等待软件完成操作这一步需要特别注意分区大小调整操作涉及大量文件移动若过程中断电或崩溃可能造成数据损坏所以必须确保电脑供电稳定。免费版对单个操作可能有限制但简单的扩容一般够用。操作前最好对 D 盘做一次磁盘错误检查可以用命令chkdsk D: /f。7.3 使用第三方工具时的安全提示网上搜索“c盘清理大师”“磨针c盘清理官网”等内容时会遇到很多来路不明的清理软件。这类软件有的捆绑广告有的会诱导下载全家桶还有的可能会乱删系统文件。建议始终选择微软官方渠道或知名开源工具比如官方磁盘清理cleanmgrWindows 自带存储感知DiskGenius 官方版注意从官网下载图吧工具箱常用于硬件检测和磁盘工具合集但使用时也需要仔细确认具体工具分区扩容的底层操作逻辑是一致的先在 C 盘右侧制造连续未分配空间再把该空间合并进 C 盘。理解了这一点就不会盲目点击“一键无损扩容”之类的按钮。7.4 使用 Windows 自带磁盘管理何时可行如果你的 C 盘右侧就是 D 盘且 D 盘是普通数据分区那么可以在磁盘管理中右键选择 D 盘“删除卷”得到未分配空间再右键 C 盘“扩展卷”。但删除卷会清空 D 盘所以只有当 D 盘里没有重要数据时才推荐这种做法。如果要保留 D 盘数据就必须用分区工具把 D 盘“缩小”再扩展 C 盘这个过程 Windows 原生磁盘管理做不到需要第三方工具来完成。8. 日常维护与防止再次爆满的配置建议清理完 C 盘后如果不改变使用习惯空间很快又会涨回去。这里分享几条日常维护建议特别适合开发者和需要长期保持系统稳定的用户。8.1 新软件默认安装到 D 盘安装软件时尽量手动把安装目录从C:\Program Files改到D:\Software。很多软件的安装包没有让用户选择路径这时候要看安装界面有没有“自定义安装”选项。如果软件默认安装在 C 盘但支持修改建议养成每次修改路径的习惯。大型开发工具如 Visual Studio、JDK、Python如果手动安装都可以指定 D 盘路径。8.2 定期执行三清系统磁盘清理cleanmgr用户临时目录%temp%清空回收站和下载缓存及时清空可以在 Windows 任务计划程序中创建简单任务每周自动运行磁盘清理但手动频率保持每月一次也足够。开发者电脑如果频繁编译大型项目还可以重点看看C:\Users\用户名\.gradle、C:\Users\用户名\.m2等目录的大小变化。8.3 调整 Windows 默认下载和文档位置把桌面、下载、文档都迁移到 D 盘后即使之后系统崩溃需要重装用户数据也不会跟着格式化这是提升数据安全系数的一个好办法。同时对新使用者来说这样一个简单改动也能避免以后 C 盘再次爆满。8.4 关注“空间不足”前的预兆如果 C 盘剩余空间低于 10GBWindows 更新、休眠、系统还原等操作都可能异常。别等到系统提示“磁盘空间不足”再处理建议每季度检查一次 C 盘空间占用情况。在“设置 - 系统 - 存储”中可以直观看到各分类占用也可以通过 TreeSize 或 WizTree 查看哪些目录占用最大。9. 常见问题与排查思路问题现象常见原因解决思路C 盘扩展卷选项是灰色C 盘右侧没有直接未分配空间或中间有恢复分区使用 DiskGenius 调整分区而不是磁盘管理删除休眠文件后开机变慢快速启动依赖休眠文件如需恢复执行powercfg /h on不追求极速开机则保留关闭状态清理 Temp 后某个软件打不开正在运行的软件临时文件被删除重启该软件一般会自动重建缓存若仍异常检查是否存在其他缓存目录迁移下载文件夹后下载路径不一致浏览器仍指向旧路径在浏览器设置中把下载位置改为新的 D 盘下载路径DISM命令提示“拒绝访问”没有使用管理员权限的命令提示符右键“命令提示符”或“Windows PowerShell”选择“以管理员身份运行”页面文件迁移后蓝屏或提示虚拟内存不足D 盘空间不足以支撑系统自动管理为虚拟内存设置固定大小或确保 D 盘至少有 20GB 空闲用户文件夹转移后右键属性里找不到“位置”该文件夹类型不是标准用户文件夹仅支持桌面、文档、下载等固定文件夹普通自定义文件夹没有该选项WSL 迁移后无法启动导出导入后默认用户丢失用ubuntu config --default-user 用户名重新设置默认用户如果遇到以上问题先回到上一步确认是否有重要数据未备份再继续操作。分区调整类问题尤其需要检查磁盘是否有坏道可以用chkdsk命令提前检查。10. 最后再提醒几句C 盘清理的本质是在不破坏系统数据和用户数据的前提下把文件从“系统盘必须占用”的范围内移走。最实用的组合拳是先用系统磁盘清理删临时文件和更新缓存再关闭或搬迁休眠文件、页面文件之后把桌面、文档、下载等用户文件夹迁移到 D 盘最后根据实际需求用 DiskGenius 扩容 C 盘。这几个步骤不需要删除任何重要资料桌面上的文件和项目文档只是换了个物理位置使用方式不受影响。操作前花几分钟创建一个系统还原点比清理本身更重要。如果你最近正处于 C 盘爆红的边缘建议从第 3 节和第 5 节做起它们性价比最高也最安全。至于分区扩容永远当成最后的备选方案先确认数据备份再动分区。最后还要提醒一句不要轻信网上那些来路不明的“一键清理工具”尤其是连官网都验证不了的软件它们很可能在帮你清理 C 盘的同时把你的隐私也一起“清理”走了。