修复GHOST拷盘锁定源盘的灾难故障.docx
《修复GHOST拷盘锁定源盘的灾难故障.docx》由会员分享,可在线阅读,更多相关《修复GHOST拷盘锁定源盘的灾难故障.docx(41页珍藏版)》请在冰豆网上搜索。
修复GHOST拷盘锁定源盘的灾难故障
为了给正在使用的硬盘做整盘备份,笔者使用U盘WINPE启动笔记本电脑,这时候硬盘一切正常,无异常。
在使用GHOST8.0进行硬盘对拷做备份的时候,GHOST提示“由于可能存在冲突,建议采用Forcedismount防止冲突和错误”。
可以理解,如果不“dismount”,对拷的时候可能会发生不一样的数据,有可能造成复制的硬盘和原版不一样,比如更换后启动会“蓝屏”等。
“知识越多越反动”,懂得太多真不一定是好事情,想当然对GHOST的建议理解和认可,确认了选项。
结果,杯具了。
。
。
GHOST也意外退出。
再进入ghost以后,虽然GHOST认出各个分区,但每个分区都是全部满数据。
Windows7已经不能启动,将该磁盘接入别的可以接收GPT格式硬盘的系统,也同样不能识别。
已经20多年没有碰硬盘数据恢复了。
上网查了查,没有找到有价值的信息,也没有找到GHOST在dismount后,如何mount。
只能迎接这个大考,恶补新的知识,自己动手恢复系统,信息太重要,而且重装系统、软件、数据,几百G信息,那可不是1~2天的事情了。
别人实在信不过,放下一切,亲自干吧。
找了若干工具,感觉PTDDPartitionTableDoctor3.0挺顺手,可以在Win下面读取、修改物理盘的数据。
对磁盘进行访问后,这个是“损坏”后的MBR分区信息。
GHOST8.0更改的这个信息虽然指向指向一个正确的GPT的分区信息表,经过验证,这个头是完整和系统的。
但是造成实际的“损坏”,各个磁盘均不能访问,应该说这个更改,是错误的。
不能进行GPT修复,而且原来也不应该是GPT模式,以后使用GPT方式会遇到很多限制和麻烦。
因此修复的思路还是设法完全恢复到MBR传统方式。
这个是“损坏”后的MBR分区信息。
采用PTDD找到很多盘,一个个检查,核对数据指向链,初步估计仅仅是MBR损坏。
找到下面这个扇区,显然是第一个硬盘的引导扇区,应该把他放在MBR的第一个主盘信息。
下面这个扇区也是一个NTFS盘,从尺寸、位置上看,显然是第二个硬盘。
然后往前找,看看有没有合适的扩展硬盘的“MBR分区扇区”,很快找到相应的扇区信息如下:
该分区的LBA地址209728512。
如果这个分区是扩展分区的开始,则这个地址就成为后续所有逻辑分区逻辑盘的起始地址。
找到下面这个扇区,显然是一个扩展硬盘的“MBR”扇区,应该把他放在MBR的第二个主盘信息,这个分区的数据后面需要仔细确定。
对上面这个扇区的信息进行验证:
该扇区绝对地址:
209728512
1分区信息:
类型:
00,非引导激活盘
起始磁头:
00
起始扇区:
C1,最高两位给柱面,扇区号实际是01
起始柱面:
FF,获得扇区字节的最高两位,实际是3FF,已经不准确了,应忽略。
分区类别:
07,NTFS盘
终止磁头:
FE
终止扇区:
FF,不正常,已经可以断定不能采用CHS方式,而已经必须使用LBA模式。
终止柱面:
FF
起始扇区:
3F000000,十进制:
63,注意:
是相对本扇区而言的相对指针位置!
扇区绝对地址:
209728512+63=209728575
扇区总数:
3F34800C,十进制:
209728575
2分区信息:
类型:
00,非引导激活盘
起始磁头:
00
起始扇区:
FF,已经不准确了,应忽略。
起始柱面:
FF,已经不准确了,应忽略。
分区类别:
05,下一个扩展磁盘区。
终止磁头:
FE,标准通用的标志,指示使用LBA模式。
终止扇区:
FF,
终止柱面:
FF
起始扇区:
BC34800C,十进制:
209728700,注意:
是相对本扇区而言的相对指针位置!
扇区总数:
0134800C,十进制:
209728513
扇区绝对地址:
209728512+209728700=419457212(正确)
注意,十六进制数这里都是低位在前,高位在后。
经过验证,确实指向下一个扩展分区信息扇区,形成正确的磁盘链了。
对上面这个扇区的信息进行验证:
该扇区绝对地址:
419457212
1分区信息:
类型:
00,非引导激活盘
起始磁头:
00
起始扇区:
C1,最高两位给柱面,扇区号实际是01
起始柱面:
FF,获得扇区字节的最高两位,实际是3FF,已经不准确了,应忽略。
分区类别:
07,NTFS盘
终止磁头:
FE,使用LBA模式。
终止扇区:
FF
终止柱面:
FF
起始扇区:
01000000,十进制:
1,注意:
是相对本扇区而言的相对指针位置!
扇区绝对地址:
419457212+1=419457213
扇区总数:
0034800C,十进制:
209728512
2分区信息:
类型:
00,非引导激活盘
起始磁头:
00
起始扇区:
FF,已经不准确了,应忽略。
起始柱面:
FF,已经不准确了,应忽略。
分区类别:
05,下一个扩展磁盘区。
终止磁头:
FE,标准通用的标志,指示使用LBA模式。
终止扇区:
FF,
终止柱面:
FF
起始扇区:
FB680019,十进制:
419457275,注意:
是相对本扇区而言的相对指针位置!
扇区总数:
0134800C,十进制:
209728513
扇区绝对地址:
209728512+419457275=629185787(正确)
注意,十六进制数这里都是低位在前,高位在后。
经过验证,确实指向下一个扩展分区信息扇区,形成正确的磁盘链了。
对上面这个扇区的信息进行验证:
该扇区绝对地址:
629185787
1分区信息:
类型:
00,非引导激活盘
起始磁头:
01
起始扇区:
C1,最高两位给柱面,扇区号实际是01
起始柱面:
FF,获得扇区字节的最高两位,实际是3FF,已经不准确了,应忽略。
分区类别:
07,NTFS盘
终止磁头:
FE,使用LBA模式。
终止扇区:
FF
终止柱面:
FF
起始扇区:
01000000,十进制:
1,注意:
是相对本扇区而言的相对指针位置!
扇区绝对地址:
629185787+1=629185788
扇区总数:
0034800C,十进制:
209728512
2分区信息:
类型:
00,非引导激活盘
起始磁头:
00
起始扇区:
FF,已经不准确了,应忽略。
起始柱面:
FF,已经不准确了,应忽略。
分区类别:
05,下一个扩展磁盘区。
终止磁头:
FE,标准通用的标志,指示使用LBA模式。
终止扇区:
FF,
终止柱面:
FF
起始扇区:
3A9D8025,十进制:
629185850,注意:
是相对本扇区而言的相对指针位置!
扇区总数:
0134800C,十进制:
209728513
扇区绝对地址:
209728512+629185850=838914362(正确)
注意,十六进制数这里都是低位在前,高位在后。
对上面这个扇区的信息进行验证:
该扇区绝对地址:
838914362
1分区信息:
类型:
00,非引导激活盘
起始磁头:
01
起始扇区:
C1,最高两位给柱面,扇区号实际是01
起始柱面:
FF,获得扇区字节的最高两位,实际是3FF,已经不准确了,应忽略。
分区类别:
07,NTFS盘
终止磁头:
FE,使用LBA模式。
终止扇区:
FF
终止柱面:
FF
起始扇区:
01000000,十进制:
1,注意:
是相对本扇区而言的相对指针位置!
扇区绝对地址:
838914362+1=838914363
扇区总数:
0034800C,十进制:
209728512
2分区信息:
类型:
00,非引导激活盘
起始磁头:
00
起始扇区:
FF,已经不准确了,应忽略。
起始柱面:
FF,已经不准确了,应忽略。
分区类别:
05,下一个扩展磁盘区。
终止磁头:
FE,标准通用的标志,指示使用LBA模式。
终止扇区:
FF,
终止柱面:
FF
起始扇区:
79D10032,十进制:
838914425,注意:
是相对本扇区而言的相对指针位置!
扇区总数:
BA7C7E0C,十进制:
209616058
扇区绝对地址:
209728512+838914425=1048642937(正确)
注意,十六进制数这里都是低位在前,高位在后。
对上面这个扇区的信息进行验证:
该扇区绝对地址:
1048642937
1分区信息:
类型:
00,非引导激活盘
起始磁头:
01
起始扇区:
C1,最高两位给柱面,扇区号实际是01
起始柱面:
FF,获得扇区字节的最高两位,实际是3FF,已经不准确了,应忽略。
分区类别:
07,NTFS盘
终止磁头:
FE,使用LBA模式。
终止扇区:
FF
终止柱面:
FF
起始扇区:
01000000,十进制:
1,注意:
是相对本扇区而言的相对指针位置!
扇区绝对地址:
1048642937+1=1048642938
扇区总数:
B97C7E0C,十进制:
209616057
2分区信息:
类型:
00,非引导激活盘
起始磁头:
00
起始扇区:
FF,已经不准确了,应忽略。
起始柱面:
FF,已经不准确了,应忽略。
分区类别:
05,下一个扩展磁盘区。
终止磁头:
FE,标准通用的标志,指示使用LBA模式。
终止扇区:
FF,
终止柱面:
FF
起始扇区:
714E7F3E,十进制:
1048530545,注意:
是相对本扇区而言的相对指针位置!
扇区总数:
0134800C,十进制:
209728513
扇区绝对地址:
209728512+1048530545=1258259057(正确)
注意,十六进制数这里都是低位在前,高位在后。
下面的NTFS引导扇区信息中,28~2B为磁盘扇区总数:
B87C7E0C=B97C7E0C-01,正确.
对上面这个扇区的信息进行验证:
该扇区绝对地址:
1258259057
1分区信息:
类型:
00,非引导激活盘
起始磁头:
01
起始扇区:
C1,最高两位给柱面,扇区号实际是01
起始柱面:
FF,获得扇区字节的最高两位,实际是3FF,已经不准确了,应忽略。
分区类别:
07,NTFS盘
终止磁头:
FE,使用LBA模式。
终止扇区:
FF
终止柱面:
FF
起始扇区:
01000000,十进制:
1,注意:
是相对本扇区而言的相对指针位置!
扇区绝对地址:
1258259057+1=1258259058
扇区总数:
0034800C,十进制:
209728512
2分区信息:
类型:
00,非引导激活盘
起始磁头:
00
起始扇区:
FF,已经不准确了,应忽略。
起始柱面:
FF,已经不准确了,应忽略。
分区类别:
05,下一个扩展磁盘区。
终止磁头:
FE,标准通用的标志,指示使用LBA模式。
终止扇区:
FF,
终止柱面:
FF
起始扇区:
B082FF4A,十进制:
1048530545,注意:
是相对本扇区而言的相对指针位置!
扇区总数:
0134800C,十进制:
209728513
扇区绝对地址:
209728512+1048530545=1258259057(正确)
注意,十六进制数这里都是低位在前,高位在后。
下面的NTFS引导扇区信息中,28~2B为磁盘扇区总数:
FF33800C=0034800C-01,正确.
对上面这个扇区的信息进行验证:
该扇区绝对地址:
1467987632
1分区信息:
类型:
00,非引导激活盘
起始磁头:
01
起始扇区:
C1,最高两位给柱面,扇区号实际是01
起始柱面:
FF,获得扇区字节的最高两位,实际是3FF,已经不准确了,应忽略。
分区类别:
07,NTFS盘
终止磁头:
FE,使用LBA模式。
终止扇区:
FF
终止柱面:
FF
起始扇区:
01000000,十进制:
1,注意:
是相对本扇区而言的相对指针位置!
扇区绝对地址:
1467987632+1=1467987633
扇区总数:
0034800C,十进制:
209728512
2分区信息:
类型:
00,非引导激活盘
起始磁头:
00
起始扇区:
FF,已经不准确了,应忽略。
起始柱面:
FF,已经不准确了,应忽略。
分区类别:
05,下一个扩展磁盘区。
终止磁头:
FE,标准通用的标志,指示使用LBA模式。
终止扇区:
FF,
终止柱面:
FF
起始扇区:
EFB67F57,十进制:
1467987695,注意:
是相对本扇区而言的相对指针位置!
扇区总数:
D26E7010,十进制:
275803858
扇区绝对地址:
209728512+1467987695=1677716207(正确)
注意,十六进制数这里都是低位在前,高位在后。
下面的NTFS引导扇区信息中,28~2B为磁盘扇区总数:
FF33800C=0034800C-01,正确.
对上面这个扇区的信息进行验证:
该扇区绝对地址:
1677716207=209728512+1467987695(正确)
最后只有一个分区信息:
类型:
00,非引导激活盘
起始磁头:
01
起始扇区:
C1,最高两位给柱面,扇区号实际是01
起始柱面:
FF,获得扇区字节的最高两位,实际是3FF,已经不准确了,应忽略。
分区类别:
07,NTFS盘
终止磁头:
FE,使用LBA模式。
终止扇区:
FF
终止柱面:
FF
起始扇区:
01000000,十进制:
1,注意:
是相对本扇区而言的相对指针位置!
扇区绝对地址:
1677716207+1=1677716208
扇区总数:
D16E7010,十进制:
275803857
下面的NTFS引导扇区信息中,28~2B为磁盘扇区总数:
D06E7010=D16E7010-01,正确.
这个扇区是第一个NTFS扇区的引导区备份,在磁盘的最后一个扇区.经核对,和第一个一样.
这最后一个扇区的LBA号1953520064,将永远计算扩展分区的总量时参考使用。
核对最后一个盘的引导扇区,发现和物理硬盘的最后一个扇区的内容一样.
证明计算正确。
可以利用NTFS盘的第一个在本盘最后一个扇区做备份,仔细核对其它磁盘,看看定义的内容是否一样。
笔者认为不会有误,也就不再验证了。
下面这个是同时找到的逻辑分区信息扇区,
对上面这个扇区的信息进行验证:
该扇区绝对地址:
419457150
1分区信息:
类型:
00,非引导激活盘
起始磁头:
01
起始扇区:
C1,最高两位给柱面,扇区号实际是01
起始柱面:
FF,获得扇区字节的最高两位,实际是3FF,已经不准确了,应忽略。
分区类别:
07,NTFS盘
终止磁头:
FE,使用LBA模式。
终止扇区:
FF
终止柱面:
FF
起始扇区:
3F000000,十进制:
63,注意:
是相对本扇区而言的相对指针位置!
扇区绝对地址:
419457150+63=419457213
扇区总数:
0034800C,十进制:
209728512
2分区信息:
类型:
00,非引导激活盘
起始磁头:
00
起始扇区:
FF,已经不准确了,应忽略。
起始柱面:
FF,已经不准确了,应忽略。
分区类别:
05,下一个扩展磁盘区。
终止磁头:
FE,标准通用的标志,指示使用LBA模式。
终止扇区:
FF,
终止柱面:
FF
起始扇区:
3F34800C,十进制:
209728575,注意:
是相对本扇区而言的相对指针位置!
扇区总数:
3F34800C,十进制:
209728575
扇区绝对地址:
209728512+209728575=419457087
但是,对应的扇区不是下一个分区定义扇区,是数据:
因此前述的分区定义扇区是以前的分区垃圾残留。
应该忽略。
从前述推理、梳理可以得到完整的硬盘链,209728512应该是扩展分区的入口。
这样得出结论是磁盘系统MBR中只有两个有效分区,具体数据如下:
1分区信息:
类型:
80,引导激活盘
起始磁头:
01
起始扇区:
01
起始柱面:
00
分区类别:
07,NTFS盘
终止磁头:
FE
终止扇区:
FF,必须使用LBA模式。
终止柱面:
FF
起始扇区:
3F000000,十进制:
63,注意:
是相对本扇区而言的相对指针位置!
扇区总数:
0134800C(根据NTFS盘引导扇区28~2B数据+1获得)
2分区信息:
类型:
00,非引导激活盘
起始磁头:
FE
起始扇区:
FF,已经不准确了,应忽略。
起始柱面:
FF,已经不准确了,应忽略。
分区类别:
0F,扩展磁盘区。
终止磁头:
FE,标准通用的标志,指示使用LBA模式。
终止扇区:
FF,
终止柱面:
FF
起始扇区:
0034800C,十进制:
209728512,注意:
是相对本扇区而言的相对指针位置!
扇区总数:
C025F067,十进制:
1953520064-209728512=1743791552
扇区总数是
宝贵的关键数据只有32个字节,折腾了这么半天:
8001010007FEFFFF3F0000000134800C
00FEFFFF0FFEFFFF0034800CC025F067
写入后D~K盘都正常了,能看到盘标.但是C盘仍不正常.
看到两个扇区里面的扇区总数不一样.最后一个扇区定义的扇区数是:
D06E7010=275803856,和实际相差太远,不考虑.
根据计算,实际扇区总数,不能超过第二个分区起始-第一个盘的起始扇区号-1
应该是
209728512-63=209728449=C133800C
引导扇区里面,28~2B字节,应该是C033800C或更小.
8001010007FEFFFF3F000000C133800C
00FEFFFF0FFEFFFF0034800CC025F067
这次有所好转,C盘从逻辑上显示,正常了.但是,看不到卷标,还是有问题:
翻看引导扇区后续的扇区,都是空白,和其他NTFS盘的情况对照,那些NTFS盘的第二个扇区都是类似下述内容:
因此,怀疑,这个扇区的前一个扇区2048才应该是第一个NTFS起始引导扇区.
再修改MBR分区信息里面第一分区指向2048而不是63:
8020210007FEFFFF00080000002C800C
00FEFFFF0FFEFFFF0034800CC025F067
NTFS引导扇区里面,28~2B字节,应该是FF2B800C或更小.
209728512-2048=209726464=002C800C
再把这个复制到0和2048(0008)扇区。
2048扇区是填充了F6,这应该是GHOST干的。
恢复成:
分区信息恢复成:
写入后,为了安全起见,彻底破坏GPT信息,即将扇区1~4清空,防止系统误读GPT信息。
注意,到了这时,PTDD已经不能正确读取磁盘分区解释了,他只能是一个底层的编辑工具。
把这个磁盘节电一个windows系统中,包括XP、Win7,都可以识别所有盘符和标签。
我们是用主板连接和USB硬盘盒都可以识别。
遗憾的是,Windows启动过程比较复杂,光回复所有文件,包括NTFS盘内的隐藏文件,也不能保证他顺利启动。
启动过程中死机。
一种解决方法是修复,但是不敢冒险;另外一个方法,是在做一个系统引导盘,来带动这个原来得系统。
最后重新在一个新硬盘上安装一个windows系统,然后再加挂这个硬盘,再启动,系统出现两个选项:
第一个,是新安装的,第二个是原来的。
选择第二个,也可以顺利启动,所有的功能、软件、文件都全部恢复,和以前一样。
区别就是启动的时候选择一下,另外新增加一个硬盘。
也算不幸中之万幸了