全手工数据恢复

最近经常见有很多硬盘分区表及硬盘数据被破坏而导致机器不能引导或使用的帖子,本着扶危济困的人道主义精神,和近十年的电脑龄以及之前成功修复 N ( N 约等于 10 )块硬盘的经验特发一帖,系统讲述硬盘软故障恢复的方法,望大家不吝伺教!  

注:所有前提是硬盘没有物理损坏,以 DISKEDIT (诺顿 2.0 for windows 中获取), DISKMAN (华军软件园), NORTON ( D 版), UNFOMAT (其它兼容的反格式化软件也可)等软件为基础,如果多少精通一下下汇编就再理想不过啦!呵呵 ~~~~ 
好,万事就绪!先说一下当系统分区表被误操作或病毒破坏时会出现的现象。1:启动显示NO ROM BASIC。2:启动显示INVALID PARTITION TABLE。3:无显示(如遭CIH毒手)。4:提示硬盘逻辑分区错误无法正常识别(如提示逻辑盘符超过Z,并切FDISK等程序无法识别)5:对于AWARD BIOS可能还会提示硬盘无法初始化(没用过AMI的,不知道会有什么显象……) 
    知道了表象现在来研究一下本质,我尽可能简单的解释一下硬盘的物理结构和各种参数。众所周知,硬盘的主引导区位于硬盘的0柱0面1区包含有若干分区表项,共有64字节。其中每个分区项有16字节包括以下一些信息: 
    第一字节,是引导标志,其中80为活动分区00为非活动分区。 
    第二字节,起始磁头,表明分区的起始位置。 
    第二字节,表示起始扇区,其中低六位(简单说就是靠右面的六位)为起始扇区,高二位为起始柱面(有时也会加上第四字节)。 
    第三字节,表示硬盘柱面信息。 
    第四字节,确定起始柱面的的低八位。 
    第五字节,决定分区的类型,06代表FAT16,0b代表FAT32,63代表UNIX分区。 
    第6字节: 终止磁头 
    第7字节: 低6位为终止扇区, 高2位与第8字节为终止柱面 
    第8字节: 终止柱面的低8位 
    第9-12字节: 该分区前的扇区数目 
    第13-16字节: 该分区占用的扇区数目 
扩展分区的信息位于上面所示的硬盘分区表中,逻辑分区的信息则位于扩展分区的起始扇区,可通过查找上面的表得到起始地址“X面/X扇区/X柱”所对应的扇区。分区信息的16个字节表示的是逻辑驱动器(D:E:……)的起始和结束地址。了解这些后当分区表破坏后我们就能利用各种软件来进行手工恢复,如果没有就手的软件的话那么FDISK/MBR手工填写参数也马马虎虎啦!呵呵~~~ 
手工恢复分区时推荐使用全中文界面且支持虚拟操作的DISKMAN!至于大名鼎鼎的DISKEDIT因为操作过于复杂非老鸟甚用!不然一时失手可能连哭都来不及……。具体步骤是1:检查C盘活动分区有效标志80是否存在。2:编辑0柱1磁头1扇区,查看末尾是否有55AA的有效标志。3:根据自己分区的情况依次检查分区的类型标志,引导标志和系统标志是否与自己的硬盘相同如不同就改为正确的。致此分区引导记录应该被恢复的七七八八了。4:选择DISKMAN菜单中重建分区表一项,从0柱0磁头2扇区以自动或者交互两种方式开始扫描硬盘,建议对硬盘参数有较深了解的人选择交互方式,由于自己对自己的硬盘比较了解所以成功的可靠性大些。不了解的人还是选择自动好些……至此,运气好的话应该可以恢复硬盘的使用了,如果只是分区有问题加之上天保佑的话至此能进入98也是有可能的!备份好必要的数据后最好重新分区并且FOIMAT /U。如果不能使用但可以用启动盘引导后可以得到硬盘的控制权就是说可以进入分区,这时可以使用一些杀毒软件(KV3000)的重建分区功能。毕竟人家正规军的办法比起咱这土办法应该还是牢靠些的。如果还不成的话那我也只好拿出最后的法宝了!用DEBUG搞定它! 
事先声明,下面这段DEBUG我只用过一次,虽然幸运的成功了但不保证适用于所有硬盘,而且说实话我的DEBUG水平也就是马马虎虎应付场面的,实在不够牢靠,只提供一下思路,大家用的时候最好搞清楚再来。如果实在没着了照搬也成,反正已经不能用了也不会有更烂的后果……不过至于到底会出现什么后果没我责任哦!呵呵~~~~~ 
debug 
a 100 
mov ax,201    */以下三行是对寄存器的操作 
mov bx,200 
moc cx,1 
int 13        */调用中断13对硬盘写操作 
int 3 
g=200 
d 3b0 3ff 
e 3be 80      */针对引导区添入引导区有效标志80 
e 102 3 
g-100 

到这如果还搞不定那我也没办法了……只好送修或者找人用专用设备读出残存的数据,不过花费银子不菲,不如买了新的省心!呵呵~~~~ 

恢复分区说完了现在聊一下如何恢复数据。由于恢复数据和硬盘大小参数密切相关所以不能具体到没一块硬盘这里也只是给一下大致的操作方法,具体到每人的硬盘还要根据自己的具体情况来搞定。  
1 :假设 C 全毁(一般我们见势不妙都会立刻关机所以除 C 外其它硬盘不会受到太大的损失)需要恢复 D 上的文件(我们大多数重要文件不会存在 C 盘吧?)。按上面的方法先恢复分区,如果有一个大小及逻辑分区都相同或者至少不是差得很夸张的完好硬盘就最理想不过!只需备份下它的分区表恢复即可!(对于仅有分区表被毁的现象此种恢复方法应列为第一优先的考虑!)  
2 :这里就要用到 DISKEDIT 了。恢复分区重新启动后运行 DISKEDIT D : /M 按 F6 以分区表方式查找,一般可以找到 X 道 1 头 1 扇区( X 值难以确定)。由于从 1 磁头开始那么其为第一逻辑分区即 D 的可能很大,如此则其原始连接应在 X 道 0 头 1 扇区,通过 INFO-> DRIVER INFO 查看该扇区得到原主分区的结束位置。因为主分区一般开始于 0 道 0 头 1 扇,现在可以大致确定下主分区的信息了。  
3 :执行 TOOLS->RECALCUATE PARTITION 添入刚刚得到的参数重新计算分区,然后写入到硬盘并重新启动。  
4 : FORMAT C : /S 重新填充 C 的引导信息  
5 :再重启,执行( UN ) FORMAT /Z : 8 D :恢复 D 的原始簇值(因为如此恢复分区簇的数量和原先的数量不同的可能性较大)  
6 :如为 FAT32 分区则以 DISKEDIT /M 维护模式编辑磁盘将主分区表中 1C2H 中的 0600 改为 0B00 将 FAT 清零为重新格式化 FAT32 做准备  
7 :重新启动后先运行 FORMAT /Z : 8 D :完成后在进行反格式化 UNFORMAT 此时文件应该大部恢复。当然可能部分文件名字会有出入但不会变化太大。  

注:此种恢复操作是针对 FAT16 如果分区为 FAT32 那可以省不少的事,但个别时候操作上可能更繁琐些
大家好,今天讲手工恢复dbr。就拿u盘来讲吧。手工恢复其实就是改bpb表的几个字节。大家看我的演示吧。声音录制不上,只能这样打字了。我就不拿实际恢复举例了,我就讲解一下,这几个自己怎么算。 大家看我的演示,打开winhex。这个就是u盘,大小64m的。扇区0,就是dbr。我给大家做了个ppt,大家看一下。大家看我画方框的地方,这就是要计算的这几个字节。一共5个。隐藏扇区不用算了,这个是0,因为没有分区表。扇区大小,要是硬盘的话,就根据分区表填写,这里是128640,看左下角。 在就是每簇扇区数,根项目,和保留扇区。每簇扇区数有个公式,大家看一下。上面的是fat16的,下面的是fat32的。大家根据这个公式计算就可以了,保留扇区,fat16的一般是2个, 扇区2就是fat表了,所以保留2个扇区,就是这样计算。硬盘就搜fat表,找到fat表以后, 就知道保留了几个扇区了。还有就是根项目,这个一般是512,要是pq调整过的话, 就找FDT起始扇区,有fat2起始扇区和长度就很容易得到fdt的起始扇区。 查找到没有数据(也就是全0)后,继续找,找到个非0扇区,也就是数据区 开始扇区,由此就得到fdt的扇区数,在根据每文件目录登记项占用32个字节 就可以算出引导记录数。在转换为16进制,填写在bpb表处就可以了。 位置看这个图。我话方框的地方。 fat32的恢复和这个差不多。大家有不明白的在问。QQ597911642.今天就讲这些吧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值