fsutil behavior

适用于:Windows Server 2022、Windows Server 2019、Windows Server 2016、Windows 10、Windows Server 2012 R2、Windows 8.1、Windows Server 2012、Windows 8

查询或设置 NTFS 卷行为,其中包括:

  • 创建 8.3 个字符长度的文件名。

  • 扩展 NTFS 卷上 8.3 个字符长度短文件名中的字符使用。

  • 当目录在 NTFS 卷上列出时更新“上次访问时间”时间戳。

  • 将配额事件写入系统日志以及 NTFS 分页池和 NTFS 非分页池内存缓存级别的频率。

  • 主文件表区域(MFT 区域)的大小。

  • 当系统在 NTFS 卷上遇到损坏时,无提示删除数据。

  • 文件删除通知(也称为修剪或取消映射)。

语法

fsutil behavior query {allowextchar | bugcheckoncorrupt | disable8dot3 [<volumepath>] | disablecompression | disablecompressionlimit | disableencryption | disablefilemetadataoptimization | disablelastaccess | disablespotcorruptionhandling | disabletxf | disablewriteautotiering | encryptpagingfile | mftzone | memoryusage | quotanotify | symlinkevaluation | disabledeletenotify}

fsutil behavior set {allowextchar {1|0} | bugcheckoncorrupt {1|0} | disable8dot3 [ <value> | [<volumepath> {1|0}] ] | disablecompression {1|0} | disablecompressionlimit {1|0} | disableencryption {1|0} | disablefilemetadataoptimization {1|0} | disablelastaccess {1|0} | disablespotcorruptionhandling {1|0} | disabletxf {1|0} | disablewriteautotiering {1|0} | encryptpagingfile {1|0} | mftzone <Value> | memoryusage <Value> | quotanotify <frequency> | symlinkevaluation <symboliclinktype> | disabledeletenotify {1|0}}

参数

参数 说明
查询 查询文件系统行为参数。
set 更改文件系统行为参数。
allowextchar {1|0} 允许 (1) 或禁止 (0) 在在 NTFS 卷上的 8.3 个字符长度短文件名中使用扩展字符集中的字符(包括音调符号字符)。

必须重新启动计算机,此参数才会生效。

Bugcheckoncorrupt {1|0} 当 NTFS 卷损坏时,允许 (1) 或禁止 (0) 生成错误检查。 此功能可用于防止 NTFS 在与自我修复 NTFS 功能一起使用时无提示删除数据。

必须重新启动计算机,此参数才会生效。

disable8dot3 [<volumepath>] {1|0} 禁用 (1) 或启用 (0) 在 FAT 和 NTFS 格式的卷上创建 8.3 个字符长度的文件名。 (可选)使用指定为驱动器名称的卷路径作为前缀,后跟冒号或 GUID。
disablecompression {1|0} 禁用 (1) 或启用 (0) NTFS 压缩。

必须重新启动计算机,此参数才会生效。

disablecompressionlimit {1|0} 在 NTFS 卷上禁用 (1) 或启用 (0) NTFS 压缩限制。 当压缩文件达到特定的碎片级别时,NTFS 将停止压缩文件的其他盘区,而不是扩展文件失败。 这样做是为了允许压缩文件比正常情况下更大。 将此值设置为 TRUE 将禁用此功能,这时将限制系统上压缩文件的大小。 不建议禁用此功能。

必须重新启动计算机,此参数才会生效。

disableencryption {1|0} 在 NTFS 卷上禁用 (1) 或启用 (0) 文件夹和文件的加密。

必须重新启动计算机,此参数才会生效。

disablefilemetadataoptimization {1|0} 禁用 (1) 或启用 (0) 文件元数据优化。 NTFS 对给定文件可以具有的盘区数有限制。 压缩和稀疏文件可能会变得高度碎片化。 默认情况下,NTFS 会定期压缩其内部元数据结构,因而会产生碎片化程度更高的文件。 将此值设置为 TRUE 将禁用这种内部优化。 不建议禁用此功能。

必须重新启动计算机,此参数才会生效。

disablelastaccess {1|0} 当目录列在 NTFS 卷上时,禁用 (1) 或启用 (0) 对每个目录的上次访问时间戳的更新。

必须重新启动计算机,此参数才会生效。

disablespotcorruptionhandling {1|0} 禁用 (1) 或启用 (0) 点损坏处理。 还允许系统管理员运行 CHKDSK 来分析卷的状态,而无需使其脱机。 不建议禁用此功能。

必须重新启动计算机,此参数才会生效。

disabletxf {1|0} 在指定的 NTFS 卷上禁用 (1) 或启用 (0) txf。 TxF 是一项 NTFS 功能,可为文件系统操作提供类似事务语义的事务。 TxF 目前已弃用,但该功能仍然可用。 我们不建议在 C: 卷上禁用此功能。

必须重新启动计算机,此参数才会生效。

disablewriteautotiering {1|0} 禁用分层卷的 ReFS v2 自动分层逻辑。

必须重新启动计算机,此参数才会生效。

encryptpagingfile {1|0} 加密 (1) 或不加密 (0) Windows 操作系统中的内存分页文件。

必须重新启动计算机,此参数才会生效。

mftzone <value> 设置 MFT 区域的大小,并表示为 200MB 单位的倍数。 将 value 设置为 1(默认值为 200 MB)到 4(最大值为 800 MB)之间的数字。

必须重新启动计算机,此参数才会生效。

memoryusage <value> 配置 NTFS 页面缓冲池内存和 NTFS 非页面缓冲池内存的内部缓存级别。 设置为 1 或 2。 设置为 1(默认值)时,NTFS 将使用默认的页面缓冲池内存量。 设置为 2 时,NTFS 会增加其后备列表和内存阈值的大小。 (后备列表是内核和设备驱动程序创建的固定大小的内存缓冲区池,作为文件系统操作(如文件读取)的专用内存缓存。)

必须重新启动计算机,此参数才会生效。

quotanotify <frequency> 配置在系统日志中报告 NTFS 配额冲突的频率。 有效值的范围为 0–4294967295。 默认频率为 3600 秒(一小时)。

必须重新启动计算机,此参数才会生效。

symlinkevaluation <symboliclinktype> 控制可在计算机上创建的符号链接的类型。 有效选项包括:
  • 1 - 本地到本地符号链接,L2L:{0|1}
  • 2 - 本地到远程符号链接,L2R:{1|0}
  • 3 - 远程到本地符号链接,R2L:{1|0}
  • 4 - 远程到远程符号链接,R2R:{1|0}
disabledeletenotify 禁用 (1) 或启用 (0) 删除通知。 删除通知(也称为修剪或取消映射)功能可通知底层存储设备由于文件删除操作而释放的群集。 此外:
  • 对于使用 ReFS v2 的系统,默认情况下禁用修剪。
  • 对于使用 ReFS v1 的系统,默认情况下启用修剪。
  • 对于使用 NTFS 的系统,除非管理员禁用修剪,否则默认情况下会启用修剪。
  • 如果你的硬盘驱动器或 SAN 报告它不支持修剪,则你的硬盘驱动器和 SAN 不会收到修剪通知。
  • “启用”或“禁用”这两项操作不需要重新启动。
  • 修剪在发出下一个取消映射命令时生效。
  • 现有的即时 IO 不受注册表更改的影响。
  • 启用或禁用修剪时,不需要重启任何服务。

注解

  • MFT 区域是一个保留区域,它使主文件表 (MFT) 能够根据需要扩展以防止 MFT 碎片。 如果卷上的平均文件大小为 2 KB 或更小,则最好将 mftzone 值设置为 2。 如果卷上的平均文件大小为 1 KB 或更小,则最好将 mftzone 值设置为 4。

  • disable8dot3 设置为 0 时,每次创建具有长文件名的文件时,NTFS 都会创建第二个文件名为 8.3 个字符的文件条目。 NTFS 在目录中创建文件时,它必须查找与长文件名关联的 8.3 个字符长度的文件名。 此参数会更新 HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation 注册表项。

  • allowextchar 参数会更新 HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsAllowExtendedCharacterIn8dot3Name 注册表项。

  • disablelastaccess 参数可降低由于记录“上次访问时间”时间戳的更新而对文件和目录造成的影响。 禁用“上次访问时间”功能可提高文件和目录访问的速度。 此参数更新 HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisableLastAccessUpdate 注册表项。

    注意:

    • 基于文件的“上次访问时间”查询是准确的,即使磁盘上的所有值都不是最新的。 NTFS 在查询时返回正确的值,因为准确的值存储在内存中。

    • NTFS 可以将更新磁盘上“上次访问时间”的时间最长延迟一小时。 如果 NTFS 更新其他文件属性(如“上次修改时间”),并且“上次访问时间”更新挂起,则 NTFS 将使用其他更新来更新“上次访问时间”,而不会对性能产生额外影响。

    • disablelastaccess 参数可能会影响依赖于此功能的程序,例如备份和远程存储。

  • 增加物理内存并不一定会增加 NTFS 可用的页面缓冲池内存量。 将 memoryusage 设置为 2 会提高页面缓冲池内存的限制。 如果你的系统正在打开和关闭同一文件集中的许多文件,并且尚未将大量系统内存用于其他应用程序或缓存,则这样设置可能会提高性能。 如果你的计算机已将大量系统内存用于其他应用或缓存内存,则增加 NTFS 页面缓冲和非页面缓冲池内存的限制会减少其他进程的可用池内存。 这可能会降低整体系统性能。 此参数会更新 HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsMemoryUsage 注册表项。

  • mftzone 参数中指定的值是新卷上 MFT 加上 MFT 区域的初始大小的近似值,是在挂载时为每个文件系统设置的。 使用卷上的空间时,NTFS 会调整为将来的 MFT 增长预留的空间。 如果 MFT 区域已经很大,则不会再次预留完整的 MFT 区域大小。 由于 MFT 区域是基于超过 MFT 末端的连续范围,因此会随着空间被使用而缩小。

    在当前 MFT 区域被用完之前,文件系统不会确定新的 MFT 区域位置。 请注意,典型系统上永远不会发生这种情况。

  • 开启删除通知功能时,某些设备可能会遇到性能下降的情况。 在这种情况下,请使用 disabledeletenotify 选项关闭通知功能。

示例

若要查询使用 GUID {928842df-5a01-11de-a85c-806e6f6e6963} 指定的磁盘卷的禁用 8dot3 名称行为,请键入:

fsutil behavior query disable8dot3 volume{928842df-5a01-11de-a85c-806e6f6e6963}

还可以使用 8dot3name 子命令查询 8dot3 名称行为。

要查询系统以确认是否启用了 TRIM,请键入:

fsutil behavior query DisableDeleteNotify

这会生成如下所示的输出:

NTFS DisableDeleteNotify = 1
ReFS DisableDeleteNotify is not currently set

若要替代 ReFS v2 的 TRIM (disabledeletenotify) 的默认行为,请键入:

fsutil behavior set disabledeletenotify ReFS 0

若要替代 NTFS 和 ReFS v1 的 TRIM(禁用删除通知)的默认行为,请键入:

fsutil behavior set disabledeletenotify 1