FAT32下文件删除的恢复思路与方法
FAT32下文件删除的恢复思路与方法因为FAT32的文件系统是由三部分进行管理文件的
文件目录项 FAT表 数据区
一 首先了解FAT32分区下文件删除会对硬盘底层做了哪些操作.
1、文件目录项的首字节被改成E5,该文件的起始簇号的高位簇号被清零(本文只对高位簇号没有被清零或高位簇号原来就是零的进行讲解)
2、FAT 对应的簇链被清零
3、数据区没有发生改变
下面我们来看一下WINHEX截取的图片。我用VDISK虚拟了一个磁盘。里面装了一首MP3歌曲。现在就来看一下没有删除以前的那个MP3歌曲在文件系统中是什么样的。文件名是 10 朋友别哭.mp3
未删除文件以前的目录项
FAT表
一部分
未删除以前的数据区 一部分
下面我们再来看一下删除文件后发生的改变
文件目录项:首字节被改成了E5
FAT 表 已经被清零
数据区无变化
这就是删除以前和删除后的变化。不知道大家看懂了没有。下面我们就来恢复这个MP3歌曲。
恢复思路:找到该文件的起始簇号。然后算出该文件占用的扇区数。这样就能导出该文件
1、转到该文件目录项
我们知道,FAT32的起始簇号 是两个部分组成 一是从34H-35H偏移二是3A-3B偏移,
34H-35H 为 00 00
此簇号为00 00。只是因为原来簇号就是00 00 我们删除文件以后高位被清零。所以我们看不出来改变了。因为我们按照高位在前,低位在后的原则
所以该文件的起始簇号为 00 00 00 03H
起始簇号为3号簇
下面我们算一下该文件的大小。在目录项的3C-3FH偏移是文件的大小,它的单位是字节
94 7F B0 00 H
等于11597716字节大家都知道一个扇区是512字节那么11597716 /512= 22651.7890625
四舍五入=22652扇区该文件就占用了这么多扇区。
好了,既然起始簇号和占用扇区数已经算出来了,我们就开始恢复文件吧。
先跳转到3号簇
3号簇对应的是1264号扇区 也就是该文件的起始扇区
那么该文件的结束扇区就应该是(起始扇区+此文件占用的扇区数)也就是1264+22652=23916号扇区
首先在1264号扇区的首字节点选块开始
然后在23916的最后一个字节点选块结束
然后在任意所选的扇区上点右键---编辑-----复制选块-----置入新文件
默认的名子是NONAME .在任意位置点保存。文件的扩展名默认是DAT
然后把此文件夹扩展名改为MP3就可以了。
此文件恢复成功
本人是第一次做教程,难免有不足之处,希望各位网友谅解.如果此贴有不足之处,希望各位网友与我联系
学习了,谢谢楼主,希望多出教程,惠及我们菜鸟. 好文章!!!
LZ辛苦了,这种方法在《数据恢复方法与案例分析》中有提到
感觉自己见到多的是非连续的文件,LZ这方法适合连续的,期待什么时候发个非连续的恢复思路
[ 本帖最后由 yjlbcjk 于 2008-9-30 16:13 编辑 ] 谢谢楼主,很准确的恢复。
有个问题,一般来说,这种删除,在上边的目录里,是可以看到的。我们在文件名处点右键,直接复制为新文件似乎就可以了。被打上E5标志的文件,只是文件名开头会有一点识别不了的地方。 是这样的,我主要是告诉大家恢复的过程 对于容量较小的文件来说这种方法似乎很行的通,但是对于容量较大的文件就不太好说了,因为系统不可能总是用连续的簇来存储文件。对于FAT簇链的使用,系统是随机性的。 在实际的磁盘中,不是这么能容易恢复的 如果高位被抹了,又不在具体的文件夹里,或同文件夹没有别的文件,就不大好找了哦~ 我的一台电脑就是这样的,每次删东西,高位都会被抹。根本无法指对正确的簇号。 呵呵,谢谢楼主,上次忽略了一个小问题,结果是怎么都不能解决,现在终于搞定了,谢谢