|
本帖最后由 zhaoliangcn 于 2009-5-10 21:21 编辑
共六个例子,从ntfs英文帮助文档翻译过来的。没有太多时间,分六次发上来吧。
例子1:正常,无碎片的文件。
数据运行:
21 18 34 56 00
21 18 34 56 - 00 重组后
运行1:
.头 = 0x21 - 1字节的长度,2字节的偏移
.长度 = 0x18 - (1字节)
.偏移 = 0x5634 (2字节)
运行2:
.头 = 0x00 - 表示运行结束
总结:
0x18簇,位置在虚拟簇号为0x5634的区域中,因此,
数据1是一个无碎片的文件,大小是0x18簇,起始于虚拟簇号0x5634
例子2:正常、离散的文件
数据运行:
.31 38 73 25 34 32 14 01 E5 11 02 31 42 AA 00 03 00
.31 38 73 25 34 - 32 14 01 E5 11 02 - 31 42 AA 00 03 - 00 重组之后
运行1:
.头 = 0x31 - 1字节的长度,3字节的偏移
.长度 = 0x38
.偏移 = 0x342573
运行2:
.头 = 0x32 - 2字节的长度,3字节的偏移
.长度 = 0x114
.偏移 = 0x363758 (0x211E5相对于0x342573)
运行3:
.头 = 0x31 - 1字节的长度,3字节的偏移
.长度 = 0x42
.偏移 =0x393802(0x300AA相对于0x363758)
运行4:
.头 = 0x00 -运行结束
总结:
0x38簇存储于虚拟簇0x342573
0x114簇存储于虚拟簇0x363758
0x42簇存储于虚拟簇0x393802
因此,数据2是一个离散的文件,大小为0x18E簇,数据区位于虚拟簇0x342573,0x363758和0x393802 |
-
|