• WAP手机版 RSS订阅 加入收藏  设为首页
当前位置:首页 > 服务器数据恢复

如何利用FAT表计算块大小

时间:2016-12-14 16:52:45  作者:  来源:  浏览:0  评论:0
内容摘要:我们知道,FAT表的表项号是连续的,即由0开始编号,0号表项与1号表项由系统保留作为特殊用途。用户数据由2号表项开始使用,也就是2号簇对应的FAT表项。表项内记录的簇号可能是不连续的,但表项号本身则是连续的。利用表项号的这个连续性,我们就可以计算RAID块的大小。1.计算方法利用FAT表计算块大小的原理就是,相邻磁盘的...
我们知道,FAT表的表项号是连续的,即由0开始编号,0号表项与1号表项由系统保留作为特殊用途。
用户数据由2号表项开始使用,也就是2号簇对应的FAT表项。表项内记录的簇号可能是不连续的,但表项号本身则是连续的。利用表项号的这个连续性,我们就可以计算RAID块的大小。
1.计算方法
利用FAT表计算块大小的原理就是,相邻磁盘的同条带同位置的FAT项间占用的空间是一个块大小。磁盘0和磁盘1是阵列中两块相邻的磁盘,FAT项N位于磁盘0的某个块,当该块写满后,就会转至磁盘1的同条带进行写入。FAT项M是磁盘1上与FAT项N同条带同位置的FAT表项,这样,由FAT项N开始至FAT项M前的空间即为一个块。
因此,我们可以得出以下公式:
块大小扇区数= (M- N)*每FAT表项字节数/每扇区字节数
最大的问题是,每个表项内记录的值是为当前数据分配的下一个簇的簇号,而并不记录表项号本身,我们必须想办法得到当前FAT项的表项号才可以进行计算。那么,如何得到这个表项号呢?
我们知道,系统为文件分配空间时,会优先为其分配连续的空间,这时,它们的簇号就是连续的。簇号连续,则记录这些簇号的相应表项也是连续的,簇号14、15、16连续,则它们所在的表项的号码也是连续的。
因此,我们可以找到至少有三个连续的簇号记录位置,取中间的簇号值(原则上另一磁盘的相同位置也需要符合同样要求,但并不意味着不是三个连续的记录位置就一定不能使用,因为可能会有结束标记存在。磁盘1中FAT项为M的位置记录的是下一簇的簇号M+1,M-N与(M+1) - (N-1)结果是相同的。因此,我们可以使用符合要求的位置记录的簇号直接进行计算。

相关评论
不良信息举报中心成都网警网警110报警服务AAA级互联网行业信用360网站安全检测

数据恢复QQ交流群:378664983    站长QQ:958754010

蜀ICP备14015947号-2