没有在 C 盘装东西,桌面也没文件,为什么 C 盘莫名其妙就满了?

没有在 C 盘装东西,桌面也没文件,为什么 C 盘莫名其妙就满了?

木头龙,开了个新专栏,收录些老回答

因为 Windows 有好几个非常占用 C 盘空间的机制,即使用户很注意不把文件放 C 盘,也会逐渐吃掉大量的 C 盘空间。

1.页面文件,2-30G

Windows 作为一款现代操作系统,是支持虚拟内存空间的。因为虚拟内存机制,允许软件申请内存空间但未真正使用前不真正分配物理内存,直到软件使用分配到的内存发生缺页错误时才真正分配物理内存;也允许把长时间不活动的内存页面交换到硬盘上的页面交换文件以腾出物理内存。因此 Windows 默认会在 C 盘建立一个页面交换文件,并且根据不同的物理内存大小、系统页面设置以及应用程序的内存使用情况,页面文件的大小通常在 2~8G 左右,极端情况下甚至会达到 20~30G。

具体页面交换文件大小,可以把资源管理器设置为显示隐藏文件及系统文件,查看 C 盘根目录下的 Pagefile.sys 的大小。可以把页面交换文件设置到其它分区(多个硬盘的话,建议放在 4K 随机读写性能最好的分区),具体教程见:

cfan.com.cn/2020/0604/1

关于虚拟内存、页面交换文件更细节的介绍,请参看我的另一个回答:

Windows 8 或者 Windows10 的任务管理器中,内存已提交的两个数字都是什么意思?

2.休眠文件,4~20G

Windows 支持休眠,并且默认设置下启用。休眠又叫挂起到硬盘(Suspend To Disk,STD),就是把内存中的数据保存到硬盘中然后关机,下次开机时直接从硬盘加载休眠前的内存数据而无需重新初始化一系列系统服务以及重新打开正在运行的程序。

用于保存内存数据的文件,只能在 C 盘根目录,文件名是 Hiberfil.sys,Windows 8 之后,默认大小通常是物理内存大小的 75%,也就是 16G 内存的话占用 12G C 盘空间,可以自行设置到 50-100%之间的值。

如果无需使用休眠,可以强制关闭休眠功能。但这样会导致 Windows 的快速启动失效,仅建议只使用待机(Stand by,或者叫睡眠 /Sleep、挂起到内存 /Suspend To Ram/STR)或者从不关机的用户如此操作:

管理员权限打开命令行,输入:

powercfg /h off

3.各种应用数据,2~40G

Windows 从 Vista 开始引入 UAC 后,默认情况下应用程序运行时不允许修改默认程序安装目录下(“C:\Program Files”和“C:\Program Files(x86)”)的文件。因此应用程序运行时如果需要保存部分数据到硬盘中,通常放在“C:\ProgramData”(不区分用户,一般来说很小)或者“C:\Users\<用户登录名>\AppData”下。

根据安装的具体应用以及应用使用情况,应用安装运行一段时间后,“C:\Users\<用户登录名>\AppData”这个文件的大小通常在 2G 以上,上限可能会很大。例如 Android Studio,默认会把 SDK 和 AVD 放在这个目录下,使用多个模拟器的话可能会占用数十 G 空间。

某些软件可以自行设定数据文件的保存位置,一劳永逸的办法是把 AppData 放到其它分区,并且创建目录链接到原位置。具体操作:

  • 按住 Shift 键重启系统,进入高级选项。然后选择“疑难解答”、“高级选项”、“命令提示符”,进入命令行模式。
  • 按住 Shift 键重启系统,进入高级选项。然后选择“疑难解答”、“高级选项”、“命令提示符”,进入命令行模式。
  • 按住 Shift 键重启系统,进入高级选项。然后选择“疑难解答”、“高级选项”、“命令提示符”,进入命令行模式。
  • 然后顺序输入以下命令,尖括号中的内容根据实际情况替换:
mkdir <d:\登录名>
robocopy C:\Users\<登录名>\AppData <d:\登录名>\AppData /e /copyall /move /sl /r:1 /w:1
rmdir C:\Users\<登录名>\AppData
mklink /j C:\Users\<登录名>\AppData <d:\登录名>\AppData

关闭命令行窗口,正常重启进入 Windows。

4.各种软件的安装包,1~10G

很多使用 MSI 安装包的软件,安装时 Windows 会把整个 MSI 缓存一份到“C:\Windows\Installer”目录下,以便将来修复重装软件、增删可选软件模块、卸载软件时使用。有些软件的 MSI 包非常大,一个就几百兆甚至数 GB,尤其是微软自家软件的补丁安装包,累积下来整个目录占用了十几 G 不少见。

这个文件夹直接删除里面的 msi/msp 文件不会影响系统和软件运行,但修复重装软件、增删可选软件模块、卸载软件的时候会出错。所以建议移动到其它分区,如果电脑同时安装有固态硬盘和大容量的机械硬盘,可以移动到机械键盘上的分区以免占用宝贵的固态硬盘空间,毕竟这些文件访问频率很低。具体操作:

  • 按住 Shift 键重启系统,进入高级选项。然后选择“疑难解答”、“高级选项”、“命令提示符”,进入命令行模式。
  • 按住 Shift 键重启系统,进入高级选项。然后选择“疑难解答”、“高级选项”、“命令提示符”,进入命令行模式。
  • 按住 Shift 键重启系统,进入高级选项。然后选择“疑难解答”、“高级选项”、“命令提示符”,进入命令行模式。
  • 然后顺序输入以下命令,尖括号中的内容根据实际情况替换:
mkdir <e:\Backup>
robocopy C:\Windows\Installer <e:\Backup>\Installer /e /copyall /move /sl /r:1 /w:1
rmdir C:\Windows\Installer
mklink /j C:\Windows\Installer <e:\Backup>\Installer

关闭命令行窗口,正常重启进入 Windows。

5.Windows 更新备份,2~20G

Windows 的更新补丁或者大版本更新,都会创建备份,用于必要时卸载补丁或者回滚到旧版本。补丁备份通常是几百兆到几个 GB,大版本更新可能会占用 10~20G 左右。

如果确认更新后的系统运行正常,可以删除相关备份和文件,具体操作可以参考:

answers.microsoft.com/z

PS:根据评论区意见补充:

默认的数据存放路径:文档、桌面、图片、音乐、视频、下载

这几个文件夹,也会经常被一些软件作为默认的数据存储位置。例如微信、QQ,默认把聊天记录、接收到的文件存放在文档里面,使用时间长了,又经常在一些群里面还有那么几个人天天发表情包、福利图、转发视频的话,也会占用大量空间。不过这几个文件夹的转移很方便,右键点击,属性,位置,移动就可以了。如果是全新的电脑,并且系统是 Win10 的话,直接在设置、系统、存储、更改新内容的保存位置,在这里操作会更方便一点。

不过这几个文件夹不太符合前面所说的“即使用户很注意不把文件放 C 盘”这个前提,大部分有一定经验的用户也都知道,原来的回答就没有提到了。考虑到还是有部分读者接触电脑时间不长,还是多说几句吧。


最后,对于固态硬盘,我个人建议在有可靠数据备份方案且没有特殊的数据管理要求的前提下,不分区使用。

请问 512G 或 1T 固态硬盘新电脑,推荐分区吗?

如果习惯了分区使用的话,没有太多大型软件、游戏,分配给 C 盘的空间不少于 100G,如果有大型软件、游戏,即使会安装到其它分区,也请酌情增加 C 盘容量。