声明:此文原发表于《***手册》07年06册,版权归《***手册》所有,转载请注明此信息

作者:孤单每一天



引言
    俗话说:“硬盘有价,数据无价”,它的意思是告诉我们对于存放在硬盘上的重要数据要经常备份,才能确保数据的底层安全。
    其实不光是硬盘出现故障几率比较大,就连光存储、存储块、存储卡等设备也会偶尔发生故障,而且较难恢复,所以数据备份还是关键,绝对不可以因小失大。
    希望下文能够对初学者有一定的启发,下面是我自己编的一串顺口溜,带您揭开数据恢复的神秘面纱。
    数据恢复有技巧,最忌烦躁与嬉闹,恢复之前平心态,恢复之时需记牢:
    备份恢复ghost ,  操作简单又可靠,不过用时须注意,坏道千万不能栲;
    分区丢失不用愁,PR足够供需求, 要求效率又雅观,diskgen带您去参观;
    BPB丢了没什么,NDD为您去解忧,数据恢复好惊人,修复引导完事了;
    FAT破损不用哭,深山红叶有一套,工具软件一大堆,IT人员不可少,
    听我继续往下说,开机光启理想好,如果内存吃的紧,数据挂从是一招:
    文件误删没什么,ER伸手把它捞,就当数据被隐藏,一会儿工夫就找到;
    数据覆盖别灰心,FinalDate找一找,深入底层数据区,找到才算运气好,
    然后拿出十六文,数据深入作比较,缺了就补有耐性,之前千万备份好;
    零磁道怀很头疼,幸亏DE有诀窍,斗转星移换扇区,然后重建分区表;
    硬盘坏道不得了,听我慢慢往下道:稍有不慎失误大,整盘数据玩完了,
    效率源打头一阵,扇区复制准备好,只因功能不算大,应付弱道还算好;
    MHDD功能大, 只是界面不友好,主从硬盘需搞对,不然哭都没地找;
    如果不行还有招,Badcopy把它找,用时需经人同意,有利有弊拿量好;
    PC3K比较牛,三效合一挺可靠,软硬结合来治病,可咱穷人哪吃得起这药。
    以上几行需记牢,也许哪天用得到,数据恢复讲诀窍,不成不要胡乱搞,
    弄出盘体故障来,开盘未必有疗效,平时注意多备份,数据灾难仍逍遥。
                          
                
    在这里我主要带大家了解一些数据恢复的基本原理何如何实现快速数据恢复。其中包括一些简单的数据组成原理和一些MBR、DPT、BPB、FAT、FDT上的数据应急恢复,使大家能够在数据丢失时快速恢复数据,即使无法恢复也可以避免数据的二次丢失。

                     第一章       入门阶段―― 数据的存储结构
    在生活于工作中,我们经常要对硬盘进行复制、粘贴、剪切。删除以及现在流行的粉碎,那么这些功能是如何快速实现的呢?其实与数据的存储结构有关。
    硬盘上存储的数据按作用不同分为五部分,MBR区、DBR区、FAT区、FDT区、DATA区。其中MBR是Main Boot Record的缩写,即主引导记录的意思;DBR是Dos boot   Record的缩写,即操作系统引导记录;FAT是File Allocation Table的缩写,即文件分配表;FDT是File Directory Table的缩写,即文件目录表;而DATA则为真正的数据区。  
    硬盘按机械构造来划分主要分为控制电路和盘体,并且二者是可以分开的。控制电路主要负责处理IDE控制器发过来的脉冲信号并将其转换为模拟信号,简单的来 说就是数模转换与模数转换,还有一部分是供电用的,主轴电机和磁针伺服电路。盘体一般不容许独立拆开,因为盘片是不能见到灰尘的,希望大家不要随便拆开硬 盘,盘片一般有一片或两片,中间为主轴电机,寻道系统包括旋转磁针、伺服线圈、强磁铁、数据传输系统等,这样就由主轴电机带动盘片高速旋转,而磁针通过伺 服系统的控制里外圈滑动将磁信号转换为电信号,这样就完成了硬盘的高速存储和读取。那麽究竟是怎样实现的呢?如下:
    1、文件的读取:
文件的读取主要对以下三个区域进行动作,FAT、FDT、DATA,在目录区中读取文件名、扩展名、文件大小、修改时间和在数据区保存的第一个的簇的簇 号,至于簇、扇区、柱面、磁道等具体定义,请大家查相关资料,由于这里主要讲数据恢复,所以只作大概讨论。在这里假设簇号是0038单元,操作系统从 0038簇开始读取数据,然后再去找FAT的0038单元,如果内容是文件结束标志EDF的话,则表示文件结束,数据读取完毕,否则内容保存在下一个簇的 簇号里,这样磁针再次深入数据区,重复读取下去直到遇到文件结束标志EDF,停止读取。
2、文件的写入
当我们要保存文件时,操作系统首先会在FDT区中寻找空白区写入文件名、扩展名、创建时间、及属性大小等信息,然后在DATA中寻找空闲空间保存数据,并把DATA的第一簇的簇号保存在FDT中,其他工作和上述读取差不多,就是对FAT的标记,当然也是以
簇为单位的,也就是DATA存储一个,FAT标记一下,直到完成存储,FAT标记为EDF。
3、文件的删除
操作系统对文件的删除就更直接了,它只是对FDT区作了一点小小的改动。将目录区文件的第一字符改为E5就代表文件删除了。
4、文件的粉碎
文件粉碎系统是尽二年流行起来的,主要原因是数据恢复业的兴盛。它的主要作用类似于机密机构的碎纸机,预防废弃数据被不法之人拿去作不法企图。它的原理类 似于读取、写入、删除的结合,首先操作系统把文件数据区的地址全部读入内存,然后通过机器语言在内存标示的地址中进行全部的填零操作,最后标识FDT表文 件的第一字符为E5,释放内存,结束整个粉碎过程。这个过程等于磁盘的局部低级格式化,被粉碎的数据将永远消失,并且不可恢复。据说美国有人可以利用磁性 逆转的方法来恢复被覆盖、粉碎、低格的数据,那还有待考证,不然磁盘的容量岂不是可以扩容。
好了,知道了数据的大体存储结构我们就来分析一下这5个区域的大体分工。
主引导记录MBR区
硬盘的主引导记录位于硬盘的0柱面、0磁道、1扇区上,俗称100是扇区。我们都知道1个扇区有512个字节组成,在100扇区中MBR只占用了446个字节(偏移0-1BDH),
另外的64个字节(偏移1BEH-1FDH)交给了DPT(Disk Partition Table)硬盘分区表,最后的两个字节55 AA(偏移1FEH-1FFH)是分区表结束的标志。
不过在了解主引导记录之前我们必须要先了解一些硬件知识,学计算机不能只学软件啊!大家回忆一下当开机的那一刻,计算机首先会做什么?当然是BIOS自 检,在这不到两分钟的时间里,BIOS会对100多种设备进行检测,我们可以通过检测卡(POST卡)或主板自带的debug检测灯可以看出,从FF开始 一直走到FF,当到FF的时候时,BIOS会直接读取硬盘的100扇区,也就是0面0道1扇区,它是BIOS可以直接访问硬盘上的唯一的一个外存储设备, 如果这个扇区坏了或扇区上的数据丢失,BIOS就会认为硬盘不存在,而导致引导失败。有的恶意程序还会篡改主引导记录,给硬盘安上逻辑锁,使得中招者无论 使用任何正常的启动盘都无法引导成功,“江民×××”就是这一类程序之一。所以在此引入一些硬件知识来重点提示100扇区的特殊性,并且由MBR区产生的故 障最为常见,而且多种多样。
主引导记录包括硬盘的一系列参数和一段引导程序。参数就不提了,只是硬盘的规格而已,引导程序的作用是检测分区表是否正确并且在BIOS将它读入后将控制权交给具有激活分区标志分区中的io.sys文件,实现尽一步引导系统。MBR是由分区程序所创建的,如:
Fdisk,它不依赖任何操作系统,并且它是可以改变的,从而实现多系统共存,比如linux、windows的双引导就是lilo程序修改MBR实现的。
    二、操作系统引导记录DBR区
DBR通常位于硬盘的1面0道1扇区,是操作系统可以直接访问的第一个扇区。它包括一段引导记录和一个被称为的本分区参数记录BPB(Bios Parameter Block),引导程序的作用是当MBR把控制权交给它时,判断根分区下的文件是否是操作系统的引导文件(比如:MS-DOS的是msdos.sys和 io.sys),如果是,就把它读入内存,并把控制权交给该文件,实现下一步引导。BPB参数表记录着本分区的起始扇区、结束扇区、文件的存储格式、磁盘 介质描述符、根分区大小、FAT个数、分配单元大小等重要信息,由此可见BPB损坏直接的后果就是分区未格式化或分区无法打开。
三、文件分配表FAT
FAT用于记录硬盘内蔟的使用情况的详细数据表,其目的显而易见,就是用于数据的链式存储。因为硬盘必须准确无误的记录着哪些簇已经被使用,还必须为每个 使用过的簇指明后继内容的下一个簇号,对于一个文件的结束要标明该文件无后继簇所以不难想像FAT表损坏的直接后果就是分区中文件读取错误。
四、文件目录表FDT
FDT(dir目录区)它紧接着FAT表,它记录着根分区下每个文件(目录)的起始单元,文件属性等。所以当FDT损坏或丢失时,会造成部分数据丢失或空白分区的现象。
五、数据区DATA
顾名思义,这里就是真正存储数据的地方,如果数据是从这里丢失或覆盖,乃至出现物理坏道,那么数据十有八九是不能恢复了。
以上概念只是在单盘工作模式下的概念,当然不包括RAID了。提起RAID已经有好多篇文章提到过了,所以这里只说个大概,帮大家温习一下RAID的工作 原理就可以了。Raid从概念上分为硬raid和软raid, 硬raid是从硬件角度上说的,必须通过主板南桥芯片或第三方raid控制器所搭建,成本较高;而软raid,则是通过操作系统(只有 windows2000以上的windows系统和XNIX等系列系统)的支持,比如windows2000的动态分区可以创建软raid,,其最大的好 处就是成本低,不过速度不及硬raid。raid按组成结构可以分为raid 0、raid 1、raid 2、raid 3、raid 4、raid 5、raid 0+1,常见格式有raid 0、raid 1、raid 3、raid 5、raid 0+1。具体功能如下:
Raid 0:将多快硬盘合并成一块大的磁盘,不具有冗余,并行I/O,速度是最快的,它又称带区集,它是将多快硬盘并列起来然后等待I/O指令,比如写盘过程中, 直接将待写的数据根据磁盘数量分块,然后将分好的数据块同时写进待写的磁盘中,所以在raid 0中,磁盘越多,读写速度越快,但因为raid 0不具有冗余功能,所以当一块硬盘损坏或掉线是,另外的几块硬盘上数据就无法读取了。
Raid 1:在磁盘阵列中将两组相同的磁盘分为相同的两部分互相镜像,当一组出现问题时将会利用镜像上的数据去自动恢复,所以raid 1的安全效果是最好的,并且raid 1也采用数据分块存储,所以要比单盘系统速度在理论上要快,不过在raid磁盘阵列中是最慢的了,而且硬盘利用率只有50%,成本较高。
Raid 3:raid 3是以一块硬盘来单独存放数据的奇偶效验位,数据则分段存储在其他的硬盘上,未存放奇偶效验位的硬盘与raid 0的工作模式差不多,属于并行系统,这里的奇偶效验盘是相当重要的,如果它损坏所有数据将全部无法使用,而其他盘损坏则只需更换此盘就可恢复数据。所以说 raid 3的速度还是比较快的,而且利用率也比raid 0有所提高,容量是所有磁盘的总会减去奇偶效验盘的容量。
Raid 5:raid 5的工作模式与raid 3的非常相似,只是奇偶效验位存放在磁盘阵列的每一个硬盘上,如果一个硬盘损坏都可以通过其他硬盘上的奇偶效验位来重建丢失的数据,所以它可以保证单盘出 错或者掉线上的数据安全。数据同样分段存储在每一个硬盘上,这样硬盘的读取速度与raid 0的速度差不多,而且硬盘有了很高的利用率,是服务器经常用到的磁盘阵列。
Raid 0+1:顾名思义是raid 0和raid 1的结合,在速度和安全上都是最好的,但成本是最高的,不是绝对场合一般人很少用到raid 0+1。
好了,数据的存储结构就到此为止,在第二章会介绍一些简单的数据恢复工具。
         第二章           数据恢复初级篇―― 傻瓜化数据恢复工具
    在第一章中介绍了数据的存储原理,那么我们就从次章来利用这些基本功操纵一些简单的数据恢复软件。这章的主要难点是如何准确定位数据丢失的区域以及常用工 具的操作。下面首先从ghost 说起,备份是关键吗!ghost是我们常用的数据备份工具之一了,我就把它的常规用法简单的说一下。
Ghost的功能很强大,它可以实现硬盘克隆、分区克隆、硬盘镜像、分区镜像、镜像中恢复等诸多功能。如下:
一、硬盘克隆
运行ghost,出现如图2-1的画面时按下回车键(2-1)
用上下健选择 “Local”,按左右选择 “Disk” ,再选择 “To Disk”,回车(2-2),出现(2-3)的界面时一定要分清主从盘,否则后果大家应该能想像得到(ghost是扇区对扇区进行点对点操作的,刻反了数 据将彻底丢失),选择待克隆数据盘打回车,再选择空白盘,再次打回车后(2-4)的时候按ALT+O组合健,出现确认的界面,选择 “yes”,就开始克隆 (2-5)。
二、硬盘镜像
运行ghost,出现如图2-1的画面时按下回车键。
选择 “Local”,再选择 “Disk”,再选择 “To Image”(2-6),回车,同样在母盘上面按下回车健后出现图(2-7)的时候用上下箭头配合回车选中后即将镜像母盘的驱动器,利用TAB健切换为镜 像找好存放地址并为其命名,最后选择 “Save”保存后选择确认,按TAB健选择压缩模式, “No”为不压缩, “Fast”为快速压缩, “High”为高压缩,回车确定,就开始硬盘镜像了。
三、分区克隆
运行ghost,出现如图2-1的画面时按下回车键。
选择 “Local”,再选择 “Partition”,再选择 “To Partition”(2-8),选择要克隆硬盘上的分区,按回车确定,再选择待拷贝的分区如图,由于该文是针对数据恢复的,所以再此的目的是镜像文件, 所以是跨硬盘进行分区克隆的(即;将该分区的数据完全拷贝到其他硬盘的一个分区上),所以在此选择另一块硬盘(2-9),在硬盘上面按下回车后选择要克隆 的分区(2-10),按ALT+O选择 “yes”确定后,开始克隆。
四、分区镜像
运行ghost,出现如图2-1的画面时按下回车键。
选择 “Local”, 再选择 “Partition”, 再选择 “To Image”(2-11),选择好待备份硬盘的某个分区,按 “TAB”健切换到 “OK”,按回车确定,然后选择镜像保存的路径及镜像文件名,按 “TAB”健切换到 “Save”,按回车健确定,同硬盘镜像一样会弹出压缩选项选择的对话框,选项意思同硬盘镜像一样,选择一种回车确定,然后在弹出的确认框中选择 “yes”,回车开始镜像。
五、硬盘镜像恢复
运行ghost,出现如图2-1的画面时按下回车键。
选择 “Local”,再选择 “Disk”, 再选择From Image(2-12)回车确定,选择好 “.gho”镜像文件,回车打开后,选择要恢复的磁盘按ALT+O确定,接下来会列出镜像的一系列参数,不用理会继续 “OK”,接下来在弹出确认框中选择 “yes”,开始恢复镜像。
六、分区镜像的恢复
运行ghost,出现如图2-1的画面时按下回车键.。
选择 “Local”, 再选择 “Partition”,再选择 “From Image”(2-13)回车确定,选择好 “.gho”镜像文件,按回车打开,选择要恢复的磁盘按OK确定,再选择要恢复的分区按 “OK”确定,接下来在弹出确认框中选择 “yes”开始恢复镜像。
Ghost的基本应用就到此,当然ghost还有一些高级选项在 “Options”菜单里,另外它还有命令行参数,大家可以在DOS中键入 “ghost /?”来查看,这里就不多啰嗦了。
我们知道了数据的备份,那么现在就真正进入数据恢复的环节。
一、MBR区故障(故障几率70%)
MBR区故障主要包括主引导记录故障的分区表故障两种:
引导记录故障主要体现为:1、硬盘不能正常引导,而用软盘或光盘启动却可以进入任意盘符,查看任何文件:2、硬盘不能正常引导,而用软盘或光盘启动都却无法引导。前者是因为主引导记录丢失或损坏,后者是因为硬盘被上逻辑锁。
如何修复主引导记录?
1、使用任何版本的MS-DOS都可以,执行 “fdisk /mbr”就可以重建主引导记录。
2、使用windows 2000/xp/server 2003安装盘的故障恢复控制台,执行 “fixmbr”询问时选择 “y”,就可以重建主引导记录,而且对windows 2000/xp/server 2003效果较好。那么如何进入故障恢复控制台呢?可以使用从系统盘里分离出的,也可以使用windows安装盘自带的,具体方法是开机光启出现安装界面 时按R健进入故障恢复控制台,选择所使用的windows,输入administrator的口令,就可成功进入。
如何解锁逻辑锁?
要解锁逻辑锁我们必须先知道逻辑锁的工作原理。我们知道操作系统在启动时,MBR会先检查主引导分区,然后主引导分区再检查扩展分区的每个逻辑分区,或者 通过链式存储的原理通过DBR指向下一个分区,直到分区结束的55AA标识符。硬盘逻辑锁修改了第一个逻辑分区的地址并将它修改为引导分区的地址,这样操 作系统在启动时查找逻辑分区时总是找到引导分区形成死循环,导致任何启动盘都无法引导。
解开逻辑锁的最简单的方法就是格式化一张启动盘并将fdisk、diskedit等工具放入,然后找到启动盘里的io.sys文件且去掉它的只读、系统、 隐藏属性,用UE或PC-TOOLS等十六进制工具将其打开,查找第一个55 AA将它修改为任意字符,保存退出。然后将计算机设为软驱启动,放入刚刚做好的启动盘,这时就可带锁启动,这时依次执行fdisk /mbr 、sys c:,完毕后用diskedit打开分区表查看80、55AA 是否正常。如不正常在镜像编辑或者用下面的方法修复分区表。
当然还有好多方法解锁硬盘,比如:江民×××解锁盘、利用debug命令进行扇区调试,不过debug命令过于烦繁琐,江民×××解锁盘比较简单,这里就不作介绍了。下面我们来看分区表的恢复。
分区表的故障主要体现为用分区工具查看分区发现硬盘无分区或者某些分区工具报错根本无法查看分区,还有个别分区丢失现象等一系列问题,这些都属于分区表故 障,我们可以用重建分区表的方法来解决,对于个别存有重要文件的硬盘我们可以先把分区表备份至其他存储器上,比如软盘,然后删除所有分区,再重建分区表。
DiskFix是一款比较直观的分区表恢复工具,而且效果也是非常不错。利用它我们可以修复所有分区都丢失的分区表和无法查看的分区表,而且修复速度非常 快,并且操作界面非常简单,比较适用于新手。DIskFix有一个命令行参数,就是Test,表示测试的意思,在运行DiskFix时,最好先运行一下 diskfix /text,测试一下所有分区是否能够恢复,如果能恢复所有分区,就在机器重启之后继续运行diskfix来修复所有分区;如果不能恢复或恢复不全则换用 其他工具,以免直接运行diskfix对分区表造成改写导致其他工具也无法恢复分区表。DiskFix应用如下:
在纯DOS中运行diskfix /text(2-14)声明:此工具必须在刚刚重启过的机器上的纯DOS中运行,以免驻留内存程序对此工具的影响,当我们看到图2-15的界面的时候我们 不必理会它,直接点击确定,因为我们现在是在测试的环境下运行,随即出现2-16的画面,提示找到一个主分区,问你是否保留此分区,如果此分区和你原来的 第一个分区容量一样的话就保留,不一样的话就跳过,这里我们按保留,出现2-17有提示找到一个逻辑分区,询问是否保留,这样一直下去找到了所有分区,这 时出现2-18的提示框,询问你是否把找到的所有分区写入分区表,我们可以选放弃,还是因为这是在测试环境下的,点确定也不会去写入分区表。如果我们觉得 刚刚测试的分区符合实际大小,就可以重启计算机再次运行diskfix了,操作与刚才一样,只是到2-18的时候点击确定将找到的分区写进分区表,到最后 要提示你是否重启计算机(2-19),选择重启计算机分区即可恢复。
下面我们来介绍一下diskgen,diskgen是一款优秀的磁盘工具,它可以实现对硬盘的分区、格式化、乃至比较棘手的分区修复,并且可以备份、恢复 分区表,修改分区参数,重建分区表、重写主引导记录等功能。不过在其中最有特色的就是重建分区表,相信大家也从不少的文章中看到过它的身影 。它可以无条件的重建分区表,并且重写主引导记录,并且操作界面比较友好,不仅是图形界面而且支持鼠标,在主界面里还可以列出各个分区的详细参数,方便我 们查询。Diskgen的最大好处就是所有操作都是在内存中进行的,倘若最后不存盘,是不会对原分区表进行改写的,这就给我们提供很大的方便。 Diskgen怎么样使用呢?下面我们就来看一看这一款麻雀虽小,五脏俱全的磁盘工具。
在纯DOS里我们打入diskgen(2-20),回车之后就会出现图形化的界面,如果你的分区表存在错误或个别分区丢失的话,它会自动提示你分区表出现 问题,并询问你是否自动修复,建议大家选择交换模式,因为在分区错乱的情况下自动模式判断分区极不准确,很容易把分区表弄乱,我们最好是准备一张空白的软 盘放入软驱(或者用其他的硬盘备份),然后选择 “工具”菜单如图,再选择 “备份分区表”或直接按F9健(2-21),回车确定后就把错乱的分区表备份为 “hdpt.hdp”的分区表文件(2-22),下面我们无论对分区表做什么操作都不怕了。“那么在之前你不是说过不存盘的情况下对分区表的操作都无效 吗?”“怎么现在还要备份分区表,那不是多此一举吗?大家可能有疑问了,其实对硬盘这些敏感的区域进行操作的时候都建议备份,有备无患,因为任何的分区或 磁盘工具都不可能100%的保证磁盘数据的安全,所以我们在对分区表操作之前把分区表备份下来还是有必要的。接下来我们可以按F6健把所有的分区全部删 除,无论其规不规则统统删掉然后存盘退出,注意不要选择重启,然后再运行diskgen,选择重建分区表,就可对分区进行完整的修复了,如果分区表能够修 复好,我们就存盘退出重启:如果分区表修复不好,那么我们就用以前备份的去恢复,然后存盘退出重启后再找别的工具去修复。下面主要说一下然后重建分区表:
如图2-23的界面,我们在重建分区表上打回车这是会弹出确认框要求你是继续还是取消,选择 “继续”回车确认,又会弹出分区表的查找方式,问你是使用 “自动方式”还是 “交互方式”,如果你对以前的分区比较熟悉,那么交互方式是最可靠的,否则则选用自动方式查找。这里我们选用自动方式开始查找了如图2-24、2-25、 2-26,自动方式在查找分区表的时候是没有提示的,完全傻瓜化,当弹出2-27的时候,提示你存盘生效,我们点击 “确定”。为避免主引导记录有错误,我们可以直接选择 “工具”菜单下的 “重写主引导记录”,回车后会弹出2-28的提示框,点击 “确定”后就重写MBR了。然后我们再对分区参数进行一下检查,工具菜单下选择参数检查或按F12健如图2-29, “确认”后会告诉你分区参数是否正确如图2-30,如果没有错误的话,就可以选择 “硬盘”菜单下的 “存盘”了,保存完毕后退出重新启动计算机就可以实现对分区表的恢复了。
Diskgen虽然功能强大,但是也有它办不了的事,我就曾经遇到过一次郁闷的事。记得有一个朋友一块160G的大硬盘主要是作为备份用的,所以一直挂的 是从盘,那天突然断电数据就变成泡影了,试了好多种分区维护软件,却都提示是动态分区,最后还是PR帮了我的大忙,下面我们就来看一下这个神奇的工具。
PR的操作界面不如以上两个的雅观,蓝蓝的屏幕白色的字好像Lformat,一看就有年代了。在使用这款工具之前先介绍一下它的功能,PR是一款专业级的 分区表维护软件,它以精细著称所以在使用中速度也比较慢,但功能却非常大,它不仅能够恢复分区,而且还可以在恢复之后查看该分区的根目录,这一点就非常的 难得,用它我们可以清楚的看到所恢复的分区是否是原来的分区,有效的防止了恢复错误分区的可能。
我们首先在纯DOS里运行pr如图2-31,接下来我们在工具的主界面如图2-32中按下 “Ctrl+Enter”组合健进入图2-33的扫描阶段,这段scanning的时间比较长,慢慢的等待吧,一段时间后提示发现一个分区,询问我们是否 保留如图2-34,我们按 “Y”健保留,然后利用上下箭头选中左边 “Logical ?:”下边的 “Unallocated”按回车继续扫描,如图2-35又发现一个分区,继续按 “Y”健确定,同理继续扫描下面的空闲分区,当我们把所有的分区都恢复完毕后,我们可以在任意 “Logical ?:”上按回车健,来查看分区中的数据资料如图2-36,当确保分区无误后就可以按 “ESC”健退出了,这时该软件会询问你是否保存找到的分区,按 “Y”健保存如图2-37,之后会列出各个分区的大小以及未划分空间如图2-38,继续按回车健出现图2-39,这时按任意健就可以退出了。在让我用别的 分区管理软件看一看硬盘,果然所有分区全部找回。Pr不仅有上述功能,还具有好多其他的小功能,大家自己玩儿吧。
另外在DOS下还有一些工具可以修复分区,不如江民、金山、诺顿等安全公司的磁盘工具多可以修复分区,这里就不一一介绍了,其实都大同小异。
DOS下的磁盘工具介绍完了,我们看一看windows下的,另有一番风趣,今天主要登场的是分区表医生(Partition Table Doctor),由于深山红叶V22中的比较好使,所以就懒得去找安装文件了。首先我们运行深山红叶的Windows PE系统,经过漫长的等待,进入Windows PE系统,说明一点Windows PE所用的内存比较大所以当内存低于128M的时候就不可能启动了,而且Windows PE的虚拟内存使用的也是真正的内存,所以不必担心虚拟内存配置文件对硬盘数据的覆盖。
我们点击深山红叶Windows PE的开始菜单,选择磁盘工具,再次选择硬盘分区表修复与管理如图2-40,左键单击表示运行(其操作与正常的Windows没有任何区别),如果分区表 有故障的话,就会出现2-41、2-42之类的报错,我们点击是看其是否能够自动纠正,结果试验机的分区表已经经过N多种的分区软件的折腾了,没有正确纠 正如图2-43,在下面显示的分区参数正确,有一个主分区和两个逻辑分区且容量都正确,而上面分段显示的分区结构却是一个主分区和一个扩展分区,逻辑分区 并未划分,分区表肯定还有故障,所以我们要重建分区表。点击重建分区表之后会出现2-44的选择界面,我们最好选择 “交互模式”,因为刚开始的时候自动修复并未成功, “下一步”后经过几秒钟的时间就会搜索出硬盘中所有的分区和分区详细的参数并为你列出来以供选择如图2-45,选择所有的分区再次点击 “下一步” ,就出现了图2-46,到现在所有分区都以恢复,就可以点击 “常规”下的 “保存”了如图2-47,然后再点 “退出”,提示你是否要重新启动,点击重启,分区表就完全修复了。
二、bios参数块又称磁盘基数表BPB故障(5%)
由于在数据恢复中,分区表恢复占用的比例比较大,所以上面啰嗦了些,下面我们来看BPB丢失的现象。BPB是每个分区必须有的参数块,它的损坏会导致分区 无法访问或分区格式不对,它的丢失会造成分区没有格式化等现象。能够修复BPB的工具很多,比如:NDD、PC-TOOLS ,还有刚才说过的Partition Table Doctor,因为在数据恢复中BPB单独丢失的现象很少,占用率只有5%左右,所以我们只大概介绍一两个简单工具的用法,就不多浪费大家的时间了。
首先我们说NDD,NDD是诺顿磁盘医生(NORTON DISK DOCTOR)的简称,名气不小想必大家早已有所耳闻,而且该工具在时间和工作效率上都可称是一流的工具。出于使用的方便性我们还是选择win PE系统来操作,目的是不用使用数据待恢复盘挂从,而且从恢复数据的安全角度上面也推荐使用,所以选择雨浪飘零多功能启动盘第七版Windows PE SP2中的NDD2005,如图2-48,我们选中左边的 “Fix Errors”就可以在以后的扫描过程中自动修复错误了,再选择所需要扫描的盘符,然后点击右上角的 “Diagnose”按钮开始扫描磁盘错误如图2-49,当然大家也可以点击 “Options “按钮进行一下高级设置,一般默认使用即可,这里就不多说了,程序工作的时候会检测硬盘数据组成的诸多组成模块,在这里简单的介绍一下NDD所扫描的模 块:checking partition table表示检查分区表、checking file structures表示检查文件结构、 checking indexes表示检查文件索引、checking security descriptors表示检查安全描述符、checking file data表示检查文件数据、checking free space表示检查自由空间。当出现 “norton disk doctor's disk check has been completed”的时候表示诺顿磁盘医生的磁盘检查完成如图2-50,现在我们点击 ‘确定”再点击“close”关闭NDD然后重启计算机看一看有 错误的磁盘是否已经修复,一般来说NDD还是大小通吃的,如果不行就用下面的方法。
Partition Table Doctor的功能可谓是非常强大,每个参数块儿都有非常强悍的作用,这可是我们必备的高级啊。就拿它的修复引导模块再说一次吧。
我们这次用一个例子来证实一下,近期一个比较流行的主引导病毒程序“猪三.exe”想必大家有所听说,该病毒运行后会重启计算机,当计算机重启启动后硬盘 报告没有找到分区表,如图2-51,其实这个不是分区表丢失,我们可以进入深山红叶的win PE用windows资源管理器来察看,如图2-52,显示未格式化状态,我们首先打开Partition Table Doctor如图2-53,是否看见在E盘前面有一个红色的叉,这就表示该分区的BPB丢失或损坏了,我们在该分区上单击右键选择修复引导,会给你列出修 复引导的模式,可以看见自动或交互两种模式可供选择,至于要选择哪种模式大家可以根据自己的需要选择,我这里为了方便测试就拿自动模式来给大家讲解了。很 快就出现了结果并询问是否修复该分区的引导扇区,我们选择 “是”如图2-54,个别情况会提示你选择操作系统的类型,之后就会出现“恭喜您,Partition Table Doctor已经修正了错误,这类的消息了,之后我们就可以看到分区上面的那个红的的叉已经没有了(2-55),然后我们保存退出Partition Table Doctor,重启计算机后再次察看,数据已经全部恢复(2-56)。
在这里我给大家讲了一下我的修复过程,其实里面最重要的就是思路,工具是死的,人是活的,大家千万不要生搬硬套我的方法,这样很有可能会弄出更大的问题, 遇到之类问题我们必须结合提示去思考,觉得可以去做再去动手。利用这种方法还可以修复对硬盘整体进行过分区格式化的硬盘,但是必须确保分区格式化之后硬盘 没有在写入过任何数据,我就利用此方法修复过误被DM重新分区格式化的硬盘,大体思路是将该盘现有的分区全部删除,然后再用丢失文件之前给硬盘分区的工具 重新给硬盘按原来大小分区并且不能够格式化,这一点相当重要,因为多种分区工具之间的算法不一定一样,如果不一样的话就会造成数据的二次破坏,再用修复引 导的工具去修复,结果数据完好无损。这个方法的前提是在数据没被覆盖的情况下的,如果数据已被覆盖也可一试,当然不一定会有很好的效果,没准会修复几个分 区,没准会丢失一些数据,这谁也说不好,死马当成活马医吧!碰运气了,不过也可以用以后的方法做扇区扫描来进行数据恢复,在这里先卖个关子。至于这几个典 型的扇区磁盘编辑等到以后的数据恢复高级篇再作详细的介绍。
三、文件分配表FAT和文件目录表FDT的数据急救措施(15%)
对于FAT表想必大家已经非常熟悉了,FAT表的丢失会造成分区就如新格式化的一般,损坏则会造成数据读取是出错或者数据读取不完全的现象;FDT表的丢失、损坏同样也会造成数据的全部丢失和部分丢失,所以我们现在把这两部分放在一起说一说。
首先对FAT表的直接丢失作一下讨论,FAT表的直接丢失通常是因为错误的、失误的格式化造成的,通常FAT都是有两个的,这个我们可以用winhex来 察看,如图2-57,两个FAT表是挨着的,至于winhex在数据恢复中的典型应用,以后高级篇配合其他的程序作详细的介绍,我们先介绍几条常用的 DOS命令:
Unformat:unformat命令与format命令恰恰相反,是一条反格式化命令。在介绍unformat之前,我们先来看一看format的工 作原理,通常我们常用format的参数有/q、/u、/s,其实系统里执行格式化也是调用的这几个参数,当然不包括NTFS分区格式的格式化FS参数, /q是快速格式化的意思,它工作只清除FAT表并不进行磁盘效验,而且不把FAT表追加到本分区的最后几个扇区,所以不能用unformat来恢复;剩下 /u、/s参数它们工作时都会进行磁盘效验,就是会在格式化的时候相对较慢并且在效验完成后将FAT表追加到分区的最后几个扇区,只有这种现象我们才可以 用unformat来恢复。这种现象现在并不常见,所以也就提一提而已。
Scandisk与chkdsk:scandisk是win98年代我们比较熟悉的一条命令了,在非法关机的时候就会出现,而2000以后就采用了 chkdsk来替代scandisk,同样在FAT32的分区非法关机的时候也会出现,那是为什么呢?是因为scandisk与chkdsk都会检测磁盘 并寻找FAT丢失的簇,如果有丢失的簇的话,就会把这些丢失的簇转换为根目录下的文件。Scandisk有众多参数,其中最为重要的就是 “/autofix”,它表示自动修复错误的意思;chkdsk的参数 “/F”是一个非常重要的参数一直沿用至今,在2000、XP中都可以经常看到它的身影。
以上用几条老的命令来修复FAT的思路来承上启下一下,并不是让大家用它去修FAT,这样效率太低了我们可以借助一些数据恢复软件来进行大批量快速恢复。 主要涉及到的软件有Easy recovery、Finaldata、Recover NT、Photo Recovery等,通过这些数据恢复软件再加以取长补短,我们便可以化腐朽为神奇。
上述工具都各有所长,Easy recovery以扫描速度非常快,擅长文件的误删除恢复、分区遭格式化恢复;FinalData则以精细为主,擅长原始恢复(针对于分区表无法找到的硬 盘、文件系统发生改变或没有文件系统的分区);Recovery NT可以恢复网络上的磁盘驱动器,大大方便了我们的操作;PCI Filerecovery是专门针对FAT丢失比较有效果;Photo Recovery是以照片、图像恢复为己所长;
下面我们首先看一下 Easy Recovery的使用方法,Easy Recovery拥有非常华丽的外表而且操作简单、界面大方,每个模块都列出了具体的操作定义,可是咱是菜鸟的首选工具,运行后我们选择数据恢复,来到图 2-58的界面,这里我格式化了自己的一块硬盘来做试验,所以先选择从格式化中恢复,点击之后工具会提示你将恢复出的数据放在一个比较安全的设备中,而且 不能放在将要作恢复的盘符中(这里友情提示一下,不要将恢复的数据放在有坏道的分区或硬盘中,最好单独找一块硬盘存放数据,在数据量比较小的时候可以考虑 闪存,恢复出的数据一定要一试双份,以防前功尽弃),然后我们Easy Recovery的窗口中点击确定,我们选中格式化的分区之后点击下一步,程序就开始工作了经过一段时间的等待如图2-59,当出现图2-60的时候就可 以选择要恢复的文件了,由于我刚才把我的J盘都格式化了现在真的有点心疼,所以我直接选择了驱动器,看到了吧,下面的文件目录都已经自动选中了,大家可以 选择直接文件目录,也可以双击文件目录选择子目录或文件,继续下一步出现图2-61,这时我们可以选择一个存放数据的盘符,(这个分区必须满足三个条件: 1、该分区是一个正常的分区,确保没有坏扇区;2、该分区不是将要作双击恢复的分区;3、该分区的剩余空间要足够大,必须能够存放的下待恢复的数据),也 可以是一个FTP Server,不过建议大家最好不要选择FTP server,以防在数据的传输过程中丢包或者FTP Server的重启。大家选择好路径后就可以点击下一步保存数据了,稍等片刻就全部恢复了,恢复完毕后会提示你总数据的容量大小、文件的个数,我们点击完 成就可以退出了,格式化恢复就是这么简单。
Easy Recovery的数据删除恢复同上述的格式化恢复差不多就不举例了,相信大家也能够举一反三,不过大家需要注意的是掌握各种工作模块的具体作用,不要胡 乱用,比如用删除恢复模块去恢复已经被格式化的分区,是什么数据也找不到的,在前面的基础中已经说过了,格式化修改的是FAT,删除修改的是FDT,不一 样的。其实我们在使用Easy Recovery的时候使用最多的是高级恢复,这里面可以对误格式化和删除的文件进行数据恢复操作,而且还可以设置高级选项过滤没有用的文件,如图2- 62,所以推荐大家使用,使用方法和格式化的同样,就不介绍了。至于对原文件系统进行了转换的操作后,比如把NTFS转换成了FAT后的数据丢失,那么就 要用到Easy Recovery的原始恢复了,如图2-63,我们可以直接挖掘硬盘数据区,这个数据恢复程式没有依赖任何FDT和FAT,只是单一在DATA里面挖掘, 所以恢复的时间相对要慢得多,不过好在可以过滤文件类型,所以在配置过后还是不错的,一般这类的数据恢复都使用Easy Recovery的这个功能。
下面我们来看一下FinalData,FinalData相对Easy Recovery的速度要快得多了,不少用过FinalData的朋友都说这个工具太慢了,那是为什么呢?其实FinalData在FAT和FDT上面的 扫描速度快的人眼都没有看清就完成了,之所以说它以精细为主,并不是因为这些,而是因为它有好多的选项共扇区扫描时执行,这就增大了数据恢复的可能,不过 的确减慢了速度,作一盘40G的数据差不多真得花上个一天的时间。下面我们来看FinalData的具体操作:
运行FinalData的界面如图2-64一样,我们先点击参数选择按钮,设置好自己需要的参数,一般没必要的情况下默认即可,参数设置好后点击确定确 认,然后我们再点击打开按钮或用菜单形式打开,我们弹出的下一个窗口中设定要恢复的分区或物理驱动器,这里我就以分区为例了,物理驱动器的恢复方法与它大 同小异都差不多,不知点击留意没有,在取消的下面有一个查找格式按钮,它可以查找混乱的分区 FAT链利用它我们可以的到更好的效果,但是付出的时间有增加了大约一倍,所以不到万不得已的时候不要用它。我选择的是 I盘,点击确定后刹那间就到了图2-65这里了,现在会提示你是否扫描簇,扫描簇和上面Easy Recovery的原始恢复没有区别了,而且时间还要比Easy Recovery长,效果自然精细了很多,但是恢复出来的数据还得精挑细选,所以一般情况下不推荐这样恢复数据,所以到此我们选择取消就可以了,如图2- 56我们在那个标记了已经删除的文件夹上面右键选择恢复,像图2-67那样浏览一个分区新建一个文件夹点击保存按钮就可以恢复数据了。
我们了解了这两个典型的数据恢复软件,简单的数据恢复就告一段落了,其他的工具和它们都差不多,只是在操作上略有不同就不多介绍了。
       
以上就是一些简单的数据恢复操作的方法,至于数据恢复的高级技巧,包括手工编辑DPT、DBR,坏扇区文件拷贝,扇区复制、破损文件修复、以及开盘操作的简单过程,将在下一章的数据恢复高级篇内进行介绍,由于近期比较忙,所以只能够下次介绍了,给大家带来的不便还请见谅。

图片就略了,太多又大,一篇文章一托就是多半年,看看最近是不是有时间完成(下)