手工恢复主分区表的过程
不知有没有人发过,转的。原分区是C:D:E:F:四个分区。被重新划分为一个分区,恢复原来的状态。
用WINHEX察看主分区表如下:
80 01 01 00 0B FE FF 13 3F 00 00 00 D5 29 C1 00
手工恢复的过程:
1.下面是根据现分区表,恢复出来的一部分数据。 问号的地方就是未知的数据。
80 01 01 00 0B FE ?F ?? 3F 00 00 00 ?? ?? ?? ??
00 00 ?1 ?? 05 FE FF 13 ?? ?? ?? ?? ?? ?? ?? ??
2,查找扩展分区的起始地址:
用WINHEX软件查找55AA的标志位,为加快查找速度可以利用公式:偏移地址 / 8225280 余 510 这个公式查找。 为了加快速度也可以跳到大致的起始地址开始查找。通过查找得到的值是564961FEH,这个是55AA的偏移地址,减1FE就是扩展分区的起始的偏移地址:
564961FEH-1FEH=56496000H
上面的数很重要分区表的所有未知数都是根据这个数计算出来的。
3,计算LBA参数:
根据上面计算的扩展分区的起始的偏移地址除以200H就可以得到起始的扇区数:
56496000H / 200H =2B24B0H
添加到分区表中可得到如下数:
80 01 01 00 0B FE ?F ?? 3F 00 00 00 ?? ?? ?? ??
00 00 ?1 ?? 05 FE FF 13 B0 24 2B 00 ?? ?? ?? ??
根据原分区表的总容量计算扩展分区的容量:
C129D5H+3FH-2B24B0H=960564H
添加到分区表中可得到如下数:
80 01 01 00 0B FE ?F ?? 3F 00 00 00 ?? ?? ?? ??
00 00 ?1 ?? 05 FE FF 13 B0 24 2B 00 64 05 96 00
将上面的扩展分区起始的扇区数减3FH就是主分区的容量:
2B24B0H-3FH=2B2471H
添加到分区表中可得到如下数:
80 01 01 00 0B FE ?F ?? 3F 00 00 00 71 24 2B 00
00 00 ?1 ?? 05 FE FF 13 B0 24 2B 00 64 05 96 00
4,计算CHS参数:
利用扩展分区的起始的偏移地址除以7D8200H就是扩展分区的起始的磁道数。
56496000H / 7D8200H =B0H
添加到分区表中可得到如下数:
80 01 01 00 0B FE ?F ?? 3F 00 00 00 71 24 2B 00
00 00 01 B0 05 FE FF 13 B0 24 2B 00 64 05 96 00
扩展分区的起始的磁道数减1就是主分区结束的磁道数:
B0H - 1H =AFH
添加到分区表中可得到如下数:
80 01 01 00 0B FE 3F AF 3F 00 00 00 71 24 2B 00
00 00 01 B0 05 FE FF 13 B0 24 2B 00 64 05 96 00
至此分区表全部恢复完毕,重新启动电脑就可以看到原来的分区了!
手工恢复引导扇区被覆盖的过程
原硬盘C,D,E,F四个分区,被GHOST覆盖成一个分区,并且D盘的引导记录被覆盖,用数据恢复软件未查到D盘的数据,
讲一下手工恢复的过程:
1,定位D盘的跟目录地址。
因为原始分区C盘大约为1G多,所以先移动到1G的偏移位置,开始查找2E2020202020,可使用公式除512余零来查找。这个是文件夹开始的目录项,很快查到一个目录项记录,察看它所在的族号为5F7A。去除本身的族和第一个族就是根目录到这个文件夹目录的族的数量,再根据每个族为8个扇区计算根目录到这个文件夹的偏移量:
( 5F7AH - 2H )* 8H * 200H = 5F78000H
从文件夹目录的地址作为起始地址,向上跳,偏移为5F78000就是根目录的地址:569C1E00,上下翻看发现FAT表和跟目录巳经被覆盖。
按照上面的方法多试验几个文件夹如果都定位根目录为569C1E00就说明族的扇区数为8。
2,定位扩展分区表的位置:
首先查找E区的分区表起始地址,查找方法请参考手工恢复主分区表的过程一文。查到地址为FA867E00。
通过E盘的起始地址和根目录的地址可计算出D盘的所有族的数量:
( FA867E00H - 569C1E00H )/ 8H / 200H = A3E80H
计算FAT表的容量,因为每个扇区可以记录80H个族纪录由此可计算FAT表的容量。
A3E80H / 80H =147D
根据常规数据:隐藏扇区数3FH,保留扇区数20H,两个FAT表,计算D盘到根目录的偏移地址:
( 147D * 2 + 3F + 20 )* 200H = 52B200H
在根目录的偏移地址569C1E00向上跳偏移为52B200就是D盘分区的分区表的最大偏移地址,察看3D参数为176.2.7,因为原分区的保留扇区和FAT表的个数可能不同,所以定位扩展分区表的起始地址的3D数为176.0.1。偏移为56496000。
3,修改分区表:
修改主分区表和扩展分区表:(详细请参考手工恢复主分区表的过程一文)
主分区表:
80 01 01 00 0B FE 3F AF 3F 00 00 00 71 24 2B 00
00 00 01 B0 05 FE FF 13 B0 24 2B 00 64 05 96 00
扩展分区表:
00 01 01 BO 0B FE 7F FE 3F 00 00 00 50 1E 52 00
00 00 41 FF 05 FE FF 13 8F 1E 52 00 D5 E6 43 00
重新启动电脑发现C,D,E,F分区已经可以识别了,但D区打开出现错误提示。
4,手工恢复D盘启动扇区:
将E盘的启动扇区,拷贝到176.1.1的扇区位置更改如下数据:
每族的扇区数0XD:08
保留扇区数0X0E - 0X0F:20 00
总扇区数0X20 - 0X23:50 1E 52 00 ;( FA867E00H - 56496000H - 7E00H )/ 200H = 521E50H
每个FAT扇区数0X24 - 0X27:80 14 00 00( 569C1E00- 56496000H - 7E00H - 4000H )/ 200H / 2H = 1480H
修改后保存磁盘记录,在电脑里刷新一下,就可以打开D盘了。
5,恢复数据:
将两个FAT表清空,并在首地址写入 F8 FF FF 0F FF FF FF 7F FF FF FF 0F。保存好后用数据恢复软件扫描发现数据可以全部查到了。 已经用此法手工恢复过三块丢失分区链表的硬盘分区了,为了避免找出太多的具有55AA的扇区,可以在搜索16进制数值前加上几个字节的00H,据此可以过滤掉大量的干扰扇区,便于快速找到分区链表,我遇到的是对方网友在丢失分区后,采用网上介绍的方法自救,用DOS版Diskgen来抢救丢失的分区,结果Diskgen将所有扩展分区链表的第一分区表项全部清0了,给恢复工作带来了更大的困难,后来根据找到的残余分区连信息,联合推算,手工填写分区表项参数,终于恢复了硬盘所有分区。根据这次的经历,奉劝那些遭遇数据丢失的朋友,自己若对恢复数据没把握或者概念不清晰,千万不要随便实施抢救措施,以免造成二次破坏。 上班時間,回去再看了 又是一种新的恢复方法??看了一下,好像跟以前的不一样。。。 收藏了说 \\
呵呵
来这个论坛 学了很多东西 这个确实经典`~~~~~~~ 谢谢了,哈哈(38: (38: 很好,又学会了 我都要加把劲了! 学习了 ,谢楼主分享! (38:
页:
[1]
2