70H类型属性即$VOLUME_INFORMATION,该属性说明卷的版本和状态,只有在元文件$Volum出现,其属性长为12字节(但实际上总是占用了16字节,这是因为属性的长度总是8的倍数),属性结构见表4-61。

表4-61 70H类型属性描述

字节偏移 字段长度(字节) 含义
标准属性头(已分析过)
0x00 8 总为0
0x08 1 主版本号
0x09 1 次版本号
0x0A 2 标志
0x0C 4 总为0

几点说明如下。

70H属性标志的含义

70H属性的标志含义见表4-62。

表4-62 70H属性标志描述

描述
0x0001 坏区标志
0x0002 调整日志文件大小
0x0004 更新装载
0x0008 装载到NT4
0x0010 删除进行中的USN
0x0020 修复对象ID
0x8000 用chkdsk修正

坏区标志为1时,Windows NT、Windows 2000、Windows XP就必须在下次重启时运行chkdsk/F命令对卷进行修复。在这些系统中可以用fsutil命令对该位进行操作坏区设置和查询等操作,其语法为:

    fsutil dirty {query|set} PathName

其中,参数query表示查询指定卷是否为坏区,参数set表示将卷设置为坏区,参数PathName则指定驱动器号(用冒号分隔)、装入点或卷名。如果设置了卷的坏区,则表明文件系统可能处于不一致的状态。

由于下述原因可以设置坏区:卷已联机且发生了明显的变化,或对卷作了更改,但在更改写入到磁盘前关闭了计算机,或者因为在卷上检测到损坏。如果重新启动计算机时设置了坏区,则运行chkdsk可以验证卷的一致性。每次启动系统时,内核程序将调用Autochk.exe扫描所有的卷,以查看是否设置了卷的坏区。如果设置了坏区,则autochk将立即在卷上执行chkdsk/f。chkdsk/f将验证文件系统的完整性并试图修复卷上的任何故障。

70H属性的版本号

70H属性的版本号含义见表4-63。

表4-63 70H属性版本号描述

操作系统 NTFS版本(主.次)
Windows NT 1.2
Windows 2000 3.0
Windows XP 3.1
Windows 2003 3.1
Windows Vista 3.1

70H的例子如图4-422所示。

70H($VOLUME_INFORMATION)属性分析-数据恢复迷

图4-422 70H的例子