2017-08-11 143 views
1

我有这个有趣的测试案例,我生成了成千上万的非常小的文件。正如您可能想象的那样,磁盘上的大小呈线性增长,但我并不认为磁盘上的大小会小于整个文件夹的大小。 (NTFS)文件夹大小如何大于磁盘上的大小?

我理解磁盘上的大小如何可能大于大小,但我很困惑它如何可能更小。

我不完全确定这是如何可能的。任何线索?

enter image description here

+0

是Windows/NTFS为某个就地压缩或文件补偿多余的文件? 对于任何对我如何做到这一点感兴趣的人,这里是批处理文件: https://pastebin.com/FgWVJsiJ – Parad0x13

回答

1

它可以是压缩,或见sparse files

但在你的情况下,我猜想这是第三种选择 - 如果文件很小,通常在400字节以下,它的数据可以适合MFT文件记录,因此它不占用任何群集。你有~30,000个文件,所以如果它们大约是300字节,那么它可以是9MB,并且它仍然可以作为0字节记录在磁盘上: enter image description here

+0

哦,是啊!我完全忘了在新的NTFS标准中,如果文件足够小以适应文件系统的寻址模式,数据实际上就放在那里。 Derp谢谢! – Parad0x13

+0

其实它从一开始就在那里:)它被称为驻留属性 - 如果属性数据存储在MFT中,非驻留属性 - 如果数据以簇的形式存储在磁盘上。 –