欢迎来到天天文库
浏览记录
ID:14324427
大小:91.00 KB
页数:3页
时间:2018-07-27
《fat16、32分区查找文件的过程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、FAT16/32分区查找文件的过程本文由同城交友异性聊天室提供 一.了解如何手工的查找FAT16/32文件系统下存储的文件。 在前面,我们曾经谈到过文件存储方面的知识,今天我们就将带领大家来看看,如何手工的在这些平时我们非常难理解的数字中,找到我们想要的文件。或许您在看了之后,也会禁不住亲自动手来尝试寻找自己硬盘中的某个文件。 下面我们就立刻开始。 我们使用的扇区编辑工具是16进制文件编辑与磁盘编辑软件Winhex。在它的帮助下,你可以清楚的看到硬盘到底是怎么存储平时里各种各样的数据的。 我们准备查找的文件存储在J:分区上,名称:计划
2、.xls。分区的文件系统为FAT32 因为DBR中的BPB参数表中存储着非常重要的信息,因此我们先到DBR的BPB中: 我们在DBR中需要确定的信息如下: 1.每簇扇区数 位置:0x0DH 长度: 1字节实际值:8 扇区 2.保留扇区数 位置:0x0EH 长度: 2字节 实际值:36扇区 3.本扇区总数 位置:0x20H 长度: 4字节 实际值:1060227扇区 4.每FAT表扇区数 位置:0x16H 长度: 2字节 实际值:1034 扇区 5.
3、引导目录第一簇 位置:0x2CH 长度: 4字节 实际值: 第2簇 您可能会对上面的数据有些困惑,为什么会需要这些数据呢?下面我们就将对此做出解答。 在FAT32系统的分区中,实际上是由三个部分构成的:DBR,FAT表,DATA区。FDT不是固定的存储在FAT之后,而是存储在DATA区中,位置就是由DBR中的BPB参数表的“引导目录第一簇”来指定。而其他的数据则是为了确定DBR,FAT表,DATA区这三个部分的准确位置,以便我们之后的查找文件。 因此各部分的位置如下: DBR FAT*2
4、 DATA
5、------------------------
6、------------------------
7、----------------------
8、 36 1034*2 剩余扇区 由公式: DBR+FAT*2+(引导目录第1簇-2)*每簇扇区数=FDT的位置 通过以上参数,计算得到FDT的位置:第2104扇区 现在我们就借助工具偏移到2104扇区: 现在可以看到我们要找的文件目录项已经找到.只有找到了文件目录项
9、,我们才能通过其中另一个重要的参数:“文件起始簇号”来确定文件“计划.xls”的准确位置以及如何在数据区中进行存放的。可以看到,文件起始簇号为;1485H=5253簇 文件的起始簇号使我们可以定位文件在FAT表的位置和文件在DATA区位置。 <1>对于FAT32分区,如何由起始簇定位到下一簇呢?大家记住这个公式:当前簇号*4=下一簇在FAT表中的位置。该位置的偏移是从FAT表头开始。根据这个公式我们找到下一簇在FAT表中的为00001486H,再以此类推。如图: 在FAT32的FAT(文件分配表)中,由4个字节管理一个簇,因此后面的簇号依次为
10、: 5254簇,5255簇,5256簇,之后的FFFFFF0F表示文件结束。 <2> DBR+FAT*2+(5253-2)*每簇扇区数=数据区中的开始位置 36+1034*2+(5253-2)*8= 44112扇区 由此可知文件总共占了4个簇的大小,结束位置应该在5256簇的某个扇区。 至此,FAT32的文件搜索过程结束。 对于FAT16来说,方式跟FAT32的方式很相近,不过需要注意的是,FAT16的FDT的位置是固定在第二个FAT表之后的,大小一般情况下为32个扇区。读者您如果有兴趣,可以自己尝试在FAT16文件系统分区下,查
11、找某个特定的文件。
此文档下载收益归作者所有