关于 NTFS 的说明

文件系统 NTFS 可与 Windows NT 或更高版本的操作系统一起使用。它提供了一些特殊功能,这些功能也会对 TreeSize 产生影响。

我们将在以下段落中描述其中一些功能及其对该软件的影响。

访问控制列表

可以限制用户访问文件和文件夹的方式。可以授予或拒绝其他用户或组某些权限,例如读取、写入、执行或删除。通过这种方式,甚至可以拒绝管理员访问文件和文件夹。

如果管理员尝试访问 Windows 资源管理器中某个文件夹,而该文件夹的所有者拒绝了其他用户的读取访问权限,则会显示“访问被拒绝”的错误消息。

然而,如果您以管理员身份登录或以具有执行备份权限的用户身份登录,TreeSize 能够扫描这些文件夹(此选项可以在“控制面板 > 管理工具 > 本地安全策略”以及 Windows 的用户编辑器中更改)。

基于文件的压缩

NTFS 支持对单个文件进行压缩。在 NTFS 卷上压缩的文件可以在不先被其他程序解压缩的情况下进行读取和写入。解压缩在读取文件时自动且透明地发生。文件在保存时会再次被压缩。

压缩文件所占用的空间通常远小于其正常大小。因此,对于部分或完全压缩的文件夹,TreeSize 报告的已分配空间可能小于该文件夹报告的大小。

TreeSize 能够在“详细信息”选项卡的额外列中显示压缩比。此外,它可以以不同的颜色显示压缩的文件和文件夹。这些功能可以在选项对话框中打开或关闭。

TreeSize 能够使用上下文菜单压缩和解压缩整个文件系统分支。

在 Windows 10 中,微软引入了 NTFS 中新的透明压缩功能,旨在压缩操作系统的文件,主要是 DLL 和 EXE 文件。与旧的基于文件的压缩相比,这些文件在其文件属性中并未标记为压缩。

稀疏文件

大型但仅部分使用的文件称为 稀疏文件

由于操作系统不为稀疏文件的未使用部分分配磁盘空间,因此它占用的磁盘空间小于其实际大小。

TreeSize 将稀疏文件视为压缩文件,并为其计算压缩比。

备用数据流 (ADS)

在 NTFS 中,文件由不同的数据流组成。一个数据流包含安全信息(访问权限等),另一个数据流包含文件中的 "真实数据"。

可能会有备用数据流,以与标准数据流相同的方式保存数据。这些备用数据流是隐藏的。这意味着,一个文件的官方主数据流中可能只有一个字节,而一个或多个备用数据流中可能有数百个字节。

dir 命令、文件管理器或 Windows 资源管理器会显示该文件的大小为 1 字节,但实际上它在硬盘上分配的空间要大得多。

_images/TreeSize-MainWindow_AlternateDataStreams.png

TreeSize 可以检测备用数据流,并将其大小添加到分配的文件大小中。

Note

ADS 可将信息存储在与主数据流相同的集群中,因此如果一个文件有一个或多个 ADS,该文件不一定会分配更多磁盘空间。

您可以在 "树形大小选项 "对话框中选择检测备用数据流,以获得更准确的目录分支分配空间。

该选项默认为停用,因为查询 ADS 需要一些时间,会增加扫描所需的总时间。您可以使用 TreeSize 的自定义文件搜索功能搜索包含备用数据流的文件。

自动重复数据删除

Windows Server 2012 及更高版本提供重复数据删除功能:重复数据删除会将内容相等的文件分割成所谓的 "块",这些 "块 "会被移动到位于相应 NTFS 分区上的子文件夹 "System Volume Informaton\Dedup\ChunkStore\" 中。

在 Windows 应用去重后,原始数据将被替换为指向 ChunkStore 目录中相应块的指针。在 NTFS 去重后,两个相同的文件只需占用之前一半的磁盘空间。

由于原始文件现在仅包含一个小指针而不是数据,Windows 将显示的已分配磁盘空间的值将比之前小得多(对于两个相同的文件,已占用的磁盘空间将显示为“0 字节”)。

要使 TreeSize 显示原始文件和文件夹的大小,只需将视图模式从“已分配空间”切换到“大小”。在 TreeSize 中显示的“已分配空间”是您通过删除相应文件所获得的磁盘空间。

离线文件

Windows Server 和一些第三方工具及设备提供了一种名为“离线文件”的功能:长时间未使用的文件将自动移动到更便宜且更慢的存储中,并且在其原始位置保留一个小的存根文件。

通常,TreeSize 会正确报告此类存根文件的已分配空间,通常仅为一个文件系统簇的大小。

然而,有一种情况可能导致存根文件的已分配空间未被正确报告。如果 TreeSize 遇到访问被拒绝的错误,它会使用 Windows API 函数,这些函数旨在用于备份软件,以便能够扫描文件系统的这些部分并提供其大小和已分配空间的值。

我们见过一些设备在这种情况下将存根文件的已分配空间报告为完整文件大小,这很可能是因为这将是备份中占用的大小。

为避免这种情况,请确保运行扫描的用户对扫描的文件系统具有完全的读取访问权限。