关于 NTFS 的说明¶
NTFS文件系统可与Windows NT及其后续版本的操作系统一起使用。它提供了一些特殊功能,这些功能对 TreeSize 也产生影响。
我们将在下文中介绍其中的一些功能及其对本软件的影响。
访问控制列表¶
可以限制用户访问文件和文件夹的方式。用户可以授予或拒绝其他用户或组某些权限,如读取、写入、执行或删除。这样甚至可以拒绝管理员访问文件和文件夹。
如果管理员试图访问 Windows 资源管理器中的文件夹,而该文件夹的所有者拒绝任何其他用户读取该文件夹,则会显示 "拒绝访问 "错误信息。
不过,如果您以管理员身份登录或以有权执行备份的用户身份登录(可在 "控制面板 > 管理工具 > 本地安全策略 "和 Windows 的用户编辑器中更改此选项),TreeSize 就能扫描此类文件夹。
基于文件的压缩¶
NTFS 支持对单个文件进行压缩。NTFS 卷上的压缩文件无需先由其他程序解压缩即可读写。在读取文件时,解压缩会自动、透明地进行。保存文件时会再次压缩。
压缩文件占用的空间通常比正常大小要小得多。因此,对于部分或全部压缩的文件夹,TreeSize 报告的分配空间可能小于该文件夹报告的大小。
TreeSize 能在 "详细信息 "选项卡的附加栏中显示压缩率。此外,它还可以用不同的颜色显示压缩文件和文件夹。这些功能可在 "选项 "对话框中打开或关闭。
TreeSize 能使用右键菜单压缩和解压整个文件系统分支。
在 Windows 10 中,微软在 NTFS 中引入了新的透明压缩功能,旨在压缩操作系统的文件,主要是 DLL 和 EXE 文件。与旧的基于文件的压缩不同,这些文件不会在文件属性中标记为压缩文件。
稀疏文件¶
文件虽大,但只被部分使用的文件称为`sparse files<https://en.wikipedia.org/wiki/Sparse_file>`_ 。
由于操作系统不会为稀疏文件未使用的部分分配磁盘空间,因此其占用的磁盘空间小于实际大小。
TreeSize 将稀疏文件视为压缩文件,并计算其压缩率。
稀疏点:卷挂载点和符号链接¶
卷挂载点是 "挂载 "另一个卷的现有路径。
这样,用户和应用程序就可以通过该路径引用已挂载的卷。无需为该卷分配驱动器代号。它允许你将多个文件系统统一为一个逻辑文件系统。
符号链接,也称为交界点,工作原理类似:例如,如果你有一个空文件夹 "C:DocumentsImages", 你可以为它创建一个指向 "E:Pics "的符号链接。应用程序就会在 "C:DocumentsImages "中看到 "E:Pics "的内容。
与 NTFS 结点不同,符号链接也可以指向文件或远程 SMB 网络路径。
如果打开了 "跟踪挂载点和符号链接 "选项,TreeSize 将在扫描时包含这些文件夹的内容。由于这些内容并未实际存储在扫描的驱动器上,因此分配空间的结果可能会大于驱动器的总大小。
备用数据流 (ADS)¶
在 NTFS 中,文件由不同的数据流组成。一个数据流包含安全信息(访问权限等),另一个数据流包含文件中的 "真实数据"。
可能会有备用数据流,以与标准数据流相同的方式保存数据。这些备用数据流是隐藏的。这意味着,一个文件的官方主数据流中可能只有一个字节,而一个或多个备用数据流中可能有数百个字节。
dir 命令、文件管理器或 Windows 资源管理器会显示该文件的大小为 1 字节,但实际上它在硬盘上分配的空间要大得多。
TreeSize 可以检测备用数据流,并将其大小添加到分配的文件大小中。
Note
ADS 可将信息存储在与主数据流相同的集群中,因此如果一个文件有一个或多个 ADS,该文件不一定会分配更多磁盘空间。
你可以在 TreeSize 选项对话框中选择检测备用数据流,以获得更准确的目录分支分配空间。
该选项默认为停用,因为查询 ADS 需要一些时间,会增加扫描所需的总时间。您可以使用 TreeSize 的自定义文件搜索功能搜索包含备用数据流的文件。
硬链接¶
在 Windows 环境中,硬链接是对 NTFS 存储卷上物理数据的引用或指针。所有命名的文件都是硬链接。与文件关联的名称只是一个标签,用于将操作系统指向实际数据。
在 NTFS 卷中,同一数据可关联多个名称。虽然调用的名称不同,但无论以后如何调用文件,所做的任何更改都会影响实际数据。
硬链接只能指向存在于同一文件系统中的数据。只要至少有一个指向该数据的链接存在,该数据就可以被访问。当最后一个链接被删除时,空间就被认为是空闲的。
Note
所有指向同一文件的硬链接也共享相同的安全描述符(访问权限)。
要创建硬链接,用户必须对相应文件夹分支和共享(如果驱动器不是本地驱动器)上的文件属性拥有写权限。
如果一个以上的硬链接指向一个文件的数据,那么无论存在多少个硬链接,这些文件只分配一次空间。
在选项对话框中,你可以告诉 TreeSize 检测硬链接,从而获得更准确的目录分支分配空间。该选项默认被禁用,因为查询硬链接需要一些时间,并且增加了扫描所需的总时间。
自动重复数据删除¶
Windows Server 2012 及更高版本提供重复数据删除功能:重复数据删除功能会将内容大致相同的文件分割成所谓的 "块",这些 "块 "会被移动到相应 NTFS 分区上的子文件夹 "System Volume Informaton\Dedup\ChunkStore\" 中。
在 Windows 执行重复数据删除后,原始数据将被 ChunkStore 目录中相应分块的指针所取代。两个相同的文件在经过 NTFS 重复数据删除后,所占用的磁盘空间只有原来的一半。
由于原始文件现在只包含一个小指针而不是数据,因此 Windows 显示的已分配磁盘空间值将比以前小得多(对于两个完全相同的文件,占用的磁盘空间将显示为 "0 字节")。
要让 TreeSize 显示原始的 file 和文件夹大小,只需将视图模式从“分配空间”切换为“大小”即可。 TreeSize 中显示的“分配空间”是删除相应的 file后获得的磁盘空间。
离线文件¶
Windows Server 和一些第三方工具和设备提供一种名为 "脱机文件 "的功能:长时间未使用的文件会自动转移到更便宜、更慢速的存储空间,而一个小的存根文件会保留在其原始位置。
通常,TreeSize 会正确报告此类存根文件的分配空间,通常只有一个文件系统集群的大小。
不过,有一种情况是存根文件分配的空间可能无法正确报告。如果 TreeSize 遇到拒绝访问错误,它会使用Windows备份软件的API函数,以便能够扫描 file 系统中的这些部分,并提供其大小和分配空间的数值。
我们看到有些设备将完整文件大小报告为存根文件的分配空间,这很可能是因为备份时占用的就是这个大小。
为避免这种情况,请确保运行扫描的用户对扫描的文件系统拥有完全读取权限。