sgqms 发表于 2010-9-29 13:50:29

NTFS格式化为FAT32的数据完美恢复

NTFS格式化为FAT32后恢复数据相对是比较容易的,也比较容易全盘恢复,因为两种不同的分区格式写入数据的起始地方不一样。当然,用软件扫描也能恢复,我这里还是说说手工用winhex恢复的方法。

    从理论上讲,NTFS格式化为FAT32后,就是把分区表的分区类型07改成了0B或0C,然后重写了DBR,应该不会破坏最后一个扇区的NTFS的DBR备份,如果这个备份没有被破坏的话,相对就比较简单,只需要把这个备份的DBR复制到原来的DBR位置,然后把分区表中的分区类型改回07即可,但我在操作过程中发现,在NTFS格式化为FAT32后,最后一扇区的DBR备份也已经被清零了,这就需要重建原来NTFS的DBR。

    首先从一个完好NTFS分区中复制一个DBR覆盖原来的DBR,然后需要修改DBR中BPB的七处参数(视具体情况,主要有四处):

    1.每簇扇区数;

    2.隐藏扇区数;

    3.扇区总数;

    4.$MFT起始簇号;

    5.$MFTMirr起始簇号;

    6.文件记录的大小描述;

    7.索引缓冲区的大小描述。

    具体的修改方法:

    1.隐藏扇区数:通过分区表获得;

    2.扇区总数:也可由分区表获得,但要比分区表中少一个扇区;

    3.$MFT起始簇号:搜索文件记录“46494C45”,找出0号MFT记录,由其80属性的DATARUN算出起始簇号;

    4.$MFTMirr起始簇号:0号MFT的下一个文件记录就是$MFTMirr记录,同样由其80属性的DATARUN算出起始簇号;

    5.每簇扇区数:由80属性的DATARUN中的簇数和80属性的属性体的大小字节数算出每簇扇区数。即:每簇扇区数=文件大小字节数÷每扇区字节数512÷簇数;

    6.文件记录的大小描述和索引缓冲区的大小描述一般就依据默认。

    为了方便,也提倡用模板修改,修改好后保存,重启或是退出重新加载,数据就会重现!

woshi_1001 发表于 2010-9-29 16:01:44

这么深奥的东东,支持下!!!!

cayfeng2002 发表于 2010-9-29 17:09:47

还不知道模板怎么用,郁闷中。

fighter 发表于 2010-9-29 20:39:34

东东太深奥了,认认真真的学习中

jsw 发表于 2010-9-29 21:10:31

学习学习
。。。。。。。。

sgqms 发表于 2010-9-29 21:55:20

这是我这几天整理的我学习的心得集中贴,没人顶呀,我自己顶一个,呵呵!

billliang 发表于 2010-10-6 10:15:34

支持一下,研究研究!

诸位爱卿 发表于 2010-10-6 17:01:21

还不知道模板怎么用,支持一下,研究研究

lsbzhe 发表于 2010-10-7 08:31:58

学习,感谢楼主分享!

hotfish 发表于 2010-10-7 11:24:58

谢谢,学习提纯
页: [1] 2 3 4
查看完整版本: NTFS格式化为FAT32的数据完美恢复