我使用的 Vista 虚拟机只有一个 10 GB 的虚拟硬盘——我担心它会随着时间的推移而耗尽空间。
我用TreeSize来检查罪魁祸首..
罪魁祸首是那个/winsxs
或“Windows Side-By-Side”文件夹。
什么是 Windows Side By Side 文件夹?嗯,这里解释得很好。
操作系统中的所有组件都可以在 WinSxS 文件夹中找到——实际上我们称这个位置为组件存储。每个组件都有一个唯一的名称,其中包括为其构建的版本、语言和处理器架构。WinSxS 文件夹是在系统上找到该组件的唯一位置,您在系统上看到的所有其他文件实例都是通过从组件存储进行硬链接来“投影”的。让我重复最后一点——操作系统中每个文件的每个版本只有一个实例(或完整数据副本),并且该实例位于 WinSxS 文件夹中。所以从这个角度来看,WinSxS 文件夹实际上是整个操作系统的整体,在下层操作系统中被称为“平面”。
这解释了为什么文件夹开始时很大,但不能解释为什么它会随着时间的推移变得更大——这个问题的答案是服务。在以前版本的 Windows 中,服务的原子单位是文件,而在 Windows Vista 中,它是组件。当我们更新特定的二进制文件时,我们会发布整个组件的新版本,并且该新版本与组件存储中的原始版本一起存储。组件的更高版本会投射到系统上,但不会触及商店中的旧版本。原因是组件商店变得如此庞大的第三部分。
许多其他人也抱怨 /winsxs 文件夹的大小:
一位同事最近收到了他每两年更新一次的工作笔记本电脑,并且正在为他的新笔记本电脑加载 Vista。出于某种原因,他的硬盘驱动器 C: 被分区为只有 25GB,其余的空间保留给更大的驱动器 D:。
无论如何,在加载了许多 Windows 更新之后,他在 C: 上几乎没有剩余的驱动器空间,并且出于某种原因,WinSxS 目录已经膨胀到超过 8GB。
虽然我知道 WinSxS(Windows Side-by-Side)目录的用途,但我不太确定为什么该目录在正常的操作系统更新时会如此快速地爆炸。
为了安全起见,我并不真正关心拥有所有这些重复文件,但我确实关心由于磁盘空间不足错误而导致的 VM 爆炸。那么..可以以任何方式安全地削减 /winsxs 吗? 好像不能..
管理员不应出于任何原因自行清理 /winsxs 目录- 这样做可能会阻止 Windows Update 和 MSI 之后正常运行。防止从目录中意外删除是通过在继承到其子目录的目录上放置一个强大的安全描述符来实现的。
如果这个 /winsxs 文件夹变得更大,我将不得不重新映像这个虚拟机..我真的 …
我的硬盘已满。我正在寻找方法来定位使用我大部分磁盘空间的东西。我玩过一次 cron,所以它可能消耗了大量空间,但我真的不知道。
我已将我的东西备份到 CD,但系统仍然变得太慢。也许我应该重新安装所有东西,但是在解决问题的同时并没有解决原因。
ncdu
我跑ncdu
的root
,让我在那里用其他方法错过了备份文件在我的系统下面
--- /home/masi ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
45.5GiB [##########] backup_home_1.9.2016.tar.gz
34.9GiB [####### ] /Documents
1.4GiB [ ] /Videos
1.4GiB [ ] /.cache
1.2GiB [ ] /Downloads
1.0GiB [ ] /.config
607.8MiB [ ] /Pictures
487.0MiB [ ] /.matlab
447.2MiB [ ] /Images
406.1MiB [ ] /Desktop
97.1MiB [ ] /.kingsoft
58.4MiB [ ] /.local
20.6MiB [ ] /.Mathematica
13.3MiB [ ] /.mozilla
...
Run Code Online (Sandbox Code Playgroud)