对于Windows 8中的非零文件,“磁盘大小”为零?

时间:2014-04-10 16:41:53

标签: ntfs diskspace

我发现我的磁盘上有一些文件,其中 1)实际大小不为零,但它很小,大约500字节
2)磁盘上的"大小"检查其属性时显示为零 3)如果我把文件缩小,那么"大小在磁盘上#34;仍然是0 4)如果我把文件做大,甚至大1个字节,磁盘上的大小将变为4096
5)磁盘未压缩

怎么可能?我的操作系统是Windows 8.1:这是Windows 8中的新功能吗? Windows 8是否如此智能以至于它可以将这些小文件合并到一个磁盘扇区中?

有人可以证实吗?

如果是新功能,如何禁用它?

2 个答案:

答案 0 :(得分:18)

NTFS中的文件由主文件记录表中的(至少一个)文件记录组成(称为MFT - 每个文件记录由名称,文件信息等属性组成)数据通常位于一个或多个集群中磁盘。 MFT中的文件记录包含对这些集群的引用(称为非驻留属性)。当数据大小非常小时,即使其数据在MFT记录内 - 数据属性也是驻留的。因此,NTFS不必分配任何集群。磁盘上的大小是已分配的群集数*群集的大小,因此如果数据属性是驻留的,则磁盘上的大小为零。如果达到文件记录的最大大小,则数据属性为非驻留,NTFS分配第一个集群,因此磁盘上的大小为1个集群 - 4096字节。

答案 1 :(得分:0)

这不是Windows 8特有的(所以我修改了你的问题)。对于由Microsoft的文件系统驱动程序管理的所有NTFS都是如此。

我无法想象你为什么要禁用这种类型的效率:它是一个特别优秀的功能,因为许多计算机文件往往很小。

我已经确认,如果文件缩小,直到XP NT的NT版本不会将数据移动到MFT记录(并释放群集)。因此,您可以将一些数据附加到此类文件,使其至少为1024字节,然后将它们截断回原始大小。