我已经使用 Windows 磁盘管理创建了一个动态 VHD 文件,并通过将主磁盘上的文件夹复制到 VHD 卷中来填充它。
当我在资源管理器中查看已挂载虚拟磁盘的属性时,或者查看磁盘上所有文件和文件夹的组合属性时,显示占用的总大小为 150GB。但是,VHD 文件本身的大小只有 130GB。
我没有在 VHD 卷上启用 NTFS 压缩。我听说过 NTFS 重复数据删除,但这似乎是一项默认未启用的功能,并且仅在 Windows Server 版本上可用。
使用文件比较程序,VHD 卷上的文件与我复制到 VHD 的主磁盘上的源文件相同(并且源文件也声明占用了 150GB),因此文件似乎不是仅部分复制或损坏的。
是否有人知道 Windows VHD 驱动程序或 NTFS 文件系统正在做什么,允许将 150GB 的文件放入 130GB 的 VHD 文件中,而无需使用压缩或重复数据删除?
答案1
根据您复制文件的方式,您可能会拥有包含只有零字节的大文件的大型文件。
这将导致这些文件变成 稀疏文件,其中这些零部分被压缩,并且没有分配任何磁盘空间。但是,Windows 仍然会知道文件的实际大小。
对于任何给定的文件,您可以在资源管理器中右键单击它并选择“属性”,以查看“大小”和“磁盘大小”之间的差异。对于稀疏文件,第一个将比第二个大得多。(可能会有细微的差异,因为文件中的最后一个扇区可能以未分配的空间结束,而该空间不计入大小。)