我使用的 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 文件夹变得更大,我将不得不重新映像这个虚拟机..我真的 …
我使用 Windows 7 64 位高级版已经两年了,这次我的 C:\Windows 文件夹已经增长到将近 30GB,在我看来,这是不可接受的。
最大的子文件夹是 winsxs (10.5 GB)、Installer (5.5 GB)、System32 (4GB) 和 SoftwareDistribution(2.5GB)。我用谷歌搜索 winsxs 文件夹,发现它很重要,可能不会被删除。我在 google 上搜索了 Installer 文件夹,发现它主要与 Office 相关,并且可以通过删除 Office 更新来减少它。
但这并不令人满意。是否真的需要 27GB 才能运行 Windows 7 以及最新的 Microsoft Office?
有什么方法可以安全地缩小 Windows 文件夹(无需重新安装 Windows 7)?