维修网

 找回密码
 注册

QQ登录

只需一步,快速开始

微信扫码 , 快速开始

查看: 180|回复: 4

手工数据恢复全攻略

[复制链接]

classn_11

发表于 2008-10-16 21:00:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
手工数据恢复全攻略( W4 C& G5 h8 l2 |/ U) w" N% D

& F1 J( N+ d9 G3 r2 z$ L8 S       
) v  ~! E$ \$ A2 u7 |8 ^ 最近经常见有很多硬盘分区表及硬盘数据被破坏而导致机器不能引导或使用的帖子,本着扶困的人道主义精神,和近十年的电脑龄以及之前成功修复N(N约等于10)块硬盘的经验特发一帖,系统讲述硬盘软故障恢复的方法,望大家不吝伺教!
9 F! V# ?" _! n7 s; i  q       
$ ?5 E: f' k" W$ B ' J3 I& N0 V; `/ Q
        % ]& N5 O  ]. r/ i# R
注:所有前提是硬盘没有物理损坏,以DISKEDIT(诺顿2.0 for windows中获取),DISKMAN(华军软件园),NORTON(D版),UNFOMAT(其它兼容的反格式化软件也可)等软件为基础,如果多少精通一下下汇编就再理想不过啦!呵呵~~~~
0 b4 t+ `0 x5 ^# e; ^        * p, A3 I) A" X. S% s
好,万事就绪!先说一下当系统分区表被误操作或病毒破坏时会出现的现象。1:启动显示NO ROM BASIC。2:启动显示INVALID PARTITION TABLE。3:无显示(如遭CIH毒手)。4:提示硬盘逻辑分区错误无法正常识别(如提示逻辑盘符超过Z,并切FDISK等程序无法识别)5:对于AWARD BIOS可能还会提示硬盘无法初始化(没用过AMI的,不知道会有什么显象……)
8 D$ P3 K& `# n5 Z8 ~' P       
1 r% w4 w( ?5 Q8 b 知道了表象现在来研究一下本质,我尽可能简单的解释一下硬盘的物理结构和各种参数。众所周知,硬盘的主引导区位于硬盘的0柱0面1区包含有若干分区表项,共有64字节。其中每个分区项有16字节包括以下一些信息: & W  B! H6 C3 b. V9 I/ `6 E
       
- F: w3 T+ _& | 第一字节,是引导标志,其中80为活动分区00为非活动分区。 $ k. ^; x, F% {! r
        - A3 I) [5 L, t& h
第二字节,起始磁头,表明分区的起始位置。 . h. c8 E  u" T
       
+ R3 ?' k5 X6 }& I: Q% ~- H 第二字节,表示起始扇区,其中低六位(简单说就是*右面的六位)为起始扇区,高二位为起始柱面(有时也会加上第四字节)。 . X( \% W  O- ^$ h# T
        , f1 h+ Y, I# _! U6 y
第三字节,表示硬盘柱面信息。
# u9 V  a8 l/ ?6 ~5 s, ]( l       
& M/ v) ]. T% h8 W6 e# N$ b4 a 第四字节,确定起始柱面的的低八位。
9 |1 ~0 W& {# Y$ H* a        & A& d5 E3 g' a) L# O' H. H2 I# B
第五字节,决定分区的类型,06代表FAT16,0b代表FAT32,63代表UNIX分区。 , G, B: q9 |% i+ C4 K( y: p7 e
       
1 Z( x& u6 N# s( V2 S7 f/ d1 d' x3 V 第6字节: 终止磁头
1 Z1 b" c. ]1 a8 i$ v       
" T9 m6 k1 u1 B4 z9 ? 第7字节: 低6位为终止扇区, 高2位与第8字节为终止柱面
, |! ]/ f- X9 i& R$ c( c; I/ u        - L% r+ z5 G, D1 S/ T
第8字节: 终止柱面的低8位 4 v" B- w$ Y/ C! S
        ! N- a& T& g2 `& K
第9-12字节: 该分区前的扇区数目
: o% G  p; f) p' }3 @9 a$ {       
* F+ Z% f) c% l6 j- }  P7 v: W 第13-16字节: 该分区占用的扇区数目 ; q. R: g* g" Y. _
       
$ k$ ~5 |: h" g扩展分区的信息位于上面所示的硬盘分区表中,逻辑分区的信息则位于扩展分区的起始扇区,可通过查找上面的表得到起始地址“X面/X扇区/X柱”所对应的扇区。分区信息的16个字节表示的是逻辑驱动器(D:E:……)的起始和结束地址。了解这些后当分区表破坏后我们就能利用各种软件来进行手工恢复,如果没有就手的软件的话那么FDISK/MBR手工填写参数也马马虎虎啦!呵呵~~~
3 B& i3 Y& F0 l9 t* j1 u, o       
: Q* ]2 F. H5 C! G9 I! L 手工恢复分区时推荐使用全中文界面且支持虚拟操作的DISKMAN!至于大名鼎鼎的DISKEDIT因为操作过于复杂非老鸟甚用!不然一时失手可能连哭都来不及……。
- G. {+ W. h9 v4 V. H
  Z8 O) H. i" W: j
* j# R( P2 m9 X0 D/ r5 E  b! |7 t/ m, U: y% p) P
       
0 {9 F8 O, m. s: {! G1 M, x3 J3 [具体步骤是
" E+ {9 o! i, |& x% L1 [" t/ y! a" X% ]8 t9 A2 Z

$ ^! K7 n+ J" l  {  p7 l( S# D' {& ^
       
  M; s# [! \" {: |/ }3 J. _1:检查C盘活动分区有效标志80是否存在。
1 [9 K2 s; h6 E4 y! S2 @( H' o, O$ g# H' V" f( e- z

  u) p9 [' F3 L4 \1 a5 V  |. v8 q) W3 c
        $ ?/ d' s7 Z# o& K9 p$ ~; r
2:编辑0柱1磁头1扇区,查看末尾是否有55AA的有效标志。- g0 x$ Z* p, q( B! _, e" p
( n$ ?" y  D/ i( R; A9 {6 H: {
' ^/ O$ t4 V; b+ O  t8 W) g* V3 x
6 }* G4 Q  K* C# S
       
% a: f0 ]) R- y+ A3 n6 O3:根据自己分区的情况依次检查分区的类型标志,引导标志和系统标志是否与自己的硬盘相同如不同就改为正确的。致此分区引导记录应该被恢复的七七八八了。
. d, m' R+ b! N8 O+ w1 ^* |& b
0 N; a! C; |5 m: a
0 e" H- B8 B4 P
$ Z" ]% ^5 k% `4 p& j" E* G0 H$ w        3 ^8 y* I& f4 F" g$ N
4:选择DISKMAN菜单中重建分区表一项,从0柱0磁头2扇区以自动或者交互两种方式开始扫描硬盘,建议对硬盘参数有较深了解的人选择交互方式,由于自己对自己的硬盘比较了解所以成功的可*性大些。不了解的人还是选择自动好些……至此,运气好的话应该可以恢复硬盘的使用了,如果只是分区有问题加之上天保佑的话至此能进入98也是有可能的!备份好必要的数据后最好重新分区并且FOIMAT /U。如果不能使用但可以用启动盘引导后可以得到硬盘的控制权就是说可以进入分区,这时可以使用一些杀毒软件(KV3000)的重建分区功能。毕竟人家正规军的办法比起咱这土办法应该还是牢*些的。如果还不成的话那我也只好拿出最后的法宝了!用DEBUG搞定它!
) ^( |; D6 e. D% M
  u, Z, [7 F) }1 E! |' ^- [& n% r# Z) z3 p/ s' ?& {0 c. ?
! P) {1 Y$ ^! D2 n
        7 ^. w# N. I/ ]# L$ H
事先声明,下面这段DEBUG我只用过一次,虽然幸运的成功了但不保证适用于所有硬盘,而且说实话我的DEBUG水平也就是马马虎虎应付场面的,实在不够牢*,只提供一下思路,大家用的时候最好搞清楚再来。如果实在没着了照搬也成,反正已经不能用了也不会有更烂的后果……不过至于到底会出现什么后果没我责任哦!呵呵~~~~~
; c; h0 U$ g7 Q. w# n       
: w3 u7 ~" B! {3 i' Idebug
5 J. f: k( B' \8 E4 w$ A       
9 d/ I) t- U$ q% q! ?3 la 100 ) J& x" G: z) Z- g9 _( D
       
. r% e1 q4 v* {' smov ax,201 */以下三行是对寄存器的操作 " c" f/ V/ l( n+ D9 s; m
        . y. H9 b8 F" T
mov bx,200
$ r4 P- L! B6 j' F, c       
/ I4 j( R3 L# \# K4 i6 g: W5 x) Q: |moc cx,1 1 k& ^4 i+ Y0 h5 O
       
) C( h. D) J& @  ~1 t' a3 d/ i/ Qint 13 */调用中断13对硬盘写操作 7 C" S+ L- R& _9 d5 L8 z5 }  [
        : K# T: p; t. r. k5 B7 s
int 3 / m0 G- s5 ?% P) X7 ^$ X$ V+ {9 [! U
        $ J5 b) w$ ^& y
g=200
% q: J( W" }  _% M3 e7 ?       
/ s; J# Y4 T! g: W5 md 3b0 3ff - o: E5 M( _3 k2 `9 c# C
        0 J3 S$ K9 \& W* U) \: P5 N' @
e 3be 80 */针对引导区添入引导区有效标志80 5 f2 T! |1 e8 t+ S' [
       
$ Q3 ?# D$ W) @2 N7 d; ]e 102 3 . H+ r: }, f! X# q
        6 V+ ]  ~6 ]3 D$ Y) @/ i1 s
g-100 4 K. j6 U( ~& t
        2 d5 l# r& y- U* k+ J4 h
到这如果还搞不定那我也没办法了……只好送修或者找人用专用设备读出残存的数据,不过花费银子不菲,不如买了新的省心!呵呵~~~~ ( L' T6 }0 @, p7 K

0 O' h( q* y3 p- ~( N8 B1 E2 {
6 \" C2 [/ K2 z# Z. m* a' Y2 i& Y; Q8 I# b- D7 ^
       
: L2 c0 X, U: ~+ G, n 恢复分区说完了现在聊一下如何恢复数据。由于恢复数据和硬盘大小参数密切相关所以不能具体到没一块硬盘这里也只是给一下大致的操作方法,具体到每人的硬盘还要根据自己的具体情况来搞定。
' Z; p0 n/ F$ Q) \0 U; m        0 o; y( S7 X5 z" ^+ f
1:假设C全毁(一般我们见势不妙都会立刻关机所以除C外其它硬盘不会受到太大的损失)需要恢复D上的文件(我们大多数重要文件不会存在C盘吧?)。按上面的方法先恢复分区,如果有一个大小及逻辑分区都相同或者至少不是差得很夸张的完好硬盘就最理想不过!只需备份下它的分区表恢复即可!(对于仅有分区表被毁的现象此种恢复方法应列为第一优先的考虑!) 0 {, l( W: s* m% a/ E
       
7 l# J1 ?  p  U, h$ ^( P/ c- S4 r 2:这里就要用到DISKEDIT了。恢复分区重新启动后运行DISKEDIT D:/M按F6以分区表方式查找,一般可以找到X道1头1扇区(X值难以确定)。由于从1磁头开始那么其为第一逻辑分区即D的可能很大,如此则其原始连接应在X道0头1扇区,通过INFO-> DRIVER INFO查看该扇区得到原主分区的结束位置。因为主分区一般开始于0道0头1扇,现在可以大致确定下主分区的信息了。 2 j2 m/ G. ~3 d! L  ]
        + Y* C# O$ [/ W& m/ J1 |
3:执行TOOLS->RECALCUATE PARTITION添入刚刚得到的参数重新计算分区,然后写入到硬盘并重新启动。
3 ?3 l0 T$ O9 t; p: t7 P! W: U       
+ C" T- Z! ~9 O8 h* j( e8 u! c. d! n 4:FORMAT C:/S重新填充C的引导信息 ' ?0 Q% |9 w* w9 ~
        ; u' N  z) x3 ^5 g; F8 A! x: y
5:再重启,执行(UN)FORMAT /Z:8 D:恢复D的原始簇值(因为如此恢复分区簇的数量和原先的数量不同的可能性较大) 6 u/ l! z% ^" k3 r- A% R
       
" q& N& O/ F3 W) D1 S& J 6:如为FAT32分区则以DISKEDIT /M维护模式编辑磁盘将主分区表中1C2H中的0600改为0B00将FAT清零为重新格式化FAT32做准备
% E. \' s4 m# F/ h7 V       
& B) q. P5 ^1 v2 s, D2 o 7:重新启动后先运行FORMAT /Z:8 D:完成后在进行反格式化UNFORMAT此时文件应该大部恢复。当然可能部分文件名字会有出入但不会变化太大。
' B$ D1 R( ~# o( x        7 |9 [$ [% \1 {$ F  f0 T) }6 ?

! u) S) @6 h" |% ^        . K: n: ~/ w' h% s% S
注:此种恢复操作是针对FAT16如果分区为FAT32那可以省不少的事,但个别时候操作上可能更繁琐些。 ' b8 k: \) U6 K, _+ j
8 O; X9 }) y8 m4 T4 g, P1 H
3 e7 x4 t* M6 w' R
6 r1 u2 a$ e. `, f  g+ i
        ; T9 R+ Y' G1 _  M

手机扫码浏览

classn_11

 楼主| 发表于 2008-10-16 21:00:29 | 显示全部楼层
感谢大家能耐心看完,我这些土办法还是经过一定的实践考验的,可能比不上专业的工具或技术人员但在实在没有办法的时候也还能讲就一下的。全部文章都只是个思路,尤其恢复文件是根据格式化后可以反格式化完成的,此间不能有写硬盘的操作,所以还是有点不便。其实如果能用现成的软件完成任务的话就不要用我的方法了。一家之言谨做参考,如果谁还有其它办法欢迎一起切磋!谢谢+ `1 g- t0 Y7 C# B
  C  K3 J  q( b; f! n. N

2 N" _0 j* Z; o1 i! I( u8 H" r0 K. c2 k* i, L+ S  V% f
        % d+ R2 B' O, Y7 B1 V
知是作者忘了还是在转的过程中丢了一些东东,不会是作者不会DEBUG抄来的,不过我也只会一点点。文中DEBUG没有操作对象,也是不知道让DEBUG对什么东东操作,应该加上“MOV DX,80”。如果是第二硬盘就用81。

classn_11

发表于 2008-10-16 21:00:32 | 显示全部楼层
非常感谢,很有用!!!

classn_11

发表于 2008-10-16 21:00:35 | 显示全部楼层
还不错,谢谢!

classn_11

发表于 2014-12-9 19:51:22 | 显示全部楼层
来几句吧  
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|手机版|小黑屋|最新贴|维修网 ( 粤ICP备09047344号

GMT+8, 2024-4-29 09:40 , Processed in 0.250959 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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