楼主: ijcl - 

使用winhex手工恢复已覆盖的主分区表和第一虚拟mbr

  [复制链接]

该用户从未签到

1

主题

371

回帖

452

积分

[INTOHARD]排长

Rank: 3Rank: 3

积分
452
发表于 2010-7-11 17:29:35 | 显示全部楼层
谢谢分享!!

该用户从未签到

0

主题

90

回帖

122

积分

[INTOHARD]班长

Rank: 2

积分
122
发表于 2010-7-18 10:29:45 | 显示全部楼层
一客户,160GB硬盘,分成5个区,其中c盘10GB左右,一日,用ghost重做系统,结果变成一个区,并向桌面拷贝入10GB左右的文件,现要求恢复d,e,f,g中的数据。
用diskman扫描出两个逻辑分区,进入winpe确认内容完好,下面进行剩余分区的恢复。
首先介绍分区表原理
以一个主分区,其余扩展分区为例
主mbr:
63(隐藏扇区)                       A(本分区扇区数)
63+A(本分区之前的隐藏扇区)      整个硬盘扇区-A
第一虚拟mbr 的位置在63+A 处,数据为:
63                         B(逻辑第一分区扇区数)
63+B                      63+C(逻辑第二分区扇区数)     
第二虚拟mbr的位置在63+A+63+B处,数据为:
63        C
63*2+B+C                  63+D (第三分区大小)
用winhex打开后显示:
分区1(149GB)
分区2(37.3GB)  起始扇区97675263
分区3(37.3GB)   起始扇区175815423
分区4(28GB)     起始扇区253955583
整个硬盘扇区数为:312581808

分区1显然是错误分区,分区2和分区4的内容完好。
从分区2的位置看,前面还有46GB左右空间,应该为原来的c盘和d盘。
那么分区2实际为扩展分区的第二个逻辑分区,初步判断主mbr和第一虚拟mbr破坏。
第二虚拟mbr的位置在97675263-63=97675200处;
数据为            
         
由前面公式:
C=(4a852c1)H= 78140097
63*2+B+C=(950a600)H=156280320
可得B=78140097
由于第二虚拟mbr的位置在63+A+63+B处
所以63+A+63+B=97675200
所以A=19534977




根据主分区的公式为
63(隐藏扇区)                       A(本分区扇区数)
63+A(本分区之前的隐藏扇区)      63*n+B+C+D+…
所以其数据为:
63        19534977
19535040               312581808-19534977=293046831
转换为十六进制:
0000003F                        012A1481     
012A14C0                        11778A2F
用winhex修改主mbr如下图:










第一虚拟mbr的位置在63+A处,也就是19535040,其公式为:
63                         B(逻辑第一分区扇区数)
63+B                      63+C(逻辑第二分区扇区数)
对应数据:
63                         78140097
78140160                   78140160
转换为十六进制:
0000003F                   04A852C1
04A85300                   04A85300

修改,重启后效果:

该用户从未签到

1

主题

173

回帖

306

积分

[INTOHARD]排长

Rank: 3Rank: 3

积分
306
发表于 2010-7-19 10:17:49 | 显示全部楼层
呵呵。支持一下了

该用户从未签到

0

主题

100

回帖

94

积分

[INTOHARD]班长

Rank: 2

积分
94
发表于 2010-7-19 10:48:33 | 显示全部楼层
[s:40]下了,谢谢楼主

该用户从未签到

0

主题

3

回帖

35

积分

[INTOHARD]工兵

Rank: 1

积分
35
发表于 2010-7-29 00:52:08 | 显示全部楼层
lz厚道,学习了

该用户从未签到

0

主题

54

回帖

107

积分

[INTOHARD]班长

Rank: 2

积分
107
QQ
发表于 2010-9-1 21:43:19 | 显示全部楼层
学习一下。谢谢提供教程。
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

338

回帖

912

积分

[INTOHARD]连长

Rank: 4

积分
912
发表于 2010-9-13 12:03:51 | 显示全部楼层
支持  下来学习
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

15

回帖

13

积分

[INTOHARD]工兵

Rank: 1

积分
13
发表于 2010-9-15 16:09:33 | 显示全部楼层
本贴适合会使用diskgen恢复分区,但当diskgen只能恢复部分分区,利用分区表之间的联系,用winhex恢复剩余分区的网友学习,至于金钱,也希望大家理解
回复 支持 反对

使用道具 举报

  • TA的每日心情
    擦汗
    2012-7-21 10:31
  • 签到天数: 64 天

    [LV.6]五品郎中

    0

    主题

    159

    回帖

    186

    积分

    [INTOHARD]班长

    Rank: 2

    积分
    186
    发表于 2010-9-22 21:38:22 | 显示全部楼层
    江老师也来基地了~~~欢迎哦~~~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-2-12 20:07
  • 签到天数: 23 天

    [LV.4]七品知县

    11

    主题

    675

    回帖

    971

    积分

    [INTOHARD]连长

    Rank: 4

    积分
    971
    QQ
    发表于 2010-9-22 22:18:02 | 显示全部楼层
    呵呵,DISKGEN不是可以做的事吗?
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表