FAT文件系统部分计算公式
FAT+FDT决定了数据的内容存储地方,适用连续的文件!
DATA的位置:保留扇区+FAT扇区*2+32 (FAT16的)
首先我们知道了文件的首簇号:
那么这个文件的数据区的起始位置在那里呢?
DATA+(文件的首簇号-2)X每簇扇区数 (FTA16的)
保留扇区+FAT扇区*2+(文件的首簇号-2)X每簇扇区数 (fat32的)
接下来的簇链就要在FAT表找了。
文件的首簇号*4 在FAT表开始位置偏移这个计算出的字节
就是下一个簇号 至到 找到最后一个簇,并计算出他的位置。
还有在FDT中有这个文件的大小
可以计算出他有多少个扇区
具体步骤是:
文件大小 DIV 512 (取整)
文件大小 MOD 512 (取余)
这2步很重要。
在winhex中知道了簇号,就知道它在几号扇区了!
这个自己取了解!
对于取整和取余 也是在看了 山谷鸣朋友 的那篇《RAID5恢复揭秘:计算各个成员盘第一个校验块的位置》
理解的! http://sjhfml.blog.51cto.com
块号针对单个盘
条带针对多个盘
DATA的位置:保留扇区+FAT扇区*2+32 (FAT16的)
首先我们知道了文件的首簇号:
那么这个文件的数据区的起始位置在那里呢?
DATA+(文件的首簇号-2)X每簇扇区数 (FTA16的)
保留扇区+FAT扇区*2+(文件的首簇号-2)X每簇扇区数 (fat32的)
接下来的簇链就要在FAT表找了。
文件的首簇号*4 在FAT表开始位置偏移这个计算出的字节
就是下一个簇号 至到 找到最后一个簇,并计算出他的位置。
还有在FDT中有这个文件的大小
可以计算出他有多少个扇区
具体步骤是:
文件大小 DIV 512 (取整)
文件大小 MOD 512 (取余)
这2步很重要。
在winhex中知道了簇号,就知道它在几号扇区了!
这个自己取了解!
对于取整和取余 也是在看了 山谷鸣朋友 的那篇《RAID5恢复揭秘:计算各个成员盘第一个校验块的位置》
理解的! http://sjhfml.blog.51cto.com
块号针对单个盘
条带针对多个盘