咨询电话:0571-88904011
服务热线:4006-759388
业内新闻

常用数据恢复与软故障处理方法

发布时间:2016-10-19     来源:华军科技数据恢复中心     [打印]

长期以来,计算机领域数据恢复似乎缺乏一个把握全貌的说法,如果说给出一个比较能把握全貌的说法,我们首先应当给计算机数据一个广义的概念,某些人觉得只有类似文本文件、数据库中的记录或表这样的东西才是数据,其实从广义上说,任何位于计算机存储介质上的信息都是数据,无论是哪种介质,也无论是具体作用,他们都是数据。与这种概念对应,任何使这些信息发生非主观意愿之外的变化都可视为破坏。那么数据恢复是就是一个把异常数据还原为正常数据的过程。

数据恢复与软故障处理


一、对数据的潜在威胁

  1、恶意的程序:大家最熟悉的恶意程序就是病毒,很多人认为病毒对数据的影响仅仅是病毒的破坏性,这是不正确的,实际上病毒的感染本身就是一种破坏,一个病毒无论他借助修改你的引导区、可执行程序还是OFFICE文档,他都把你正常的数据做了改变,当然,你可能举良性伴随性病毒这种极端的例子。但毫无疑问,他同样对数据构成了破坏,至少他减少了你的硬盘的可用空间。同时,恶意的程序还包括特洛伊木马,逻辑炸弹等等。恶意的程序造成的破坏可能是最难恢复的。

  2、其他恶意的破坏,即使不借助病毒或者其他的工具,只要拥有足够的权限,任何系统都有一定的“自毁”能力。比如依靠系统正常的删除、移动、格式化等操作也可以达到破坏数据的目的。随着网络技术的发展,威胁已经不仅仅限于本机,

  3、误操作:很多数据丢失源于使用者的操作失误,比如误删除,误格式化等等。

  4、操作系统或应用软件的错误:随着操作系统和应用程序的代码量的成倍增加,BUG也在不断增加。我们最常用的桌面系统WIN9X就是一个BUG大王。操作系统和应用软件的错误,往往会给人的工作带来一些不可预期的影响。比如前阶段,发现FRONTPAGE98的一个BUG,触发后会把你目录下的文件全部删除,另外,象著名的游戏神话II,出现了如不安装在默认目录中可能会使你丢失扩展分区这样严重的问题。 

  5、加密和权限:尽管加密和权限设置是你保护数据的有效手段,但遗忘密码也会带来很大的问题。

  6、掉电:机器突然掉电的后果可能不仅仅是内存数据的丢失,也可能造成磁盘数据的丢失,或导致系统无法正常启动。

  7、内存溢出:导致内存溢出或者进程非法终止等低层错误的原因很多,他就象掉电一样,会使你损失当前的工作。

  8、升级:软件系统升级有时会带来一些问题,后面我们将举相应例子。

  9、硬件损坏和失窃:这可能是最严重的威胁之一。有时这把你恢复数据的可能降低为零。

二、数据丢失的各种逻辑现象

  对数据的恢复,基本上是一种逻辑处理。只有对情况有一个准确的判定,才能做出准确的应对。一般的来说,问题可以归纳为以下几种情况。

  1、 硬盘无法完成正确引导:因物理故障造成的逻辑损坏、引导区故障、重要扇区崩溃等等,都会使系统不能完成正常的自举过程。

  2、 文件丢失:由于有意破坏,误删除等等都会造成数据的丢失。另外,这种归类不仅仅包括某个或某几个文件,也适用于目录,分区或卷的丢失。

  3、 文件无法正常打开:由于病毒感染,加密,文件头损坏等情况,会使文件无法正常打开。

  4、 数据紊乱:由于各种因素的影响,数据库中的信息,文本文件等,可能面目全非。 

数据恢复与软故障处理


三、保护数据的建议

  这个专题是探讨数据恢复的,而不是信息保护的,因此点到为止,一句话,那就是防患于未然,我们列举了对数据的威胁,如果我们最大程度的减弱了这些威胁,对每一种可预知的潜在威胁都有相应的预防和对策,我们的数据安全才会有最大的保障。这些对策主要包括选择良好的反病毒和系统维护产品、加强保安全措施、采用UPS掉电保护、提高用户操作水平和安全意识、形成系统的信息管理和备份制度等等。都可以有效的保证数据的安全,总之,我对数据恢复的认识与病毒是相同的——与其亡羊补牢,不如防患未然。


  第二篇、数据恢复的准备知识 

  1、系统工作机理的简单介绍(本节由lowpower缩写)这一部分在原作中是最重要的一章,考虑到篇幅关系,进行了大量的删节。

  ①、 DOS(DOS兼容系统)硬盘数据的构成

  DOS磁盘系统,可以按照逻辑分区的概念管理物理空间,不同分区可以装载不同的OS系统。示意如下:

  硬盘空间

  第一扇区 | 分区1 | 分区2| 分区3 |分区4 |

  主引导扇区|引导扇区|引导扇区|引导扇区|引导扇区|

  各分区公用|各个分区相对独立,可安装不同操作系统。

  对FAT结构的分区每一分区都有独立的引导记录,FDT表,FAT表等。同时,系统还有一个最为重要的主引导记录。在0柱0面1扇区,今后我们用CYL代表柱、SIDE代表面,SEC代表扇区。以下一个FAT结构分区的简图。

  保留区--磁盘参数表、DOS引导记录

  控制区--FAT表1、FAT表2根目录区

  数据区--数据区

  以下简单介绍一下重要的部分:

  主引导记录又称主分区表、MBR等等:MBR占一个扇区,在CYL 0、SIDE 0 、SEC 1,由代码区和数据区构成。其中代码区是一端标准的程序,完成 BIOS自举到OS BOOT之间的工作,为OS启动做最后的准备。标准代码区可以由FDISK/MBR重建,但对于多系统引导的不标准MBR,将被这一操作破坏。MBR的数据区记录了分区情况。

  系统扇区:CYL 0、SIDE 0 、SEC 1-CYL 0、SIDE 0 、SEC 63,共62个扇区引导区又称BOOT区:CYL 0、SIDE 1 、SEC 1 这是我们过去称的DOS引导区。也占一个扇区。

  文件分配表又称FAT:是记录文件占用簇的情况和连接关系的地方。一般有两个FAT表,起到备份的作用。FAT12、FAT16的第一FAT表一般均在0-1-2,FAT32的第一FAT表在0-1-33。由于FAT表记录文件占用扇区连接的地方,如果两个FAT表都坏了,后果不堪设想。

  由于FAT表的长度与当前分区的大小有关所以FAT2的地址是需要计算的。

  根目录区(ROOT、FDT):这里记录了根目录里的目录文件项等,ROOT区跟在FAT2后面。

  数据区:跟在ROOT区后面,这才是数据内容。

  其实, MBR、隐含扇区、BOOT区,重建都比较容易。数据恢复的关键在于恢复数据文件。由于FAT表记录了文件在硬盘上占用扇区的链表,如果2个FAT表都完全损坏了。那么恢复文件,特别是占用多个不连续扇区文件就相当困难了。

  ②、 主引导记录简单说明:

  主引导记录是硬盘引导的起点,关于代码区不多说了,其数据区,比较重要的是2个标志,80H和55AA,80H一般在偏移1BE处,80是分区激活的标志的标记表示系统可引导,且整个分区表只能有一个80标记。另一个就是结尾的55AA标记,用来表示主引导记录是一个有效的记录。另外,各个分区自身的引导记录,也是以55AA结束,这是我们查找分区的标志。我们后面在介绍如何主引导记录中,给出了一个完整的分区表的例子,大家可对照查看。数据区中,用10H字节表示一个分区,最多可表示4个分区,分别从1BE、1CE、1DE、1EE开始,我们后面给出了分区表项对应地址的含义。大家可以对应分析一下以下分区的情况。

  80 01 01 00 0B FE BF FC 3F 00-00 00 7E 86 BB 00

  ① ② ③ ④ ⑤ ⑥

  ①:激活标记,80表示可引导分区

  ②:分区开始的磁头号为01、开始的扇区号为01、开始的柱面号为00,由于开始的扇区号为2进制6位,而开始的柱面号为2进制10位,因此扇区号所用字节的高两位要加在柱面号高两位。

  ③:分区的系统类型FAT32(0B),01是FAT12,04为FAT16,06为BIGDOS,07为NTFS,其他参见分区类型表。

  ④:分区结束磁头号254、分区结束扇区号63、分区结束柱面号764

  ⑤:首扇区的相对扇区号63

  ⑥:总扇区数12289622

  2、常见手工处理工具与DOS外部命令介绍

  DEBUG:古老和最为常见的调试跟踪软件,始终捆绑在微软的DOS/WIN9X操作系统中。有19个子命令。有编写执行汇编指令,直接读写绝对扇区和内存单元等功能,可以在最艰苦的条件下工作。DOS6.22以下的系统,DEBUG.EXE在DOS目录下,WIN9X系统中它在WINDOWS\COMMAND目录下,它也出现在WIN9X所生成的应急盘中。

  DISKEDIT:常见16进制编辑软件,字符界面,可以以文件方式和扇区方式读写逻辑内容,可以读写绝对扇区,可以方便的查找编辑分区表、FAT表、ROOT区等重要扇区。这一点要比DEBUG更方便。但在一些重要扇区损坏的情况下,DISKEDIT可能无法启动。DISKEDIT软件可以在著名的Norton Utilities软件包中找到。最新的DISKEDIT出现在NU4中。

  NDD:常见的FAT文件结构磁盘修复工具,就是著名的NORTON磁盘医生,可以自动修复分区丢失等情况,可以抢救软盘坏区中的数据,强制读出后搬移到其他空白扇区。希望大家不要再使用NORTON FOR DOS7或8的NDD,这个版本由于不支持大分区、FAT32、长文件名等技术,会给你带来大量的麻烦。建议大家使用Norton Utilities4或更高版本中的NDD.EXE,这是纯DOS下的工具。在硬盘崩溃或异常的情况下,他可能可以带给用户以希望。WIN9X下的磁盘医生调用的并不是这个程序,而是NDD32.EXE.

  FDISK:FDISK当然是个危险的命令,很多人非常恐惧,事实上,FDISK命令的运行并不影响任何分区内的硬盘数据,他对分区的设置操作,只改变主分区表的数据区。而特别是FDISK异常重要的隐含参数/MBR,可以重建主分区表的代码区,清除主引导型病毒等。这是非常有用的操作。DOS6.22以下的系统,FDISK.EXE在DOS目录下,WIN9X系统中它在WINDOWS\COMMAND目录下,它也出现在WIN9X所生成的应急盘中。

  FORMAT:在一些人眼中,FORMAT是最可怕的命令,但他并不是对硬盘清零,特别值得注意的是,很多文件恢复工具都建议你恢复前先FORMAT该分区起到保护的饿作用。DOS6.22以下的系统,FORMAT.COM在DOS目录下,WIN9X系统中它在WINDOWS\COMMAND目录下,它也出现在WIN9X所生成的应急盘中。

  HD-COPY:传统的软盘COPY工具,2.0版本以后加入了强制读的功能,可以读出一些损坏扇区的内容。

  SYS:SYS命令是重建BOOT区的最简洁的手段,也可以杀除BOOT区病毒。DOS6.22以下的系统,sys.COM在DOS目录下,WIN9X系统中它在WINDOWS\COMMAND目录下,它也出现在WIN9X所生成的应急盘中。

  令我非常遗憾的是,至今我没有发现比较出色的扇区级备份镜象工具,我曾写过一个HD-MIRROR,但由于错误较多,我提供下载的第二天就停止了发布,另外fixc的作者noz写过一个clone.exe,但可惜只适合相同的硬盘。我也曾以为GHOST可以做到这点,事实上,你目前还不能指望他为你备份一块深度破损的硬盘。。如果有一个有效的能以按扇区机制(而不是文件机制)压缩备份一块硬盘将之做成一个镜象文件的话,那么我们的恢复工作就拥有了更多的保证和余地。我们可以更大胆的做恢复的尝试。

  3、一些自动处理工具或软件包

  首先介绍国内的一些免费修复工具

  FIXMBR:何公道先生写的一个修复MBR的工具,适合处理逻辑分区丢失的情况, 有一些可选参数,支持FAT32、FAT16,不支持NTFS、LINUX等分区,支持8.4G以上硬盘。可修复CIH发作后的扩展逻辑分区。

  VRVFIX:北信源公司的推出的修复硬盘共享工具,适合处理逻辑分区丢失的情况,处理的基本比较准确。支持FAT32、FAT16,不支持NTFS、LINUX等分区。也不支持8.4G以上硬盘。

  FIXC:国内最早出现的可以修复部分被CIH破坏的C盘的工具,作者是NOZ,新版本也加入了修复分区信息的功能,支持FAT32、FAT16,有限支持NTFS,不支持8.4G以上硬盘。目前的版本已经比较完善。

  FIXHDPT:TBSOFT工作室的分区信息修复工具。支持FAT32、FAT16,不支持NTFS和LINUX,不支持8.4G以上硬盘,是历史比较长的工具之一。

  RE(ReapirEasy):本人早期写的分区表修复工具,支持FAT32、FAT16,有限支持NTFS,不支持8.4G 以上硬盘,和某些BIOS不兼容。其整体水准低于前面列举的工具。国外一些系统维护的工具目前已经达到了非常强大的程度。

  Norton Utilities:历史最悠久的系统维护工具。不仅可以数据恢复,还可以系统加速和修补内存错误。目前最新的版本是NU4.5 FOR 9X、NU2 FOR NT等。

  Tiramint:最为出色的灾难恢复工具之一,有NTFS、FAT32、FAT16、NOVELL4种版本。生成急救软盘,可以对深度破坏的磁盘进行交叉恢复。

  4、常用的基本操作

  ① 读出主引导记录:这是系统级数据恢复可能涉及最多的程序之一。例:

  DEBUG

  -a100 ;从此处开始汇编

  126C:0100 mov ax,201; 读操作一个扇区

  126C:0103 mov bx,300; 送入地址300

  126C:0106 mov cx,1 ;0面1扇

  126C:0109 mov dx,80 ;80H为硬盘,头为0

  126C:010C int 13

  126C:010E int 3

  126C:010F

  -g=100 ;

  执行

  AX=0050 BX=0300 CX=0001 DX=0080 SP=FFEE BP=0000 SI=0000 DI=0000 DS=126C ES=126C SS=126C CS=126C IP=010E NV UP EI PL NZ NA PO NC

  这里用了I/O中断13,涉及的寄存器含义为ah,操作方式,02H为读,03H为写,al送扇区数,bx送准备装入扇区的内存偏移地址,cx送从哪一道哪一扇区开始,我们一般依靠改换CX来读写不同逻辑盘某个逻辑扇区。dx送盘符和头数INT 3是断点中断,使程序运行到此停止。

  ② 显示引导区内容:我们把扇区读到某个内存地址并不是目的。而是为了看到他的内容,在DEBUG中D命令可以方便的查看内存单元的内容。续前例,如果我们要看到主引导区的内容的话,既然装载到300。-d300 l200就可以查看了,一个引导区的映象类似如下,可以直观的看 到我们前面所提到的代码区和数据区。是否正常请大家自行分析一下

  126C:0300 33 C0 8E D0 BC 00 7C FB-50 07 50 1F FC BE 1B 7C 3.....|.P.P....|

  126C:0310 BF 1B 06 50 57 B9 E5 01-F3 A4 CB BE BE 07 B1 04 ...PW...........

  126C:0320 38 2C 7C 09 75 15 83 C6-10 E2 F5 CD 18 8B 14 8B 8,|.u...........

  126C:0330 EE 83 C6 10 49 74 16 38-2C 74 F6 BE 10 07 4E AC ....It.8,t....N.

  126C:0340 3C 00 74 FA BB 07 00 B4-0E CD 10 EB F2 89 46 25 <.t...........F%

  126C:0350 96 8A 46 04 B4 06 3C 0E-74 11 B4 0B 3C 0C 74 05 ..F...<.t...<.t.

  126C:0360 3A C4 75 2B 40 C6 46 25-06 75 24 BB AA 55 50 B4 :.u+@.F%.u$..UP.

  126C:0370 41 CD 13 58 72 16 81 FB-55 AA 75 10 F6 C1 01 74 A..Xr...U.u....t

  126C:0380 0B 8A E0 88 56 24 C7 06-A1 06 EB 1E 88 66 04 BF ....V$.......f..

  126C:0390 0A 00 B8 01 02 8B DC 33-C9 83 FF 05 7F 03 8B 4E .......3.......N

  126C:03A0 25 03 4E 02 CD 13 72 29-BE 46 07 81 3E FE 7D 55 %.N...r).F..>.}U

  126C:03B0 AA 74 5A 83 EF 05 7F DA-85 F6 75 83 BE 27 07 EB .tZ.......u..'..

  126C:03C0 8A 98 91 52 99 03 46 08-13 56 0A E8 12 00 5A EB ...R..F..V....Z.

  126C:03D0 D5 4F 74 E4 33 C0 CD 13-EB B8 00 00 00 00 00 00 .Ot.3...........

  126C:03E0 56 33 F6 56 56 52 50 06-53 51 BE 10 00 56 8B F4 V3.VVRP.SQ...V..

  126C:03F0 50 52 B8 00 42 8A 56 24-CD 13 5A 58 8D 64 10 72 PR..B.V$..ZX.d.r

  126C:0400 0A 40 75 01 42 80 C7 02-E2 F7 F8 5E C3 EB 74 49 .@u.B......^..tI

  126C:0410 6E 76 61 6C 69 64 20 70-61 72 74 69 74 69 6F 6E nvalid partition

  126C:0420 20 74 61 62 6C 65 00 45-72 72 6F 72 20 6C 6F 61 table.Error loa

  126C:0430 64 69 6E 67 20 6F 70 65-72 61 74 69 6E 67 20 73 ding operating s

  126C:0440 79 73 74 65 6D 00 4D 69-73 73 69 6E 67 20 6F 70 ystem.Missing op

  126C:0450 65 72 61 74 69 6E 67 20-73 79 73 74 65 6D 00 00 erating system..

  126C:0460 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................

  126C:0470 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................

  126C:0480 00 00 00 8B FC 1E 57 8B-F5 CB 00 00 00 00 00 00 ......W.........

  126C:0490 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................

  126C:04A0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................

  126C:04B0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 80 01 ................

  126C:04C0 01 00 0B FE BF FC 3F 00-00 00 7E 86 BB 00 00 00 ......?...~.....

  126C:04D0 81 FD 0F FE FF FF BD 86-BB 00 E0 A9 75 00 00 00 ............u...

  126C:04E0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................

  126C:04F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 55 AA ..............U.

  ③ 反汇编主引导区内容:判定MBR的代码区是否正常,对于数据区的基本情况,我们可以通过直观观察得出,但对于存在引导型病毒,或者引导区出现异常代码的情况,我们可能需要分析MBR中代码区的指令。这一般要对已经读入内存的引导区进行反汇编。反汇编用指令U,续前例:

  -u300 l15D ;反汇编主引导扇区代码区内容

  126C:0300 33C0 XOR AX,AX

  126C:0302 8ED0 MOV SS,AX

  …………

  126C:045C 65 DB 65

  126C:045D 6D DB 6D

  ④ 写内存单元,在我们的前例中,主分区类型是0B是FAT32的,假定这个类型实际是NTFS的,我们该如何修改呢?由于主分区类型的偏移是4C3H,我们可以用E命令写到内存单元中,从附表中查得NTFS的类型为07。因此-e4c3 7再比如说,假定我们想把无效的分区表清零,那么,我们应当用另一个命令F,这个命令可以用填充一个内存地址范围。清零分区表的操作就是-f4be 4ff 00,以下两个操作也比较常见。

  重置80标记,-e4be 80

  重置55AA标记,-f4ff 4fe 55 aa

  不要忘记了,此时仅仅是改动了内存中的数据,并未写到硬盘上。因此需要用int 13中断把改写的结果,写回硬盘。续前例,

  -a100

  126C:0100 mov ax,301 ; 写操作一个扇区

  -g=100 ;执行

  其实,我们相当于修改了刚才输入的读主引导扇区程序,使程序变为。

  126C:0100 mov ax,301 ; 写操作一个扇区

  126C:0103 mov bx,300 ;从内存地址300

  126C:0106 mov cx,1 ;0面1扇

  126C:0109 mov dx,80 ;80H为硬盘,头为0

  126C:010C int 13

  126C:010E int 3 ;断点

  ⑤ 绝对磁盘内容的读出与写入

  类似操作在FAT32结构硬盘被CIH破坏的修复中比较常见,我们后面将讲到恢复的基本思路就是用第二FAT表覆盖第一FAT表。那么无疑要读出第二FAT表的内容,再回写到第一FAT表的位置上。一般的来说,大量连续扇区的读出写入DISKEDIT进行非常方便,如果用DEBUG做则要写一段子程序,不过程序的主要技巧就是利用int 25绝对磁盘读中断读出的内容,而用int 26绝对磁盘写做内容写入。

  5、数据可恢复的前提

  有人觉得这个题目说法比较奇特,但数据恢复,作为一个数据再现的过程,一定要解决两个问题,第一是从哪里恢复的问题,第二是怎么恢复的问题。解决了这两个问题,我们事实上就把握了数据恢复的全部思想脉络。而这一部分就是从哪里恢复的问题。 

  ①、 有效而及时的备份中是数据恢复最可靠的来源,在许多人倡导备份到秒的今天,恐怕不会有人怀疑这点。而有些备份机制则是系统内建的,比如两份FAT表。

  ②、 数据的实际有效性的判定是关键,对我们来说,硬盘无法自举、文件找不到、文件打不开等现象,其实并不与数据丢失画等号。因为此时往往数据只是从操作系统的角度是一种逻辑丢失,而从物理扇区意义上,它仍然存在或部分存在。最明显的就是文件删除的例子,事实上,这只是把文件首字节,改为0E而已。而此时文件体依然存在。

  ③、 数据损坏过程的可逆性分析:对数据的改变无非两种,取代和变换,前者是不可逆的,而后者则是可逆的。我们以杀毒为例,对于大多文件性病毒来说,那些以附加而非代换方式感染的文件型病毒,理想的杀毒过程就是感染的逆过程。这种分析也常见与重要信息被隐藏搬移或者被加密的情况,但分析将比较复杂。

  ④、 数据本身是否是标准信息:有些信息实际是通用或局部通用的,你无须考虑如何从本机抢救。只要相同或相近的系统版本就可以了,比如BOOT区、隐含扇区、WINDOWS的DLL文件等等。典型的例子如分区表的代码区,这是一段标准代码,事实上,它就放在你的FDISK程序里面,你可以用DEBUG把他提取出来。

  ⑤、 数据本身是否可以由其他信息统计再生:有些信息尽管丢失了,也没有备份。但它实际可以从其他数据中间接求得。最典型的就是主分区表中的分区信息,即使你把他清零也不必害怕,因为你可以从你几个分区中计算再生。

  ⑥、 破坏的完成程度:事实上,FDISK、FORMAT都不会彻底破坏数据,一般只有低格和扇区覆盖操作才会彻底破坏数据。但有时,破坏过程或者误操作过程会因人工终止、死机等原因不能完成。最明显的就是CIH病毒的例子,由于CIH是以1024字节为单位覆盖扇区,这当然是不可逆过程,于是我们最初都认为,破坏是很难恢复的,除非人工终止。事实上,当病毒覆盖某些扇区时会与9X系统发生冲突,从而造成死机,使数据得到了保护。

  第三章、数据恢复基本攻略 

  1、 硬件或介质问题的情况

  ①、硬盘坏:硬盘自检不到的情况一般是硬件故障,又可分为主版的硬盘控制器(包括IDE口)故障和硬盘本身的故障。如果问题在主板上,那么数据应当没有影响。如果出在硬盘上,也不是一定不能修复。硬盘可能的故障又可能在控制电路、电机和磁头以及盘片。如果是控制电路的问题,一般修好它,就可以读出数据。但如果电机、磁头和盘片故障,即使修理也要返回原厂,数据恢复基本没有可操作性。

  ②、软盘坏:当软盘数据损坏时,可以有几种处理,一种是用NDD修复,他会强制读出你坏区中的东西,MOVE到空白扇区中,这就意味着如果你的磁盘很满操作是没法进行的。你也可以用HDCOPY2.0以上版本READ软盘,他也会进行强读,使读入缓冲区的数据是完好的,你再写入一张好磁盘就可以了。当然这些方式,要看盘坏的程度。如果0磁道坏,数据也并非无法抢救,早先可以通过扇区读的方式,把后面的数据读出,不过一般来说,你依然可以HDCOPY来实验。

  2、系统问题的情况

  ①、在硬盘崩溃的情况下,我们经常要和一些提示信息打交道。我们要了解他典型提示信息的含义,注意这些原因仅仅分析逻辑损坏而不是硬盘物理坏道的情况。

  提示信息

  可能原因

  参考处理

  Invalid Partition Table

  分区信息中1BE、1CE、1DE处不符合只有一个80而其他两处为0

  用工具设定,操作在前面已经讲了。

  Error Loading Operating System

  主引导程序读BOOT区5次没成功。

  重建BOOT区

  Missing Operating System

  DOS 引导区的55AA标记丢失

  用工具设定,把前面读写主引导区程序的DX=80改为180即可

  Non-System Disk or Disk Error

  BOOT区中的系统文件名与根目录中的前两个文件不同

  SYS命令重新传递系统,

  Disk Boot Failure

  读系统文件错误

  SYS命令重新传递系统,

  Invalid Driver Specifcationg

  如果试图切换到一个确实存在的逻辑分区出现以下信息,说明主分区表的分区记录被破坏了。

  根据各分区情况重建分区表,或者用自动修复工具修复。注意分区丢失是最常见的故障之一,此时不要紧张,一般的说此时数据并没有问题,如果你不了解处理的方法。你可以选择我前面介绍的自动修复分区工具进行处理,他们大多只改写主分区表的数据区,不会影响你的其他数据。特别提醒大家,这些工具有的不支持8.4G硬盘,有的与BIOS对硬盘的识别有关系。如果你在一台机器上不行,可以换台BIOS不同的机器实验一下。

  Bad or missing command interpreter

  这是说找不到COMMAND.com,或者COMMAND文件坏了。

  如果你COPY过去COMMAND文件还是如此,一般来说是感染了某种病毒。

  Invalid media type reading drive

  X ,Abort,Retry,Fail?

  该盘没有高级格式化,或BOOT区中I/O参数表被破坏。

  这里情况较多,手工处理比较复杂,特别指出,此时DISKEDIT可能无法运行,建议用工具修复。

  Incorrect DOS Version

  可能是文件版本不统一,对9X来说,有95,95osr/2,98,98 oem/2等版本,重新SYS时,不要弄错了。

  用正确版本的启动盘重新SYS系统。

  另外说明一下,对于比较老的机器还有1071和not found rom basic、ROM BASIC OK等提示,在目前机器中以消失。另外,当代码区完全被破坏的情况下,系统关于无系统的提示是来自BIOS的,这条提示与BIOS的种类有关。另外,FDISK/MBR对代码区的重建是我们经常采用的。再介绍一种比较极端的情况,就是硬盘自检正常,而用软盘和硬盘都无法正常启动的情况,这可能是,病毒或恶意程序利用,DOS3以上版本启动中都要检索分区表这一特点,把分区表置为死循环。造成启动中死机。网上曾经流传过DOS6.22k修改方案,其实是修改西文MS-DOS6.22的 IO.SYS,把C2 03 06 E8 0A 00 07 72 03替换为:C2 03 90 E8 0A 00 72 80 90就可以启动被类似情况锁住的硬盘。

  ②、WIN9X无法正常进入或工作:以下仅仅是对可能的软故障分析,没有考虑硬件故障.

  进入图形界面前死机情况比较复杂,可能与加载的某些驱动有关可以在START MS WINDOWS时,用F8激活菜单,设置为step by step,看是哪项使系统死机。而后从CONFIG或者SYSTEM。INI中删除

  进入图形界面后死机: 一般这与开机加载的程序有关进入安全模式(此时自动运行的程序将不能加载),对注册表中的HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run*中的键值和启动组中加载的程序进行分析。必要的予以删除。

  显示IEXPLORE.EXE错误,不能进行任何操作可能有某个系统的动态连接库损坏覆盖安装WIN9X,或从其他机器上COPY损坏的连接库。(确定哪个库损坏一般比较困难)

  频繁出现出错各种信息:一般是虚拟内存不足造成的看C盘是否剩余空间过少,或者打开的应用程序和窗口太多。

  2、全盘崩溃和分区丢失

  首先重建MBR代码区,再根据情况修正分区表。修正分区表的基本思路是查找以55AA为结束的扇区,再根据扇区结构和后面是否有FAT等情况判定是否为分区表,最后计算填回,主分区表,由于需要计算,过程比较烦琐,就不仔细介绍了,希望大家用前面介绍的工具,比如NDD处理。如果文件仍然无法读取,要考虑用TIRAMINT等工具进行修复。如果在FAT表彻底崩溃的情况下,恢复某个指定文件,可以用DISKEDIT或DEBUG查找已知信息。比如文件为文本,文件中包含“软件狗”,那么我我们就要把他们转换为内码C8 ED BC FE B9 B7进行查找。

  3、文件丢失、误格式化的情况

  一般的来说,文件删除仅仅是把文件的首字节,改为E5H,而并不破坏本身,因此可以恢复。但由于对不连续文件要恢复文件链,由于手工交叉恢复对一般计算机用户来说并不容易,在这篇缩略版中就不讲了,建议用工具处理,如果已经安装了Norton Utilities,可以用他来查找。另外,RECOVERNT 等工具,都是恢复的利器。特别注意的是,千万不要在发现文件丢失后,在本机安装什么恢复工具,你可能恰恰把文件覆盖掉了。特别是你的文件在C盘的情况下,如果你发现主要文件被你失手清掉了

  ,(比如你按SHIFT删除),你应该马上直接关闭电源,用软盘启动进行恢复或把硬盘串接到其他有恢复工具的机器处理。误格式化的情况可以用工具处理。

  4、文件损坏的情况

  一般的说,恢复文件损坏需要清楚的了解文件的结构,并不是很容易的事情,而这方面的工具也不多。不过一般的说,文件如果字节正常,不能正常打开往往是文件头损坏。就文件恢复举几个简单例子。

  类型

  特征

  处理

  ZIP、TGZ等压缩包无法解压

  ZIP文件损坏的情况下可以用一个名为ZIPFIX的工具处理。不过如果你的文件是从FTP站点上下载的,那么有可能是你没有定义下载模式为BIN。

  自解压文件无法解压

  可能是可执行文件头损坏,可以用对应压缩工具按一般压缩文件解压。

  DBF文件死机后无法打开

  典型的文件头中的记录数与实际不匹配了,把文件头中的记录数向下调整,遗憾的是公式我找不到了。

  5、硬盘被加密或变换

  此时千万不要FDISK/MBR,SYS等处理,否则可能数据再也无法找回,一定要反解加密算法,或找到被移走的重要扇区。对于那些加密硬盘数据的病毒,清除时一定要选择能恢复加密数据的可靠杀毒软件。

  6、文件加密后密码遗忘

  对于很多字处理软件的文件加密和ZIP等压缩包的加密,你是不能靠加密逆过程来完成的,因为那从理论上是异常困难的。目前有一些相关的软件,他们的思想一般都是用一个大字典集中的数据循环用相同算法加密后与密码的密文匹配,直到一致时则说明找到了密码。你可以去寻找这些软件,当然,有些软件是有后门的,比如DOS下的WPS,Ctrl+qiubojun就是通用密码。Undiskp的作者冯志宏是解文件密码的个中高手,大家不妨去他的主页看看。

  7、系统用户密码遗忘的处理:最简单的方法就是用软盘启动(NT的你也可以把盘挂接在其他NT上),找到支持该文件系统结构的软件(比如针对NT的NTFSDOS),利用他把密码文件清掉、或者是COPY出密码档案,用破解软件套字典来处理。前者时间短但所有用户信息丢失,后者时间长,但保全了所有用户信息。对UNIX系统,我建议你一定先做一张应急盘。

数据恢复与软故障处理

 

网站地图 |  关于我们 |  合作伙伴 |  快递运输 |  Copyright @ 2013-2023 杭州华军科技有限公司, All rights reserved.
杭州华军科技有限公司 版权所有 浙ICP备15017254号-2