Fsutil:usn 主要由专业支持者使用。管理更新序列号 (USN) 会改变日志,该日志提供了永久的对卷中所有对文件做过修改的的记录。当添加、删除和修改文件、目录和其它 NTFS 对象时,NTFS 将记录输入 USN 更改日志中,计算机上每个卷都有一个更改日志。每个记录指定更改类型和所更改的对象。新的记录将添加到数据流的最后。 程序可以查询 USN 更改日志,从而确定对文件集的所有更改。USN 更改日志的效率比检查时间戳或注册文件的效率高。USN 更改日志可由“索引服务”、“文件复制服务 (FRS)”、“远程安装服务 (RIS)”和“远程存储”开启和使用。 语法 fsutil usn [createjournal] MaximumSize AllocationDelta VolumePathname fsutil usn [deletejournal] flags VolumePathname fsutil usn [enumdata] FileRef LowUsn HighUsn PathName fsutil usn [queryjournal] VolumePathname fsutil usn [readdata] PathName 参数 createjournal 创建 USN 更改日志。 m=MaximumSize 指定NTFS 分配给更改日志的最大空间(以字节表示)。 a=AllocationDelta 指定分配给更改日志尾部以及从更改日志起点删除的内存分配大小(以字节表示)。 VolumePathname 指定驱动器号(冒号分隔)、装入点或卷名。 deletejournal 删除或禁用活动的 USN 更改日志。 flags /D:禁用活动的 USN 更改日志,并在禁用时返回 I/O 控制。 /N:禁用活动的 USN 更改日志,并在禁用后返回 I/O 控制。 VolumePathname 指定驱动器号(冒号分隔)、装入点或卷名。 enumdata 枚举并列出两个指定边界之间的更改日志入口。 FileRef 开始枚举的卷上的文件中的序数位置。 LowUsn 用于筛选需要返回的记录的 USN 值的下边界范围。只返回其最近更改日志 USN 的值在 LowUsn 和 HighUsn 成员值之间或等于其值的记录。 HighUsn 用于筛选需要返回的文件的 USN 值的上边界范围。 PathName 指定驱动器号(冒号分隔)、装入点或卷名。 queryjournal 查询卷的 USN 数据,以收集有关当前更改日志、记录和容量的信息。 volume pathname 指定驱动器号(冒号分隔)、装入点或卷名。 readdata 读取文件的 USN 数据。 PathName 指定驱动器号(冒号分隔)、装入点或卷名。 注释 使用 createjournal 如果卷上存在更改日志,则 createjournal 参数将更新更改日志的 MaximumSize 和 AllocationDelta 参数。这使得您可以增加具有活动日志所保留的记录数目,而不必禁用它。如果将 MaximumSize 和 AllocationDelta 指定为零,则系统会根据卷大小选择默认值。 使用m=MaximumSize 更改日志可以增大到大于该目标值,但会在下一个 NTFS 检查点处被截断,以使其小于该值。NTFS 会检查更改日志,并在其值超过 MaximumSize 和 AllocationDelta 之和时对其进行调整。在 NTFS 检查点,操作系统将记录写入 NTFS 日志文件中,这些记录允许 NTFS 确定恢复数据所需的处理。 使用a=AllocationDelta 更改日志可以增大到大于MaximumSize 和 AllocationDelta 调整之前的总数。 使用 deletejournal 删除或禁用活动日志是非常耗费时间的,因为系统必须访问主文件表 (MFT) 中的所有记录,并将最后的 USN 属性设为零。这个过程可能需要几分钟,并在需要时可能持续到系统重启之后。在此期间,不考虑更改日志是活动的或被禁用状态。在系统禁用日志时,不能访问日志,且所有日志操作都将返回错误。禁用活动日志时要特别小心,因为这可能对其它使用该日志的应用程序产生不良影响。 范例 要在驱动器 C 上创建 USN 更改日志,请键入: fsutil usn createjournal m=1000 a=100 C: 要删除驱动器 C 上的活动 USN 更改日志,请键入: fsutil usn deletejournal /D C: 要枚举并列出驱动器 C 上两个指定边界的更改日志入口,请键入: fsutil usn enumdata 1 0 1 C: 要查询驱动器 C 上卷的 USN 数据,请键入: fsutil usn queryjournal C: 要读取驱动器 C 上临时文件夹中文件的 USN 数据,请键入: fsutil usn readdata C:\Temp\sample.txt