我明白为什么“磁盘大小”大于“大小”。
我有三个 NTFS 格式的驱动器,上面有完全相同的数据。它们的分配单元是 4096 字节。文件和文件夹的数量以及尺寸三者均匹配。
但是,当我打开这些镜像驱动器的根文件夹的属性时,只有前两个驱动器有磁盘大小匹配。第三张稍微大一点。
这是文件损坏的潜在信号,还是文件系统的副产品?
答案1
在一个系统上,可能某些文件已被修改或更改了一个字节,因此一个或多个文件被移入或移出 MFT 区域(其中不使用簇对齐并且可能不计入文件系统“正在使用”的计数)或被碎片化,导致使用空间存在差异。
数据属性
此 MFT 属性包含有关实际文件的数据在卷上的位置的信息。 您可能知道,有时如果数据足够小,文件的整个数据都可以存储在主文件表中。然而,大多数情况下文件的数据太大,MFT 无法容纳。
答案2
如果您将相同的文件复制到不同的磁盘,但看到不同的文件数量或不同总大小那么您遇到了磁盘和/或复制问题。尺寸是根据文件的总数据计算的,因此如果数字不同,则文件不同
另一方面,磁盘大小依赖于取决于文件在磁盘上的实际存储方式并且实际上与文件大小无关,因此总磁盘大小如果文件在磁盘上的存储方式不同,则可能会发生变化。有很多原因可以改变该值
- 稀疏文件在原始驱动器上将在目的地扩展如果复制工具不够智能。例如,您有一个 1GB 的稀疏文件,其中只有 1MB 的实际数据,即磁盘上的大小将约为 1MB。当您复制时,目标磁盘上的大小现在将为 1GB
- 压缩文件如果目标没有压缩属性,则也将被解压缩,或者它们可能会被重新压缩使用不同的算法,这会导致磁盘大小不同
- 非常小的文件可以存储在 MFT 中,称为常驻文件,前提是它们的大小适合 MFT 记录中的可用空间。可用空间取决于元数据使用情况,因此有可能同一个文件驻留在一个磁盘上,但不驻留在另一个磁盘上,例如
- 不同数量的硬链接:如果目标驱动器有DOS-8.3 名称生成已禁用,然后它会释放记录中的一些空间。因此,一些以前不驻留的文件现在可以内联,并且它们在磁盘上的大小将为 0
- 不同的权限:源文件可能在另一台计算机上创建,其中包含不同的权限信息。当您使用另一台 PC 以其他用户身份复制它们时,目标的 MFT 记录中可能会存储不同的 ACL,这又会影响文件的驻留状态
- 广告未在目标驱动器上复制/删除。文件的内容仍将相同,但现在不再占用 MFT 记录中的空间。还可以添加更多 ADS,这当然会占用记录中的空间。
- 驱动器上的碎片数量不同:由于每个片段都是连续存储的程度在记录中,碎片越多的文件需要的 MFT 空间就越多。目标文件的碎片可能越少,因此更有可能被内联
- 旧文件本来就更大:从非驻留文件中删除内容时,即使新大小适合 MFT 条目,它也不会成为驻留文件。但将文件复制到新位置后,它将成为目标位置的驻留文件
- 文件夹中的不同创建/删除模式:目录只是一个特殊的文件,用于存储其子文件列表。因此,目录大小取决于它有多少个文件/文件夹。从目录中删除文件时,只会删除文件索引,目录大小不会缩小。但是将目录复制到另一个位置后,新目录会变小。以
fsutil file layout dirpath
管理员身份运行并查看$INDEX_ALLOCATION
溪流旧目录和新目录的大小
还有更多原因更改文件的元数据大小并导致驻留文件在磁盘上的大小不同。但更重要的是,一旦驻留文件变为非驻留文件,它将永远不会再转换回驻留文件,并将永远占用磁盘空间