灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:5644回复:0

[系统教程]DOS命令大全:Fsutil:usn命令详解

楼主#
更多 发布于:2012-08-31 19:05

主要由专业支持者使用。管理更新序列号 (USN) 会改变日志,该日志提供了永久的对卷中所有对文件做过修改的的记录。当添加、删除和修改文件、目录和其它 NTFS 对象时,NTFS 将记录输入 USN 更改日志中,计算机上每个卷都有一个更改日志。每个记录指定更改类型和所更改的对象。新的记录将添加到数据流的最后。
程序可以查询 USN 更改日志,从而确定对文件集的所有更改。USN 更改日志的效率比检查时间戳或注册文件的效率高。USN 更改日志可由“索引服务”、“文件复制服务 (FRS)”、“远程安装服务 (RIS)”和“远程存储”开启和使用。
MS-DOS命令语法
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
MS-DOS命令参数
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 指定驱动器号(冒号分隔)、装入点或卷名。 MS-DOS命令注释

使用 createjournal 如果卷上存在更改日志,则 createjournal 参数将更新更改日志的 MaximumSize 和 AllocationDelta 参数。这使得您可以增加具有活动日志所保留的记录数目,而不必禁用它。如果将 MaximumSize 和 AllocationDelta 指定为零,则系统会根据卷大小选择默认值。

使用m=MaximumSize 更改日志可以增大到大于该目标值,但会在下一个 NTFS 检查点处被截断,以使其小于该值。NTFS 会检查更改日志,并在其值超过 MaximumSize 和 AllocationDelta 之和时对其进行调整。在 NTFS 检查点,操作系统将记录写入 NTFS 日志文件中,这些记录允许 NTFS 确定恢复数据所需的处理。

使用a=AllocationDelta 更改日志可以增大到大于MaximumSize 和 AllocationDelta 调整之前的总数。

使用 deletejournal 删除或禁用活动日志是非常耗费时间的,因为系统必须访问主文件表 (MFT)中的所有记录,并将最后的 USN 属性设为零。这个过程可能需要几分钟,并在需要时可能持续到系统重启之后。在此期间,不考虑更改日志是活动的或被禁用状态。在系统禁用日志时,不能访问日志,且所有日志操作都将返回错误。禁用活动日志时要特别小心,因为这可能对其它使用该日志的应用程序产生不良影响。

MS-DOS命令范例
要在驱动器 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


喜欢0 评分0
游客

返回顶部