admin管理员组

文章数量:1643799

写在前面

计算机行业内有一条安迪-比尔定律,安迪指英特尔前CEO安迪·格鲁夫,比尔指微软前任CEO比尔·盖茨,这条定律说的是"硬件(英特尔)提升的性能会很快被软件(Windows)的升级所吃掉"。
安迪-比尔定律反映在存储空间上,就是软件会肆无忌惮的产生垃圾,消耗掉宝贵的存储空间,不管是否消耗的空间是否真的有用。
这就是垃圾清理的意义。将本来应该由软件完成的节约存储空间的任务转交给用户来完成。

假设

  1. 在这篇博文中,我们只管软件生成的无用文件为垃圾文件。用户自己产生的无用文件(比如用不到的照片、视频)不在讨论范畴。
  2. 为了保证严谨性,文章草稿中有着大量的诸如往往,几乎,大多时候,主流设备,在Windows系统下,大体上,一般情况下建议,除非你是专家,除非你知道你在做什么之类的修饰词,作为一篇博文,实在没必要像论文一样迂腐(或者说严谨),我们会尽可能省略这些词。

为什么Windows系统的垃圾文件问题如此严重?

垃圾文件的产生主要是操作系统的软件管理的缺陷导致的。
目前主流的操作系统中,除了Windows,或多或少都有标准统一的软件管理方案。Linux有包管理器,macOS、iOS和Android都有应用商店来对软件进行统一管理。所有软件的都由包管理器或者应用商店来控制可以在哪里创建文件,卸载程序后,操作系统也会将它的垃圾文件一并删除。
遗憾的是,Windows应用(不包括UWP)的权限管理方法非常原始:任何软件可以在任何时候在任何位置创建文件,同时卸载后系统也不会删除这些文件。这就导致了Windows上的垃圾文件非常难以检测和清理。比如一个装在D盘的软件,也有可能在C盘留下10多个G的缓存。
所以手动清理垃圾文件看似高级,实则是无奈之举。

手动垃圾清理原则

原则1: 优先控制垃圾文件的产生。

让软件在固定的位置生产垃圾可以极大的方便清理。管理的很好的软件几乎不需要手动清理。

用软件管理和权限管理从源头控制垃圾文件的产生。Windows系统这些年来也在这两个方面做出了很多努力,现代的Windows系统(Windows 10+)的软件管理已经基本成体系,Microsoft Store可以说至少算是一个合格的应用商店了. 但沉重的历史包袱让Microsoft Store不能成为一个纯粹的应用商店,商店中的App有的是完全由系统管理存储空间的,有的是传统的Win32应用。
杜绝垃圾文件产生的第一步就是杜绝从官网下载安装包的软件安装方式。这样安装的软件如同放任熊孩子闯进你的手办小屋,只会留下一片狼藉。如果要避免垃圾文件,可试着用下面的顺序安装一个新软件:

  1. Microsoft Store中安装非第三方托管的软件。 Windows设置中可以一键清理它们产生的垃圾。
  2. 用包管理器安装软件。 可以一条命令清理垃圾。
  3. PortableApps Platform中安装软件,使用软件的绿色或者便携版本。至少垃圾不会到处跑。
  4. 装在虚拟机或者沙盒里。至少垃圾不会到处跑。

原则2: 设立一个实用的清理目标。

垃圾文件如桌子上的灰尘、手上的的细菌,是清理不完的。大多数情况下,前30分钟可以轻轻松松的删掉十多个GB。之后只是在不断地找几个MB甚至几个KB的文件,细细斟酌去留,枯燥乏味且毫无意义。所以为了不让自己陷入无休止的垃圾清理中,最好先给自己设立一个合理清理目标。比如:

  • 我的C盘红了,看着不顺眼,我要试试是让它变蓝。
  • 我有个60GB的游戏要安装,明明之前我没怎么用电脑,可存储空间就是一点点的消失了。我要试试能不能清理出来60GB来装游戏。
  • 我看了这篇文章,想练练手,我想把文章中的技巧用一用,不在乎到底清理出多少空间。

"我的电脑太卡了,我想让电脑变快"不是一个合理的目标,清理垃圾文件不会让电脑变快。人们往往会有一种误区,自己电脑变卡是因为C盘空间不够了。但实际上在现代固态硬盘都会预留一定的空间作为缓存,即使C盘满了也对性能影响非常有限,空间不够和运行缓慢是两个独立的问题。更多的情况是安装了许多流氓软件,同时拖慢了性能和占用了空间。这种情况下,垃圾清理的作用有限,你需要为系统来一个大扫除,卸载软件、禁止启动项、清理注册表、整理磁盘碎片甚至杀毒都需要考虑,这些就不是我们介绍的范围了。

另外要记住,人比机器更宝贵。如果控制垃圾文件会显著减慢你用电脑干活的速度,那不如放任垃圾文件的产生。之前我曾尝试过将QQ放入虚拟机,这样虽然杜绝了垃圾文件的产生,但结果是自此之后我再也没启动过它们几次,每次启动都会被漫长的虚拟机开机过程折磨。我宁可用手机打字,也不愿看着虚拟机慢慢启动。

原则3: 尽可能不清理不熟悉的文件。

在删除文件前,要三思。清理一个不熟悉的文件可能会让软件无法正常运行、丢失重要数据、甚至让系统崩溃。删除前,一定要知道自己在删什么。

基本可以放心清理的位置:

  • C:\Users\<用户名>\AppDataC:\ProgramData\: 这两个文件夹里面是软件缓存的主力,里面有各式各样的缓存,清理起来相对安全,往往是清理的重点。大多数是删除软件的整个文件夹,无需在意里面有什么。
    比如GIMP软件在C:\Users\<用户名>\AppData\Local\GIMP\里有两个文件夹2.102.99,代表两个版本,我早以将GIMP升级到2.99了,2.10版本的缓存没有任何作用,可以安全删除。
  • C:\Users\<用户名>\Documents\: 这里本应该是存放用户文档(Word, Excel, PDF之类的)的地方,但许多软件都把这里当作一个存放缓存的地方。这里的文件只要不需要就可以删除,但要注意的是,软件之所以把文件放在本应该是用户管理的地方就是希望你能手动管理这些文件,比如游戏的存档、聊天时接受的文件等等,所以不要像其他目录一样大手大脚的一删删一个文件夹,而是要打开每个文件夹,看看里面的文件是什么再做决定。
  • C:\Users\<用户名>\: 这是最难处理的一个文件夹。它本来是用户文件夹,存放各种子文件夹,比如图片,文档,音乐,但奈何很多软件也选择直接在这里安家,有时候在这里放不能删的配置文件,有时候在这里放没必要的缓存,甚至有的直接把程序偷偷装这里。保守的清理方式是先删除卸载残留的目录,然后每个文件夹都看一下,如果文件夹很大,那可能是有垃圾文件,仔细看看文件见里面有什么大文件夹,如果还带有cache,temp, tmp, download之类的字样,一般就是垃圾文件。

要小心对待的位置:

  • C:\Windows\是Windows操作系统的目录,里面的的任何文件夹都绝对不要手动干预,误删一个文件就可能让整个系统崩溃。如果实在要清理,也要用Dism++这样的软件。
  • C:\Program Files (x86)\C:\Program Files\C:\ProgramData\Package Cache\: 仅删除已经卸载的软件的残余文件夹。比如在正常卸载一个名为GIMP的软件后,C:\Program Files\GIMP\文件夹可能仍然存在,这是可以删掉它,不会有太大影响。

90%的垃圾文件都在上面几个位置,如果你在处理一个Windows XP系统,可能还要考虑C:\Documents and Settings\之类的文件夹。

原则4: 优先处理大文件。

解释: 要用最少的时间换取最大的空间,就不能太在乎几个KB的文件,哪怕几百个小文件也不如一个10GB的系统更新缓存大。

这里推荐两个工具,一个是开源的WinDirStat,另一个是个人免费使用的WizTree。它们以可视化的方式展示各个文件夹的大小,帮助你迅速的找到大文件或大文件夹,然后由你决定要不要删除。

WizTree的界面 (图源: alternativeto)

本文是原创文章,在CC BY-NC-SA许可下授权。最初发布于segmentfault,CSDN等平台

本文标签: 杂谈垃圾清理Windows