词汇 |
如果有大量的属性而且MFT记录里的空间不足时,可把所有属性都设为非常驻并移出MFT. 如果仍然没有足够的空间,此时就需要一个$ATTRIBUTE_LIST属性。这些保留的属性被放 在一个新的MFT记录里,而$ATTRIBUTE_LIST则描述从哪找到它们。一般很难看到这个属性。
在标准标题之后,此属性包含一个不同长度记录的列表,来描述文件中所有其它属性的类型和位 置(在MFT中),每个记录以8字节排列。
列表分类:
N.B. 它不列出自己。
偏移量 | 大小 | 描述 |
---|---|---|
~ | ~ | 标准属性标题 |
0x00 | 4 | 类型 |
0x04 | 2 | 记录长度 |
0x06 | 1 | 名称长度 (N) |
0x07 | 1 | 到名称的偏移量 (a) |
0x08 | 8 | 开始 VCN (b) |
0x10 | 8 | 属性的低级文件参考 |
0x18 | 2 | 属性标识符 (c) |
0x1A | 2N | 标准字符编码的名称 (if N > 0) |
(a) 如果名称不存在,它指向属性还是为零?
(b) 如果属性是常驻的是开始VCN还是为零?
(c) 每个属性都有一个独一无二的验证符。
(a) 它总是指向名称所在位置(0x1A)
0x04记录分配(8字节排列)
(b) 总是为零,检查
(c) 它第一次只显示一个特定属性类型
不确定由序号分类,VCN明确
它既可以是常驻的又可以是非常驻的,此属性没有上下限。
在0x07处的偏移量只有一个字节长,对一个属性来说是很特殊的。
如果此属性是非常驻的,那么数据趋向必须适合一个MFT记录。
如果文件存在下列情况则需要$ATTRIBUTE_LIST:
8 VCN lowest_vcn; 最小的这部分属性值的有效簇数,一般为0。如果有一个属性不适合MFT记录,要分配几个属性以支持这个 属性,在这种情况下它不为零,每个MFT记录支持一个属性范围,这里有一个属性列表登录到每个范围。 注意:这是一个有正负之分的值。WINDOWS驱动器使用CMP,当和它比较时后面跟的是JG,这样它就要有正 负之分。 24 __u16 instance; 如果lowest_vcn = 0, 被引用的属性实例;否则为0。 当充分说明一个文件需要扩展MFT中的文件记录时就要使用属性列表,来找到文件的任一文件属性。 因为它的流很可能要增长所以此文件属性可能是非常驻的。 一个非常驻属性的范围(如果存在的话)紧跟在初始范围之后,它们由lowest_vcn控制,它们的实 例(instance)设为零。