|
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.文件记录的大小描述和索引缓冲区的大小描述一般就依据默认。
为了方便,也提倡用模板修改,修改好后保存,重启或是退出重新加载,数据就会重现! |
|