欢迎来到天天文库
浏览记录
ID:9073788
大小:134.50 KB
页数:2页
时间:2018-04-16
《纯手工恢复损坏数据》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、纯手工恢复损坏数据本文针对FAT分区。使用工具:winhex(非数据恢复专用)先看一副磁盘结构的简图图中可看出磁盘的具体存储原理,这里我解释一下: 1、剩余扇区是什么:剩余扇区有分区内的剩余扇区和整个磁盘的剩余扇区。 先说分区内的扇区: 描述磁盘容量的单位是扇区,分区内部又是采用簇来管理的。通常情况下,扇区的容量是512b,簇的单位容量大于等于扇区的容量。以具体事例来讲,一个7gb的fat32分区,其簇的大小是4k,相当于8个扇区,而分区内的存储单位是4k,分区的扇区总数如果不是8的倍数,那余下来的扇区便是剩余扇区了。
2、 整个磁盘的剩余扇区与上述原理相似,不同的是,每个分区的结束必须以254头,63扇为结束(也应该是老的磁盘管理模式留下的弊端吧!虽然分区内是以线性逻辑扇区为首要参数的)也就是说,如果磁盘的总容量正好分不净一个柱面的容量(1*254*63*512b=8193024b),那么,剩下的容量便是整个磁盘的剩余扇区了,其最大也就是大约7.8m。这也是通常情况下,分区的最小容量是7.8m,分区容量是8193024b倍数的原因。(简图并未画出整个磁盘的剩余扇区,大家理解吧!) 2、对于fat32的保留扇区的数目,一般来说是32个,但也不
3、肯定是,有时候可能会是38个或其他数目,当然也可以在dbr中的bpb(bios parameter block)参数表中更改,后面要讲到在数据恢复中了解他的重要性。(dbr的参数说明到www.sjhf.net/bbs 找找) 3、在小容量的磁盘分区中也存在fat16的分区格式,原理吗?和软盘的存储原理相,见www.sjhf.net/bbs “反黑行动之数据恢复”。 下面我们进入实战: 第一种情况,分区被格式化。如果格式化以后,当然可以用现成的数据恢复软件来恢复,但软件毕竟是软件,并不能应对多变的复杂的情况。而手工
4、不同,如果对磁盘结构了解,是可以最大程度的恢复的。我们抛开数据恢复软件来看和通过手工来恢复被格式化的磁盘分区。 对于fat格式的分区(包括fat16),format命令会重建dbr扇区,清空两个fat表,清空分区的第一个簇(存放原根目录)。不管是快速格式化还是完全格式化(快速格式化和完全格式化的区别在于他们是否对所涉及到的磁盘扇区进行检测扫描,清除上面的数据事都要做得)。对于dbr,分区只要正确格式化就会生成正确的dbr,故而重点是fat表和原根目录(如果原根目录大于一个簇,这仅仅是第一个簇,为了方便,以后就以原根目录称)的问题
5、。如果你格式花前备份了此分区的fat表和根目录。那么,只要将dbr初始化,恢复fat表和根目录即可完全恢复数据。不过,既然是被格式化,那一定没有fat表和根目录的备份(废话!!!)。继续: 先说根目录,跟目录的第一扇一但清空,别无法找回了。所以,格式化前存储在根目录的文件就会因其在第一扇存储的文件特征描述表丢失而很难找回了,除非你知道文件中包含的特征字符串,根据其在整个分区内查找,又确定文件的大小,而恰好要恢复的文件又是在磁盘内连续存储的。 再说fat表,fat表的丢失对交叉存储的文件来说是几乎毁灭的灾难。原则上如果丢失
6、,就只能恢复从文件第一簇开始的连续几簇了。但一般如要恢复的文件较小或分区并未经过频繁的文件删增的话, 还是有希望的。 手动填写fat表是不现实的,我们只好先让原来的目录结构重现,再想办法。windows的磁盘文件格式是tree型的,格式化只是将tree的根折,在根折断以后,其实就象生成了多颗tree(想想数据结构)。如果我们要恢复的文件全部位于一个子目录当中。那好了,我们只要将这颗子树的树根放入原tree的根位置上,即可生成一颗新树。推介使用winhex,下面以winhex为例具体而言,首先,若磁盘未格式化或格式化格式不太正确,先
7、格式化,以生成可参照的dbr和fat表。接着我们在分区中寻找相关的字符串来确定此子树的'根'位置。,如记得原目录中有sjhfnet.txt的文件(选择其他目录没有或很少有此文件名的文件),可在整个分区内查找'sjhfnet txt',再根据 相关特征确定。这时候注意一下,我们需要目录中提供的'.'目录来推测原分区的一些特性,主要是dbr中的bpb参数,如保留扇区的数目。(一般是不不会错的,但如果有那怕一个扇区的出入,整个分区中目录的映射将不能套用,还是看看吧!),是不是要问,'.'目录是什么?学过dos的人都知道,目录'.'表当前所在目录,
8、'..'表上级目录,在32个子节的目录项中,包含有和其他目录项相同的特征,我们关心目录的位置(在原分区格式的第几个簇中),他应该是等于他所在的簇号的!也就是看一下偏移量为15h
此文档下载收益归作者所有