修订:在 Windows NT 5.1 上重命名文件时,NTFS 可安装文件系统驱动程序的行为是什么?
驱动程序是否会更新文件的 MFT 条目上任何操作的最后访问时间,或者仅更新 MFT 条目内的特定属性(即数据、安全描述符或文件名)的最后访问时间。
旧:当使用命令行重命名或移动文件时,fsutil 是否会更新 NTFS 上的最后访问时间?
对于任何不触及 MFT 中的数据属性的操作,fsutil 是否会更新 NTFS 上的最后访问时间?
答案1
评论
这行为子命令将更改写入注册表,因此您必须重新启动计算机才能使更改生效。
使用disable8dot3 {1|0}
什么时候disable8dot3被设定为0每次创建具有长文件名的文件时,NTFS 都会创建第二个文件条目,该条目具有 8.3 个字符长度的文件名。当 NTFS 在文件夹中创建文件时,它必须查找与长文件名关联的 8.3 个字符长度的文件名。
此参数更新
HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation
注册表项。使用allowextchar {1|0}
此参数更新
HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsAllowExtendedCharacterIn8dot3Name
注册表项。使用disablelastaccess {1|0}
这禁用上次访问参数旨在减少更新文件夹和目录的上次访问时间戳对日志记录的影响。禁用上次访问时间提高文件夹和文件访问的速度。
上次访问时间细节:
NTFS 卷上的每个文件和文件夹都包含一个名为上次访问时间。此属性定义文件或文件夹的最后访问时间,例如用户列出文件夹、向文件夹添加文件、读取文件或更改文件的时间。最新的上次访问时间存储在内存中,并最终写入磁盘的两个不同位置。一个是在文件的属性中,它是其 MFT 记录的一部分。第二个是在包含该文件的目录的索引中。
磁盘上的上次访问时间并非始终是最新的。出现这种延迟的原因是,当用户或程序对文件或文件夹执行只读操作(例如列出文件夹的内容或读取(但不更改)文件夹中的文件)时,NTFS 会延迟将上次访问时间写入磁盘。如果磁盘上的上次访问时间对于读取操作保持最新,则所有读取操作都会变成写入操作,从而影响 NTFS 性能。
请注意,基于文件的查询上次访问时间即使磁盘上的所有值都不是最新的,它们也是准确的。NTFS 会在查询时返回正确的值,因为准确的值存储在内存中。
NTFS 通常会在当前上次访问时间记忆中的日期与实际日期相差一个多小时上次访问时间存储在磁盘上,或者当所有内存中对该文件的引用都消失时(以较新者为准)。
例如,如果某个文件的当前上次访问时间是1:00 PM,然后你阅读了文件下午 1:30,NTFS 不会更新上次访问时间。如果你再次阅读该文件下午 2:00,NTFS 更新上次访问时间在文件的属性中反映下午 2:00因为文件的属性显示1:00 PM以及内存中的上次访问时间节目下午 2:00。
当 NTFS 更新文件的上次访问时间并检测到上次访问时间因为该文件与上次访问时间存储在目录的索引中。此更新通常在程序关闭用于访问目录中文件的句柄后发生。如果用户长时间保持句柄打开,则在更改出现在目录的索引条目中之前会出现滞后。
请注意,NTFS 延迟更新的最大时间为一小时上次访问时间在磁盘上。如果 NTFS 更新其他文件属性(如上次修改时间),并且上次访问时间更新处于待处理状态,则 NTFS 会将上次访问时间与其他更新一起更新,而不会对性能产生额外影响。
请注意,使用禁用上次访问参数可能会影响依赖此功能的程序,例如备份和远程存储。
此参数更新
HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisableLastAccessUpdate
注册表项。使用区域价值
该值是新卷上初始大小的近似值
MFT plus the MFT Zone
,在每个文件系统的安装时设置。随着卷上空间的使用,NTFS 会调整为未来 MFT 增长保留的空间。如果 MFT 区域已经很大,则不会再次保留完整的 MFT 区域大小。由于 MFT 区域基于 MFT 末尾之后的连续范围,因此它会随着空间的使用而缩小。文件系统不会重新确定 MFT 区域位置,直到当前 MFT 区域被完全使用。这在典型系统中永远不会发生。
来源:Microsoft Doc