如何可视化哪些文件夹和文件占用了我的硬盘驱动器上的所有空间?
我收到了一些关于硬盘内容大小的相互矛盾的报告。即什么存在和不存在以及哪些文件夹实际使用该空间。
我需要知道哪些文件或文件夹是所有这些隐藏膨胀的罪魁祸首。还应该有一个打印选项可以将其打印在纸上。
我使用的 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 文件夹变得更大,我将不得不重新映像这个虚拟机..我真的 …
我多年来一直是 Linux 的狂热用户,但后来切换到了 Windows。我一直错过的一件事是使用 rsync 制作增量快照以进行备份。你使用这样的命令:
rsync -aP --link-dest=PATHTO/$PREVIOUSBACKUP $SOURCE $CURRENTBACKUP
Run Code Online (Sandbox Code Playgroud)
它将创建您正在备份的文件夹当前状态的完整目录结构,使用硬链接来引用以前的备份。只有新的或更改的文件才会真正写入磁盘;所有其他的都保存为硬链接。这简直太棒了,我在 Windows 中找到的任何解决方案都无法做到这一点。(作为参考,我尝试过 Windows 文件历史记录,并为包括 Crashplan 和其他出色的Beyond Compare在内的商业软件付费。)
既然微软已经引入了 WSL,我已经尝试在 Windows 的 bash 中做到这一点。它似乎运行良好,但 Windows 错误地报告了磁盘上的大小,如下所示:
为了解释一下,snapshot-170831__07h08m48s我在一个快照中添加了一个大型视频文件,1.40 GB,复制需要几秒钟。在下一个快照中,snapshot-170831__07h09m09s文件没有花时间复制,这表明硬链接已正确创建并且我的硬盘驱动器上没有占用空间。
然而,我所有的 Windows 工具(Windows Explorer、Directory Opus、WinDirStat)都报告第二个快照文件夹在磁盘上占用了 1.40 GB。
那么第一个问题是为什么 Windows 会错误地报告这些硬链接的磁盘大小?
但更重要的问题是我是否应该这样做:在 Windows 下使用 Linux 工具进行常规文件备份。我已经在 WSL 上看到,使用 Windows 工具修改 .bashrc 等文件会使文件在 WSL 中不可读。我想知道将我的备份委托给这样的工具是否风险太大,或者我是否冒着损坏文件系统和丢失重要文件的风险。
disk-space ×3
windows ×3
backup ×1
bash ×1
ntfs ×1
printing ×1
rsync ×1
windows-10 ×1
windows-subsystem-for-linux ×1
winsxs ×1