3、了解文件变动信息的变动日志
在Windows 7中,NTFS分区具有文件变动信息的记录功能。变动日志可以针对卷的所有操作记录完整的日志,记录的内容可包含添加、删除和修改操作,无论那个用户进行的操作,或者进行的添加、删除和修改操作都会记录在案。这和系统日志类似,变动日志是持续的,因此就算是关闭或重启系统,这些内容依旧可以保留。当发生NTFS检查点事件后,系统就会将记录写入到NTFS变动日志中,检查点会告诉系统写入变动,以便让NTFS可以在发生故障后恢复到特定的检查点状态下。
要了解有关变动日志功能的摘要信息,我们只需在命令行下运行“fsutil usn queryjournal DriveDesignator”命令即可,其中DriveDesignator的我们要查询的卷。例如我们要查看C盘的变动日志摘要,可运行命令“fsutil usn queryjournal c:”。在笔者的Windows 7中,命令的输出结果如下:
Usn Journal ID : 0x01c9cb581f565250
First Usn : 0x00000000004c0000
Next Usn : 0x000000000224be08
Lowest Valid Usn : 0x0000000000000000
Max Usn : 0x7fffffffffff0000
Maximum Size : 0x0000000002000000
Allocation Delta : 0x0000000000400000
“Usn Journal ID”是USN日志ID,这是该变动日志的唯一标识符。“First Usn”是第一个USN,这是日志中的第一个USN。“Next Usn”是下一个USN,这时变动日志下一个可以被写入的USN。“Lowest Valid Usn”是最低有效USN,这是可以被写入变动日志的最低有效USN。“Max Usn”是最大USN,这是可以被分配的最大USN。“Maximum Size ”是最大值,这是变动日志可以使用的字节最大值,如果变动日志超过该值,以前的项目就会被覆盖。“Allocation Delta”是分配差,这是当变动日志装满后,可以被添加到日志的末尾,或者从日志的开头处删除的,被分配的内容空间大小。
假如我们要了解某个文件最新的变动日志项,只需在命令行下执行命令“fsutil usn readdate filepath”即可,其中filepath是要查看变动信息的文件的路径和名称。例如,如果要查看C:\Windows\setupact.log文件的最新变动日志信息,可执行命令“fsutil usn readdata C:\Windows\setupact.log”,命令的输出结果如下:
Major Version : 0x2
Minor Version : 0x0
FileRef# : 0x0001000000002abe
Parent FileRef# : 0x0001000000000210
Usn : 0x0000000002246948
Time Stamp : 0x0000000000000000 12:00:00 AM 1/1/1601
Reason : 0x0
Source Info : 0x0
Security Id : 0x0
File Attributes : 0x20
File Name Length : 0x18
File Name Offset : 0x3c
FileName : setupact.log
图3
这些数据的开始位置显示了该文件在根文件索引中的索引编号以及父项,同时还显示了该文件当前的USN已经文件属性标记。所有这些有关该文件的最新变动日志,方便了特定的系统服务直接查询,以判断对文件的修改情况,不仅速度更快,而且对系统资源是使用也更高效。
- 第3页:了解文件变动信息的变动日志
- 第4页:方便的压缩(Zipped)文件夹