马上注册,结交更多好友,享用更多功能。
您需要 登录 才可以查看,没有账号?立即注册
x
跳转到125660499扇区,显然这个扇区并不是E分区的DBR,看来得在这个扇区写一个DBR。为以防万一,先把125660499扇区做一个备份。 首先拷贝一个正常的NTFS的DBR到125660499扇区,接下来要修改的几个参数有:簇大小(前面已计算为8)、隐藏扇区数(即该分区前的扇区数,就为125660499),分区大小扇区数,$MFT起始簇号(为3754787),$MFTMirr起始扇区号,现在还差两个参数。 先查$MFTMirr起始扇区号。$MFTMirr的文件记录项是$MFT的后面一个MFT记录项,跳转到155698797扇区查看该扇区中的文件记录项,从文件名属性(30属性)可看到它确是$MFTMirr的文件记录项,查看80属性运行列表,得出它的起始簇为23979812。 然后确定分区大小值。根据客户所说E分区是最后一个分区,于是只需将后面的全部扇区全分配给E分区就行了,在这里我也没全部分配,从目录浏览器中看到有一个未分区空间起始扇区为625137282,与硬盘总扇区数相差不过数千盲扇区,于是便以它为E分区结束位置。则E分区大小扇区数取625137281-125660499=499476782。 跳转到125660499扇区,用NTFS的引导扇区模板修改以上参数(分区大小扇区数为499476781,一会儿在分区表中分区大小填写为499476782),保存,DBR就写好了。 最后要做的就是写分区表了。分区表的三个主要参数分别为分区类型(NTFS为07),分区起始扇区号和分区大小扇区数。经客户同意,D分区不要了,只要把C分区和原来的E分区的分区表写出来就好了。 确定C分区和原来的E分区的起始扇区和分区大小就可以了。C分区起始已有了的,为63,大小为原E分区起始扇区125660499-63=125660436。E分区起始即为125660499,大小为499476782(因为DBR的备份位于分区的最后一个扇区,这个要比DBR中描述的多1)。得到这些参数后,把两个分区表写上就行了。 跳转到63扇区,修改C分区DBR中的分区大小值为125660435(C分区也是NTFS格式,因此这个值比分区表中描述的少1)。 最后,跳转到125660499扇区,将该扇区中的DBR数据拷贝下来写到625137281扇区做一个DBR备份。 修复到此就结束了。在Winhex关闭硬盘,重新打开硬盘,分别打开两个分区,第一个分区就是原来的系统了,经客户确认,第二个分区就是原来的E分区的数据。 经客户重启计算机,确定数据完全正确,至此本次恢复完毕。由于远程操作太慢,此次恢复竟然用了6小时左右时间。 顺便抛出一下问题大小讨论一下:一般情况下,误GHOST后造成只有一个分区的情况下是不会损坏后两分区分的DBR的,而且客户的系统分区有45G左右,一个XP系统怎么也不会有45G吧,也就是说应该不会覆盖掉后两个分区的DBR,这两个分区的DBR怎么会损坏呢?这个问题到现在我都还没弄明白。
|