:NTFS格式化为FAT32的数据恢复 - Qzone日志

来源:百度文库 编辑:九乡新闻网 时间:2024/05/02 07:58:57
文章来源:http://user.qzone.qq.com/286757311?ptlang=2052&ADUIN=286757311&ADSESSION=1293620257&ADTAG=CLIENT.QQ.2839_FriendTip_QzoneFolder.0NTFS格式化为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.文件记录的大小描述和索引缓冲区的大小描述一般就依据默认。 

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