论坛风格切换
正版合作和侵权请联系 sd173@foxmail.com
 
  • 帖子
  • 日志
  • 用户
  • 版块
  • 群组
帖子
购买邀请后未收到邀请联系sdbeta@qq.com
  • 1496阅读
  • 4回复

[求助-系统问题]数据恢复技术大全 [复制链接]

上一主题 下一主题
离线ahyanglf
 
发帖
*
今日发帖
最后登录
1970-01-01
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-09-20 08:07:53
一、数据恢复基础知识
说到数据恢复,我们就不能不提到硬盘的数据结构、文件的存储原理,甚至操作系统的启动流程,这些是你在恢硬盘数据时不得不利用的基本知识。即使你不需要恢复数据,理解了这些知识(即使只是稍微多知道一些),对于你平时的电脑操作和应用也是很有帮助的。
我们就从硬盘的数据结构谈起吧……
1、硬盘数据结构
刚出厂一块硬盘,我们是没有办法使用的,你需要将它分区、格式化,然后再安装上操作系统才可以使用。就拿我们一直沿用到现在的Win9x/Me系列来说,我们一般要将硬盘分成主引导扇区、操作系统引导扇区、FAT、DIR和Data等五部分(其中只有主引导扇区是唯一的,其它的随你的分区数的增加而增加)。
主引导扇区:主引导扇区位于整个硬盘的0磁道0柱面1扇区,包括硬盘主引导记录MBR(Main BootRecord)和分区表DPT(Disk PartitionTable)。其中主引导记录的作用就是检查分区表是否正确以及确定哪个分区为引导分区,并在程序结束时把该分区的启动程序(也就是操作系统引导扇区)调入内存加以执行。至于分区表,很多人都知道,以80H或00H为开始标志,以55AAH为结束标志,共64字节,位于本扇区的最末端。值得一提的是,MBR是由分区程序(例如DOS的Fdisk.exe)产生的,不同的操作系统可能这个扇区是不尽相同。如果你有这个意向也可以自己去编写一个,只要它能完成前述的任务即可,这也是为什么能实现多系统启动的原因(说句题外话:正因为这个主引导记录容易编写,所以才出现了很多的引导区病毒)。
操作系统引导扇区: OBR(OS BootRecord)即操作系统引导扇区,通常位于硬盘的0磁道1柱面1扇区(这是对于DOS来说的,对于那些以多重引导方式启动的系统则位于相应的主分区/扩展分区的第一个扇区),是操作系统可直接访问的第一个扇区,它也包括一个引导程序和一个被称为BPB(BIOSParameterBlock)的本分区参数记录表。其实每个逻辑分区都有一个OBR,其参数视分区的大小、操作系统的类别而有所不同。引导程序的主要任务是判断本分区根目录前两个文件是否为操作系统的引导文件(例如MSDOS或者起源于MSDOS的Win9x/Me的IO.SYS和MSDOS.SYS)。如是,就把第一个文件读入内存,并把控制权交予该文件。BPB参数块记录着本分区的起始扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小、FAT个数、分配单元(AllocationUnit,以前也称之为簇)的大小等重要参数。OBR由高级格式化程序产生(例如DOS 的Format.com)。
文件分配表:
FAT(File AllocationTable)即文件分配表,是DOS/Win9x系统的文件寻址系统,为了数据安全起见,FAT一般做两个,第二FAT为第一FAT的备份,FAT区紧接在OBR之后,其大小由本分区的大小及文件分配单元的大小决定。
FAT的格式历来有很多选择,Microsoft的DOS及Windows采用我们所熟悉的FAT12、FAT16和FAT32格式,但除此以外并非没有其它格式的FAT,像WindowsNT、OS/2、UNIX/Linux、Novell等都有自己的文件管理方式。
目录区:
DIR是Directory即根目录区的简写,DIR紧接在第二FAT表之后,只有FAT还不能定位文件在磁盘中的位置,FAT还必须和DIR配合才能准确定位文件的位置。DIR记录着每个文件(目录)的起始单元(这是最重要的)、文件的属性等。定位文件位置时,操作系统根据DIR中的起始单元,结合FAT表就可以知道文件在磁盘的具体位置及大小了。在DIR区之后,才是真正意义上的数据存储区,即DATA区。
数据区:
DATA虽然占据了硬盘的绝大部分空间,但没有了前面的各部分,它对于我们来说,也只能是一些枯燥的二进制代码,没有任何意义。在这里有一点要说明的是,我们通常所说的格式化程序(指高级格式化,例如DOS下的Format程序),并没有把DATA区的数据清除,只是重写了FAT表而已,至于分区硬盘,也只是修改了MBR和OBR,绝大部分的DATA区的数据并没有被改变,这也是许多硬盘数据能够得以修复的原因。但即便如此,如MBR/OBR/FAT/DIR之一被破坏的话,也足够咱们那些所谓的DIY老鸟们忙乎半天了……需要提醒大家的是,如果你经常整理磁盘,那么你的数据区的数据可能是连续的,这样即使MBR/FAT/DIR全部坏了,我们也可以使用磁盘编辑软件(比如DOS下的DiskEdit),只要找到一个文件的起始保存位置,那么这个文件就有可能被恢复(当然了,这需要一个前提,那就是你没有覆盖这个文件……)。
2、硬盘分区方式
我们平时说到的分区概念,不外乎三种:主分区、扩展分区和逻辑分区。
主分区是一个比较单纯的分区,通常位于硬盘的最前面一块区域中,构成逻辑C磁盘。在主分区中,不允许再建立其它逻辑磁盘。
扩展分区的概念则比较复杂,也是造成分区和逻辑磁盘混淆的主要原因。由于硬盘仅仅为分区表保留了64个字节的存储空间,而每个分区的参数占据16个字节,故主引导扇区中总计可以存储4个分区的数据。操作系统只允许存储4个分区的数据,如果说逻辑磁盘就是分区,则系统最多只允许4个逻辑磁盘。对于具体的应用,4个逻辑磁盘往往不能满足实际需求。为了建立更多的逻辑磁盘供操作系统使用,系统引入了扩展分区的概念。
所谓扩展分区,严格地讲它不是一个实际意义的分区,它仅仅是一个指向下一个分区的指针,这种指针结构将形成一个单向链表。这样在主引导扇区中除了主分区外,仅需要存储一个被称为扩展分区的分区数据,通过这个扩展分区的数据可以找到下一个分区(实际上也就是下一个逻辑磁盘)的起始位置,以此起始位置类推可以找到所有的分区。无论系统中建立多少个逻辑磁盘,在主引导扇区中通过一个扩展分区的参数就可以逐个找到每一个逻辑磁盘。
需要特别注意的是,由于主分区之后的各个分区是通过一种单向链表的结构来实现链接的,因此,若单向链表发生问题,将导致逻辑磁盘的丢失。
3、数据存储原理
既然要进行数据的恢复,当然数据的存储原理我们不能不提,在这之中,我们还要介绍一下数据的删除和硬盘的格式化相关问题……文件的读取操作系统从目录区中读取文件信息(包括文件名、后缀名、文件大小、修改日期和文件在数据区保存的第一个簇的簇号),我们这里假设第一个簇号是0023。操作系统从0023簇读取相应的数据,然后再找到FAT的0023单元,如果内容是文件结束标志(FF),则表示文件结束,否则内容保存数据的下一个簇的簇号,这样重复下去直到遇到文件结束标志。
文件的写入
当我们要保存文件时,操作系统首先在DIR区中找到空区写入文件名、大小和创建时间等相应信息,然后在Data区找到闲置空间将文件保存,并将Data区的第一个簇写入DIR区,其余的动作和上边的读取动作差不多。
文件的删除
看了前面的文件的读取和写入,你可能没有往下边继续看的信心了,不过放心,Win9x的文件删除工作却是很简单的,简单到只在目录区做了一点小改动——将目录区的文件的第一个字符改成了E5就表示将改文件删除了。
Fdisk和Format的一点小说明
和文件的删除类似,利用Fdisk删除再建立分区和利用Format格式化逻辑磁盘(假设你格式化的时候并没有使用/U这个无条件格式化参数)都没有将数据从DATA区直接删除,前者只是改变了分区表,后者只是修改了FAT表,因此被误删除的分区和误格式化的硬盘完全有可能恢复……
系统启动流程
各种不同的操作系统启动流程不尽相同,我们这里以Win9x/DOS的启动流程为例。
第一阶段:系统加电自检POST过程。POST是(Power On SelfTest)的缩写,也就是加电自检的意思,微机执行内存FFFF0H处的程序(这里是一段固化的ROM程序),对系统的硬件(包括内存)进行检查。
第二阶段:读取分区记录和引导记录。当微机检查到硬件正常并与CMOS设置相符后,按照CMOS设置从相应设备启动(我们这里假设从硬盘启动),读取硬盘的分区记录(DPT)和主引导记录(MBR)。
第三阶段:读取DOS引导记录。微机正确读取分区记录和主引导记录后,如果主引导记录和分区表校验正确,则执行主引导记录并进一步读取DOS引导记录(位于每一个主分区的第一个扇区),然后执行该DOS引导记录。
第四阶段:装载系统隐含文件。将DOS系统的隐含文件IO.SYS入内存,加载基本的文件系统FAT,这时候一般会出现StartingWindows9x...的标志,IO.SYS将MS.SYS读入内存,并处理System.dat和User.dat文件,加载磁盘压缩程序。
第五阶段:实DOS模式配置。系统隐含文件装载完成,微机将执行系统隐含文件,并执行系统配置文件(Config.sys),加载Config.sys中定义的各种驱动程序。
第六阶段:调入命令解释程序(Command.com)。系统装载命令管理程序,以便对系统的各种操作命令进行协调管理(我们所使用的Dir、Copy等内部命令就是由Command.com提供的)。
第七阶段:执行批处理文件(Autoexec.bat)。微机将一步一步地执行批处理文件中的各条命令。
第八阶段:加载Win.com。Win.com负责将Windows下的各种驱动程序和启动执行文件加以执行,至此启动完毕。
数据恢复的基础知识到此就给你介绍得差不多了。如果你领会了以上的这些知识,相信加上工具软件的辅助,恢复你丢失的数据简直是轻而易举,这里就不再多说,我们走入真正的实战操作吧……
二、
硬盘数据恢复方案分析
难道在硬盘数据由于各种原因被破坏后,我们就只能……?
当然,我们最大的期望还是——你永远不要用到下面的方法!因为再完备的事后解决方案,也不能保证所有数据的完好无缺。而要真正做到万无一失,更重要的工作还在于防患于未然。
1、文件语删除
A、症状
这可能是最简单同时也是最常见的数据损坏,直接的表述就是一般删除文件后清空了回收站,或按住Shift键删除,要不然就是在“回收站”的“属性”中勾选了“删除时不将文件移入回收站,而是彻底删除”。
B、解决方案
既然是最常见的数据损坏,当然也就是最容易恢复的,下面就根据不同的操作系统给出相应的解决方案。
1).Win9x/Me下的解决方案
也就是FAT16/32分区下的文件误删除恢复,这应该是大部分恢复类软件的基本功能;而我们拿来作例子的软件Recover4all,所提供的功能仅为在Win9x/Me下恢复被误删除的文件——其实很多东西并不是一味求大求全就好,够用已足够,简单就是美。
2).WinNT/2000下的解决方案
换种说法,也就是如何恢复在NTFS分区下被误删除的文件。对于这种相对简单的需求,FileScavenger完全就可以胜任。当然,FileScavenger是很具有针对性的——它只能在WinNT/2000系统下使用(同时必须以Administrator用户登录系统),而且只对NTFS格式的分区有效。不过它支持压缩过的NTFS分区或文件夹中文件的恢复,并对格式化过的NTFS分区中的文件也有效(注意:FileScavenger只可以对格式化过的分区中的文件进行恢复,并不能恢复整个被格式化过的分区)。
C、不可恢复的情况
如果文件在删除之后,其存储的磁盘空间进行过写操作,那在通常情况下恢复的几率为0。因此,误删除文件可以恢复的重要前提就是不要在删除文件所在的分区进行写操作。
病毒破坏、症状现在使用电脑的人基本都是谈“毒”色变,病毒带来的数据破坏往往不可预见(包括分区表破坏、数据覆盖等;例如CIH病毒破坏的硬盘,其分区表已被彻底改写,用A盘启动也无法找到硬盘),由此病毒破坏硬盘数据的症状也不好描述,基本上大部分的数据损坏情况都有可能是病毒引起的,所以最稳妥的方法还是安装一个优秀的病毒防火墙。
2)、解决方案
由于病毒破坏硬盘数据的方法各异,恢复的方案就需要对症下药。一般以常见的CIH为例,因为它最普遍,也最容易判断(一般是在4月26日发作)。当用户的硬盘数据一旦被CIH病毒破坏后,使用KV3000的F10功能,可修复的程度如下:
1.C盘容量为2.1G以上,原FAT表是32位的,C分区的修复率为98%,D、E、F等分区的修复率为99%,配合手工C、D、E、F等分区的修复率为100%。
2.硬盘容量为2.1G以下,原FAT表是16位的,C分区的修复率为0%,D、E、F等分区的修复率为99%,配合手工D、E、F盘的修复率为100%。因为原C盘是16位的短FAT表,所以C盘的FAT表和根目录下的文件目录都被CIH病毒乱码覆盖了。KV3000可以把C盘找回来,虽然根目录的文件名字已被病毒乱码覆盖看不到了,但文件的内容影像还存储在C盘内的某些扇区上。推荐用KV3000找回C盘,再用文件修复软件TIRAMISU.EXE可将C盘内的部分文件影像找回来,如果原存放文件影像的簇是相连的,找回的文件就完整无损。但对于FAT16的C盘是不是中了CIH就没救呢?你还是可以尝试一下FIXMBR,它可以通过全盘搜索,决定硬盘分区,并重新构造主引导扇区。由于软件只修改主引导扇区记录,对其它扇区不进行写操作,故一般不会带来不安全目录(如果修复得不理想,请DiskEdit等工具进行手工修复)。注意:FIXMBR是一个比较老的程序,对WinNT、Linux以及FAT32考虑得不多。
3)、不可恢复的情况
由于病毒破坏硬盘的方式实在太多,而且大部分破坏都无法用一般软件轻易恢复(如果你喜欢使用DiskEdit等磁盘扇区编辑工具,对某些情况还有一线希望),所以……遇到病毒破坏硬盘的情况你就祈祷吧(由此看来,安装一个优秀的病毒防火墙绝对是有必要的)
2、 分区表破坏
分区表破坏是比较常遇到:
A、破坏原因及恢复可行性分析
分区表破坏,可能是数据损坏中除了物理损坏之外最严重的一种灾难性破坏。究其原因,不外乎以下几种:
1).个人误操作删除分区,只要没有进行其它的操作完全可以恢复。
2).安装多系统引导软件或者采用第三方分区工具,有恢复的可能性。
3).病毒破坏,可以部分或者全部恢复。
4).利用Ghost克隆分区硬盘破坏,只可以部分恢复或者不能恢复(用Ghost的朋友要小心了)。
B、解决方案
在NortonUtility系列工具中,功能十分强大,可以恢复分区记录、FAT表,需要注意的是它对硬盘的操作不是只读的,因此你需要每一步都做好Undo文件,这样即使误操作也可以恢复,NortonDisk Doctor配合DiskEdit在分区表不能恢复时也可以恢复部分文件,可惜Norton DiskDoctor不支持NTFS分区,这不能不说是它的一大遗憾之处……最专业的数据恢复公司出的软件,当然很有专业风范,EasyRecovery支持的文件系统格式很多FAT、NTFS都支持,并且有专门的ForNovell版本。EasyRecovery对于分区破坏和硬盘意外被格式化都可安全的恢复,你所要做的就是将数据损坏硬盘挂到另外一台电脑上,尽情恢复就是了,不过EasyRecovery对于中文的文件名和目录名效果不是很好(一些乱码,但文章内容绝对是正确的)。由出品PartitionMagic的PowerQuest公司所出的,硬盘资料复原工具。它是一套恢复硬盘因病毒感染,意外格式化等因素所导致的资料损失工具软件,能将已删除的文件资料找出并恢复,也能找出已重新格式化的硬盘、被破坏的FAT分配表、启动扇区等等,几乎能找出及发现任何在硬盘上的资料(支持FAT16和FAT32及长文件名)。恢复回来的资料能选择在原来所在位置恢复或保存到其它可写入资料的硬盘,也提供了自动备份目录、文件和系统配置文件的功能,能在任何时间恢复)
2、全盘崩溃和分区丢失
首先重建MBR代码区,再根据情况修正分区表。修正分区表的基本思路是查找以55AA为结束的扇区,再根据扇区结构和后面是否有FAT等情况判定是否为分区表,最后计算填回主分区表,由于需要计算,过程比较烦琐。如果文件仍然无法读取,要考虑用Tiramint等工具进行修复。如果在FAT表彻底崩溃,恢复某个指定文件,可以用DiskEdit或Debug查找已知信息。比如文件为文本,文件中包含“软件狗”,那么我们就要把它们转换为内码CED BC FE B9 B7进行查找。
3、文件丢失、误格式化的情况
一般来说,删除文件仅仅是把文件的首字节,改为E5H,而并不破坏文件本身,因此可以恢复。但对不连续文件要恢复文件链,而由于手工交叉恢复对一般计算机用户来说并不容易,这里就就不讲了,建议用工具处理,如果已经安装了NortonUtilities,可以用它来查找。另外,RecoverNT等工具都是恢复的利器。但是应特别注意,千万不要在发现文件丢失后,在本机安装什么恢复工具,你可能恰恰把文件覆盖掉了。特别是如果你的文件在C盘,发现主要文件被你失手清掉了(比如你按SHIFT删除),你应该马上直接关闭电源,用软盘启动进行恢复或把硬盘串接到其它有恢复工具的机器处理。
4、文件损坏
 一般的说,恢复损坏文件须要清楚地了解文件的结构,但这并不是很容易的事情,而这方面的工具也不多。不过,文件如果字节正常,不能正常打开往往是文件头损坏。
5、硬盘被加密或变换
此时千万不要进行FDISK/MBR,SYS等处理,否则数据再也无法找回,一定要反解加密算法,或找到被移走的重要扇区。对于那些加密硬盘数据的病毒,清除时一定要选择能恢复加密数据的可靠杀毒软件。
6、文件加密后密码遗忘
对于很多字处理软件的文件加密和ZIP等压缩包的加密,你是不能靠加密逆过程来完成的,因为那从理论上是异常困难的。目前有一些相关的软件,他们的思想一般都是用一个大字典集中的数据循环用相同算法加密后与密码的密文匹配,直到一致时则说明找到了密码。你可以去寻找这些软件,当然,有些软件是有后门的,比如DOS下的WPS,Ctrl+qiubojun就是通用密码。Undiskp的作者冯志宏是解文件密码的个中高手,大家不妨去他的主页看看。
7、系统用户密码遗忘的处理
最简单的方法就是用软盘启动(NT的你也可以把盘挂接在其他NT上),找到支持该文件系统结构的软件(比如针对NT的NTFSDOS),利用他把密码文件清掉、或者是COPY出密码档案,用破解软件套字典来处理。前者时间短但所有用户信息丢失,后者时间长,但保全了所有用户信息。对UNIX系统,建议你一定先做一张应急盘。
二、数据备份介绍
虽然数据恢复技术可能将你的损失降到最低,但是,谁愿意在惶恐不安中,边祈祷边按下各类数据恢复软件的“Recover”按钮?也没有人喜欢面对满屏的16进制代码,带着侥幸的心理调整硬盘分区表Data区的信息;所以,最好的数据保全方法应该是防患于未然——备份!
虽然,备份可以说是一种悲观的做法,可一旦不可预见的问题发生,备份下来的资料也许是你唯一的救命稻草。
1、么东西最该备份
决定如何备份前,应先考虑备份什么。硬盘里有三种东西:数据、应用程序和操作系统。你可备份硬盘中的所有东西,也可只备份数据。进行完整的备份是最简单的方法,至少从恢复的角度看是这样。如果整个硬盘完全损坏,你不需要从头重装操作系统和应用程序;而是很快就可恢复运行。但是反过来,进行完整备份花的时间更长,要用到更多带有大容量存储空间的移动设备——即所谓外挂驱动器,如CD-R或Zip驱动器。另一个方法是只备份最重要的东西:数据。你不能很轻易地替换文档、工作表或数据库。备份所有数据的最简单的方法是把所有数据保存到一个地方。你还应备份其它的重要文件,比如那些含有你所有设置的文件,包括浏览器的书签(收藏夹)、cookie(含有密码)、地址簿、配置设置、数据项与报告表、模板、宏等。Windows2000把这些文件都放到一个名叫“Documents And Settings”的新文件夹中,所以找起来很方便。该文件夹中不仅包括MyDocuments文件夹,还包括了部分关于配置设置、收藏夹和cookie的注册表信息。在Windows95或98中,这些文件分布在多个Windows文件夹中,因此必须备份所有文件夹,以防遗漏。
2、备份到哪里
对于一般的个人用户,你当然可以将数据备份在本地硬盘的其它分区中;但如果不是实在别无选择,请不要以为将重要数据备份到本地硬盘的其它分区上就是安全的,各种意外错误或是病毒、木马都很容易将你的整个硬盘数据毁于一旦。所以,我们的建议是将重要数据备份到本地硬盘以外的其它设备,如插拔式外部存储设备(如Zip、Jaz驱动器或USB/1394接口的活动硬盘)等、CD-R/RW或者网络上的其它硬盘。
硬盘数据恢复实例全解 之一

硬盘数据恢复实例全解 之一
难道在硬盘数据由于各种原因被破坏后,我们就只能自怨自艾?
 这篇实例全解,就是希望在不幸的情况发生的时候,读者能够快速找到对应的解决方案,不至于让自己辛勤劳动成果白费。
当然,我们最大的期望还是——你永远不要用到下面的方法!因为再完备的事后解决方案,也不能保证所有数据的完好无缺。而要真正做到万无一失,更重要的工作还在于防患于未然。
文件被删除
一、症状
这可能是最简单同时也是最常见的数据损坏,直接的表述就是一般删除文件后清空了回收站,或按住Shift键删除,要不然就是在“回收站”的“属性”中勾选了“删除时不将文件移入回收站,而是彻底删除”。
二、解决方案
既然是最常见的数据损坏,当然也就是最容易恢复的,下面就根据不同的操作系统给出相应的解决方案。
1.Win9x/Me下的解决方案
也就是FAT16/32分区下的文件误删除恢复,这应该是大部分恢复类软件的基本功能;而我们拿来作例子的软件Recover4all,所提供的功能仅为在Win9x/Me下恢复被误删除的文件——其实很多东西并不是一味求大求全就好,够用已足够,简单就是美。
废话少说,我们需要先从Recover4all的主站点(http://www.recover4all.com)下载R4a.exe,这是一个自解压文件,你可以把其中的文件解压到软盘或硬盘的一个目录下(默认就是解压到软盘)。运行其中的rec4all.exe,会看见一个注册窗口,点击其中“Tostar the progamclick”的按钮就能够进行试用(未注册版本只能恢复10KB以内的文件)。程序的主窗口下图所示,这是一个类似于“资源管理器”的窗口;你可以通过点击主菜单下方的盘符按钮来扫描相应分区下的被删除文件,然后在右边的窗口中选择需要恢复的文件,再点击主菜单下方的“Recover”按钮,并在新弹出的窗口中选择恢复文件的存放位置即可——Win9x/Me下的误删除文件恢复就这么简单。
硬盘数据恢复实例全解 之二

2.WinNT/2000下的解决方案
说法,也就是如何恢复在NTFS分区下被误删除的文件。对于这种相对简单的需求,File Scavenger(http://www.quetek.com/)完全就可以胜任。当然,FileScavenger是很具有针对性的——它只能在WinNT/2000系统下使用(同时必须以Administrator用户登录系统),而且只对NTFS格式的分区有效。不过它支持压缩过的NTFS分区或文件夹中文件的恢复,并对格式化过的NTFS分区中的文件也有效(注意:FileScavenger只可以对格式化过的分区中的文件进行恢复,并不能恢复整个被格式化过的分区)。
FileScavenger目前有两种版本:硬盘安装版和软盘版(其下载的地址分别为:http://www.quetek.com/32fs140.exehttp://www.quetek.com/32fs140f.exe)。硬盘版的安装和一般软件类似,唯一需要注意的是——使用FileScavenger恢复文件的最安全方法就是在文件已经被删除之后安装FileScavenger(当然你不要将软件安装在删除文件所在的分区)。因为FileScavenger的功能比较单一,其执行文件加上所需的库文件一张1.44MB的软盘也可以装下,所以软盘版也许是大家使用得比较多的(你要把软盘版直接放在硬盘的一个目录下也照常可以使用)。下面的实例,我们就用软盘版来说明。
一个非重要的文件Veryimportant.txt被误删除且清空了回收站;还好,你看过本篇“实例分析”而且也在软盘或硬盘上准备好了FileScavenger。OK,现在你运行其中的filescav.exe,你将会看见如下图的窗口。注意:其中的“搜索条件”可有多种格式(例如,*.doc、*、\data\*.txt等),根据你自己的需要填写最方便查找的;ExhaustiveSear复选框选择后会让你指定搜寻分区的簇大小以及搜索簇的范围,而指定之后FileScavenger会搜寻并显示所有存在的文件名称,不管是被删除的还是没有,因此没有特殊需要还是不用为好;在搜索结果窗口中可以通过点击“Filename”、“Size”、“Modified”等来为搜索结果排序,以方便寻找。
现在我们已经找到了Veryimportant.txt,选择它并点击“Recover”按钮,如果文件能够被恢复,你就可以在先前指定的恢复文件存储路径中找到它(如果你是第一次使用FileScavenger,之前还会有一个窗口提醒你注册,如果不注册,你将只能恢复4KB以内的文件)。现在,还有什么可担心的?
三、不可恢复的情况

如果文件在删除之后,其存储的磁盘空间进行过写操作,那在通常情况下恢复的几率为0。因此,误删除文件可以恢复的重要前提就是不要在删除文件所在的分区进行写操作。
病毒破坏  
一、症状
  现在使用电脑的人基本都是谈“毒”色变,病毒带来的数据破坏往往不可预见(包括分区表破坏、数据覆盖等;例如CIH病毒破坏的硬盘,其分区表已被彻底改写,用A盘启动也无法找到硬盘),由此病毒破坏硬盘数据的症状也不好描述,基本上大部分的数据损坏情况都有可能是病毒引起的,所以最稳妥的方法还是安装一个优秀的病毒防火墙。
硬盘数据恢复实例全解 之三
二、解决方案
由于病毒破坏硬盘数据的方法各异,恢复的方案就需要对症下药。这里就以常见的CIH为例,因为它最普遍,也最容易判断(一般是在4月26日发作)。
当用户的硬盘数据一旦被CIH病毒破坏后,使用KV3000的F10功能,可修复的程度如下:
1.C盘容量为2.1G以上, 原FAT表是32位的,C分区的修复率为98%,D、E、F等分区的修复率为99%,配合手工C、D、E、F等分区的修复率为100%。
2.硬盘容量为2.1G以下,原FAT表是16位的,C分区的修复率为0%,D、E、F等分区的修复率为99%,配合手工D、E、F盘的修复率为100%。
因为原C盘是16位的短FAT表,所以C盘的FAT表和根目录下的文件目录都被CIH病毒乱码覆盖了。KV3000可以把C盘找回来,虽然根目录的文件名字已被病毒乱码覆盖看不到了,但文件的内容影像还存储在C盘内的某些扇区上。推荐用KV3000找回C盘,再用文件修复软件TIRAMISU.EXE可将C盘内的部分文件影像找回来(需要了解这个软件的朋友可以访问Ontrack公司的主页http://www.ontrack.com……是不是在这个网站上找不到有关TIRAMISU的内容?呵呵,其实现在TIRAMISU已经被整合到Ontrack公司的旗舰产品——EasyRecovery中。相关的详细介绍可以参照本文的下一部分“分区表破坏”),如果原存放文件影像的簇是相连的,找回的文件就完整无损。
 但对于FAT16的C盘是不是中了CIH就没救呢?你还是可以尝试一下FIXMBR(ftp://www.newhua.com/fixmbr102a.zip),它可以通过全盘搜索,决定硬盘分区,并重新构造主引导扇区。由于软件只修改主引导扇区记录,对其它扇区不进行写操作,故一般不会带来不安全目录(如果修复得不理想,请DiskEdit等工具进行手工修复)。注意:FIXMBR是一个比较老的程序,对WinNT、Linux以及FAT32考虑得不多.
三、不可恢复的情况
  由于病毒破坏硬盘的方式实在太多,而且大部分破坏都无法用一般软件轻易恢复(如果你喜欢使用DiskEdit等磁盘扇区编辑工具,对某些情况还有一线希望),所以……遇到病毒破坏硬盘的情况你就祈祷吧(由此看来,安装一个优秀的病毒防火墙绝对是有必要的)!
分区表破坏
“天有不测风云,人有旦夕祸福”,这句话可真没有说错,在用电脑的几年时间内,分区表破坏的情形也经历了好几次。想起当初的手足无措,到后来的才敢下手,一直到现在还是战战兢兢,不过所谓的“愚者千虑,必有一得”,经过这么长时间的折磨,也终于给我摸出来一丝门路,不敢独享,希望和遇到有困境的朋友们共享,也希望大家和我多交流(E-mail:clinuxer@yeah.net)……
一、破坏原因及恢复可行性分析
分区表破坏,可能是数据损坏中除了物理损坏之外最严重的一种灾难性破坏。究其原因,不外乎以下几种:
1.个人误操作删除分区,只要没有进行其它的操作完全可以恢复。
2.安装多系统引导软件或者采用第三方分区工具,有恢复的可能性。
3.病毒破坏,可以部分或者全部恢复。
4.利用Ghost克隆分区/硬盘破坏,只可以部分恢复或者不能恢复(用Ghost的朋友要小心了)。
硬盘数据恢复实例全解 之四

二、两点建议
据国外的一个专业数据修复公司调查,数据损坏以后很大程度上是可以恢复的,之所以有很多不能恢复的实例存在,90%以上是由于用户在后来的恢复过程中有误操作,从而造成了更大的破坏。所以希望朋友们牢记以下两点:
1.在硬盘数据出现丢失后,请立即关机,不要再对硬盘进行任何写操作,那样会增大修复的难度,也影响到修复的成功率.
你的每一步操作都应该是可逆的(就像Norton DiskDoctor中的Undo功能)或者对故障硬盘是只读的(大名大名鼎鼎的EasyRecovery和Lost&Found都是这种工作原理)。
三、解决方案
 这个软件包含在NortonUtility系列工具中,功能十分强大,可以恢复分区记录、FAT表,需要注意的是它对硬盘的操作不是只读的,因此你需要每一步都做好Undo文件,这样即使误操作也可以恢复,NortonDisk Doctor配合DiskEdit在分区表不能恢复时也可以恢复部分文件,可惜Norton DiskDoctor不支持NTFS分区,这不能不说是它的一大遗憾之处……
最专业的数据恢复公司出的软件,当然很有专业风范,EasyRecovery支持的文件系统格式很多FAT、NTFS都支持,并且有专门的ForNovell版本。EasyRecovery对于分区破坏和硬盘意外被格式化都可安全的恢复,你所要做的就是将数据损坏硬盘挂到另外一台电脑上,尽情恢复就是了,不过EasyRecovery对于中文的文件名和目录名效果不是很好(一些乱码,但文章内容绝对是正确的)。由出品PartitionMagic的PowerQuest公司所出的,硬盘资料复原工具。它是一套恢复硬盘因病毒感染,意外格式化等因素所导致的资料损失工具软件,能将已删除的文件资料找出并恢复,也能找出已重新格式化的硬盘、被破坏的FAT分配表、启动扇区等等,几乎能找出及发现任何在硬盘上的资料(支持FAT16和FAT32及长文件名)。恢复回来的资料能选择在原来所在位置恢复或保存到其它可写入资料的硬盘,也提供了自动备份目录、文件和系统配置文件的功能,能在任何时间恢复)。要注意的一点是,尽量用一个很大的硬盘来装恢复的数据(最好挂双硬盘),如果目标盘的容量小于源盘的容量,下场会很惨!不过Lost&Found却是基于DOS的一种软件,这在“瘟到死”横行的今天,市场只有越来越小
四、实战操作
硬盘数据恢复实例全解 
 我的硬盘为IBM 9.44GB硬盘,分区情况如下:
 一天被朋友用Win2000自带的磁盘管理工具将所有分区完全删除,并且删除之后没有进行任何操作。恢复工具的选择上,因为四个分区三个是FAT16,一个是NTFS,我决定首先用NortonDisk Doctor恢复三个FAT16分区,不过由于Norton DiskDoctor不支持NTFS,故采用支持NTFS的EasyRecovery。
 1.FAT分区的恢复
打开Norton Utility中的Norton DiskDoctor,NDD会自动为你检测硬盘分区情况,当检测到测盘2的分区表有问题时,跳出一个提示窗口,询问是否在访问磁盘2的过程中遇到麻烦,按下“Yes”按钮。
  接下来的弹出窗口中提示Norton Disk Doctor没有在磁盘2上发现任何DOS分区,是否要Norton DiskDoctor搜索并重建DOS分区,当然选择“Yes”(是)。
很快又一个“PartitionSearch”(分区搜索窗口)弹出,提示找到一个2039MB的DOS分区,是不是要恢复,当然是“Yes”。
在接下来的询问是否搜索更多的DOS分区窗口中选择“Yes”,又发现一个DOS分区,一直回答“Yes”直到Norton DiskDoctor找到3个DOS分区,由于NTFS分区Norton DiskDoctor不支持,所以在找到3个分区后,如果磁盘搜索程序询问你是否搜索更多的DOS分区时,选择“No”,重新启动计算机,发现丢失的三个FAT分区完全恢复,并且WinMe仍可正常启动。
2.NTFS的恢复
NTFS分区的恢复我们是使用EasyRecovery来实现的,打开EasyRecovery,按下“Next”(下一步)进入磁盘选择窗口,选中我的IBM-DTTA-351010下的“UnknownFile System Type(4.43GB)”,按下“Next”。
在接下来的窗口中你可以设置该分区的起始扇区号(Start Sector)和中止扇区号(EndSector),不用管它,按下“Next”继续。
现在到了选择分区文件格式窗口,在“File systemType”的下拉式菜单中选择“NTFS”(我这里的分区格式是NTFS,你应该选择和你的条件相符的,如果实在不知道分区格式也可以选择“RAW”进行全盘搜索),搜索方式选择“TypicalScan”(特定搜索)就可以了,按下“Next”/“Next”。
硬盘一阵轰隆隆的狂响之后,搜索结果终于出现在我们面前,将你需要恢复的文件前面打上钩,然后在下边的Destination中输入你恢复文件的目的路径,按下“Next”恢复吧……
3.分区格式化的恢复
分区格式化之后,只要其中没有写入任何文件,理论上我们仍然可以恢复。工具吗?当然还是EasyRecovery了,不过需要说明一点的是:由于格式化程序将根目录完全破坏所以用EasyRecovery恢复以后,你会看到一些DIR0、DIR1等目录(不过目录中的文件名还是完整的)!  启动故障
我等电脑用家,如果某一天硬盘不能启动,轻则使你陷入手忙脚乱之中,重则丢失重要资料,我们这里从硬盘启动的整个历程来为你详解每个阶段可能出现的问题以及应该采取的措施,解决你的手足无措之苦……
硬盘数据恢复实例全解 之四
二、两点建议
据国外的一个专业数据修复公司调查,数据损坏以后很大程度上是可以恢复的,之所以有很多不能恢复的实例存在,90%以上是由于用户在后来的恢复过程中有误操作,从而造成了更大的破坏。所以希望朋友们牢记以下两点:
1.在硬盘数据出现丢失后,请立即关机,不要再对硬盘进行任何写操作,那样会增大修复的难度,也影响到修复的成功率.
你的每一步操作都应该是可逆的(就像Norton DiskDoctor中的Undo功能)或者对故障硬盘是只读的(大名大名鼎鼎的EasyRecovery和Lost&Found都是这种工作原理)。
三、解决方案
 这个软件包含在NortonUtility系列工具中,功能十分强大,可以恢复分区记录、FAT表,需要注意的是它对硬盘的操作不是只读的,因此你需要每一步都做好Undo文件,这样即使误操作也可以恢复,NortonDisk Doctor配合DiskEdit在分区表不能恢复时也可以恢复部分文件,可惜Norton DiskDoctor不支持NTFS分区,这不能不说是它的一大遗憾之处……
最专业的数据恢复公司出的软件,当然很有专业风范,EasyRecovery支持的文件系统格式很多FAT、NTFS都支持,并且有专门的ForNovell版本。EasyRecovery对于分区破坏和硬盘意外被格式化都可安全的恢复,你所要做的就是将数据损坏硬盘挂到另外一台电脑上,尽情恢复就是了,不过EasyRecovery对于中文的文件名和目录名效果不是很好(一些乱码,但文章内容绝对是正确的)。由出品PartitionMagic的PowerQuest公司所出的,硬盘资料复原工具。它是一套恢复硬盘因病毒感染,意外格式化等因素所导致的资料损失工具软件,能将已删除的文件资料找出并恢复,也能找出已重新格式化的硬盘、被破坏的FAT分配表、启动扇区等等,几乎能找出及发现任何在硬盘上的资料(支持FAT16和FAT32及长文件名)。恢复回来的资料能选择在原来所在位置恢复或保存到其它可写入资料的硬盘,也提供了自动备份目录、文件和系统配置文件的功能,能在任何时间恢复)。要注意的一点是,尽量用一个很大的硬盘来装恢复的数据(最好挂双硬盘),如果目标盘的容量小于源盘的容量,下场会很惨!不过Lost&Found却是基于DOS的一种软件,这在“瘟到死”横行的今天,市场只有越来越小!
四、<B>实战操作

硬盘数据恢复实例全解 
 我的硬盘为IBM 9.44GB硬盘,分区情况如下:
 一天被朋友用Win2000自带的磁盘管理工具将所有分区完全删除,并且删除之后没有进行任何操作。恢复工具的选择上,因为四个分区三个是FAT16,一个是NTFS,我决定首先用NortonDisk Doctor恢复三个FAT16分区,不过由于Norton DiskDoctor不支持NTFS,故采用支持NTFS的EasyRecovery。
 1.FAT分区的恢复
打开Norton Utility中的Norton DiskDoctor,NDD会自动为你检测硬盘分区情况,当检测到测盘2的分区表有问题时,跳出一个提示窗口,询问是否在访问磁盘2的过程中遇到麻烦,按下“Yes”按钮。
  接下来的弹出窗口中提示Norton Disk Doctor没有在磁盘2上发现任何DOS分区,是否要Norton DiskDoctor搜索并重建DOS分区,当然选择“Yes”(是)。
很快又一个“PartitionSearch”(分区搜索窗口)弹出,提示找到一个2039MB的DOS分区,是不是要恢复,当然是“Yes”。
在接下来的询问是否搜索更多的DOS分区窗口中选择“Yes”,又发现一个DOS分区,一直回答“Yes”直到Norton DiskDoctor找到3个DOS分区,由于NTFS分区Norton DiskDoctor不支持,所以在找到3个分区后,如果磁盘搜索程序询问你是否搜索更多的DOS分区时,选择“No”,重新启动计算机,发现丢失的三个FAT分区完全恢复,并且WinMe仍可正常启动。
2.NTFS的恢复
NTFS分区的恢复我们是使用EasyRecovery来实现的,打开EasyRecovery,按下“Next”(下一步)进入磁盘选择窗口,选中我的IBM-DTTA-351010下的“UnknownFile System Type(4.43GB)”,按下“Next”。
在接下来的窗口中你可以设置该分区的起始扇区号(Start Sector)和中止扇区号(EndSector),不用管它,按下“Next”继续。
现在到了选择分区文件格式窗口,在“File systemType”的下拉式菜单中选择“NTFS”(我这里的分区格式是NTFS,你应该选择和你的条件相符的,如果实在不知道分区格式也可以选择“RAW”进行全盘搜索),搜索方式选择“TypicalScan”(特定搜索)就可以了,按下“Next”/“Next”。
硬盘一阵轰隆隆的狂响之后,搜索结果终于出现在我们面前,将你需要恢复的文件前面打上钩,然后在下边的Destination中输入你恢复文件的目的路径,按下“Next”恢复吧……
3.分区格式化的恢复
分区格式化之后,只要其中没有写入任何文件,理论上我们仍然可以恢复。工具吗?当然还是EasyRecovery了,不过需要说明一点的是:由于格式化程序将根目录完全破坏所以用EasyRecovery恢复以后,你会看到一些DIR0、DIR1等目录(不过目录中的文件名还是完整的)!  启动故障
我等电脑用家,如果某一天硬盘不能启动,轻则使你陷入手忙脚乱之中,重则丢失重要资料,我们这里从硬盘启动的整个历程来为你详解每个阶段可能出现的问题以及应该采取的措施,解决你的手足无措之苦……
硬盘数据恢复实例全解 之七

四、出错信息:主机加点自检,自检完毕,硬盘指示灯闪亮,屏幕出现:“Operting system notfound”错误信息,硬盘启动失败。用软盘启动成功,试图进故硬盘时,出现:“Invalid driveSpecification”错误信息。
 故障分析:用Norton DiskEdit看磁盘的物理0扇区,发现分区结束标志55AA被破坏。
 解决方案:这种问题我们也利用NDD来加以修复,如果你没有NDD,也可以采用相应的磁盘编辑工具,直接将物理0扇区的最后两个字符改为16进制的55AA就可以了。
五、出错信息:开机屏幕显示“Operting system notfound”,用Win98启动以后有三条出错信息,在DOS下不能看到任何分区,用DiskEdit查看主引导扇区,发现已经被完全破坏。
故障分析:这种问题应该是分区表被严重破坏的表现,可能是病毒或者人为的误操作(比如使用Ghost恢复分区时选择了错误的选项)。
解决方案:参照前面我们介绍的“分区表破坏”来进行恢复。
六、出错信息:开机后屏幕上出现“Error loading operating system”或“Missingoperating system”或者是“Disk I/O Error Replace the disk then press anykey”的提示信息。
 故障分析:造成该故障的原因一般是DOS引导记录出现错误。DOS引导记录位于逻辑0扇区,是由高级格式化命令Format生成的。主引导程序在检查分区表正确之后,根据分区表中指出的活动分区的起始地址,读DOS引导记录,若连续读五次都失败,则给出“Errorloading opeartingsystem”的错误提示,若能正确读出DOS引导记录,主引导程序则会将DOS引导记录送入内存0:7C00h处,然后检查DOS引导记录的最后两个字节是否为55AAH,若不是这两个字节,则给出“Missingoperation system”的提示。
解决方案:对于以上这些问题都可以使用NDD来解决,不过根据不同的出错提示还有不同的解决方案:
 1.出错提示为“Invalid system disk,Replace the disk, and then pressanykey”。这种情况一般是因为系统引导文件IO.sys被删除或者损坏,可以用“sys A:C:”将系统引导文件传送到C:盘。
 2.“Error loadingsystem”错误提示。这种提示说明分区表中标明的活动分区的起始位置错误或者DOS引导记录出错,只能用NDD修复。
 3.“Missing operatingsystem”出错提示。用DiskEdit编辑相应活动分区的引导区,并将最后分区结束标志改成55AA。

硬盘数据恢复实例全解
对于以上几种出错信息,如果你的数据不是很重要,也可以考虑用Format来解决问题,不过我们强烈建议你采用NDD来修复,这样如果你改错了,还有后悔的余地(Undo),这也是我们前面告诫大家用NDD一定要做Undo的原因之所在。
七、出错提示:机器加电自检以后可以出现“Starting MS DOS…”的提示符,但是最后却出现了“Bad ormissing command interpret”这样的出错提示。
 故障分析:出现这种问题应该在DOS引导的后期,IO.SYS处理完MS.SYS后,要装入命令解释器Command.com却找不到。
 解决方案:很简单,软盘启动以后,将软盘上的Command.com拷贝到C:盘的根目录下。
数据恢复与软故障处理基本指南 第一篇

第一篇、广义的数据恢复
长期以来计算机领域数据恢复似乎缺乏一个把握全貌的,如果说给出一个比较能把握全貌的说法,我们首先应当给计算机数据一个广义的概念,某些人觉得只有类似文本文件、数据库中的记录或表这样的东西才是数据,其实从广义上说,任何位于计算机存储介质上的信息都是数据,无论是哪种介质,也无论是具体作用,他们都是数据。与这种概念对应,任何使这些信息发生非主观意愿之外的变化都可视为破坏。那么数据恢复是就是一个把异常数据还原为正常数据的过程。
一、对数据的潜在威胁
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 、SEC1,由代码区和数据区构成。其中代码区是一端标准的程序,完成 BIOS自举到OSBOOT之间的工作,为OS启动做最后的准备。标准代码区可以由FDISK/MBR重建,但对于多系统引导的不标准MBR,将被这一操作破坏。MBR的数据区记录了分区情况。
系统扇区:CYL 0、SIDE 0 、SEC 1-CYL 0、SIDE 0 、SEC 63,共62个扇区引导区又称BOOT区:CYL0、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软件可以在著名的NortonUtilities软件包中找到。最新的DISKEDIT出现在NU4中。
NDD:常见的FAT文件结构磁盘修复工具,就是著名的NORTON磁盘医生,可以自动修复分区丢失等情况,可以抢救软盘坏区中的数据,强制读出后搬移到其他空白扇区。希望大家不要再使用NORTONFOR DOS7或8的NDD,这个版本由于不支持大分区、FAT32、长文件名等技术,会给你带来大量的麻烦。建议大家使用NortonUtilities4或更高版本中的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.5FOR 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=0000DS=126C ES=126C SS=126C CS=126C IP=010E NV UP EI PL NZ NA PONC
这里用了I/O中断13,涉及的寄存器含义为ah,操作方式,02H为读,03H为写,al送扇区数,bx送准备装入扇区的内存偏移地址,cx送从哪一道哪一扇区开始,我们一般依靠改换CX来读写不同逻辑盘某个逻辑扇区。dx送盘符和头数INT 3是断点中断,使程序运行到此停止。
②显示引导区内容:我们把扇区读到某个内存地址并不是目的。而是为了看到他的内容,在DEBUG中D命令可以方便的查看内存单元的内容。续前例,如果我们要看到主引导区的内容的话,既然装载到300。-d300l200就可以查看了,一个引导区的映象类似如下,可以直观的看 到我们前面所提到的代码区和数据区。是否正常请大家自行分析一下
126C:0300 33 C0 8E D0 BC 00 7C FB-50 07 50 1F FC BE 1B 7C3.....|.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 8B8,|.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 74A..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 F4V3.VVRP.SQ...V..
126C:03F0 50 52 B8 00 42 8A 56 24-CD 13 5A 58 8D 64 10 72PR..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 nvalidpartition
126C:0420 20 74 61 62 6C 65 00 45-72 72 6F 72 20 6C 6F 61table.Error loa
126C:0430 64 69 6E 67 20 6F 70 65-72 61 74 69 6E 67 20 73 dingoperating s
126C:0440 79 73 74 65 6D 00 4D 69-73 73 69 6E 67 20 6F 70ystem.Missing op
126C:0450 65 72 61 74 69 6E 67 20-73 79 73 74 65 6D 00 00 eratingsystem..
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。因此-e4c37再比如说,假定我们想把无效的分区表清零,那么,我们应当用另一个命令F,这个命令可以用填充一个内存地址范围。清零分区表的操作就是-f4be4ff 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做则要写一段子程序,不过程序的主要技巧就是利用int25绝对磁盘读中断读出的内容,而用int 26绝对磁盘写做内容写入。
5、数据可恢复的前提
有人觉得这个题目说法比较奇特,但数据恢复,作为一个数据再现的过程,一定要解决两个问题,第一是从哪里恢复的问题,第二是怎么恢复的问题。解决了这两个问题,我们事实上就把握了数据恢复的全部思想脉络。而这一部分就是从哪里恢复的问题。
①、有效而及时的备份中是数据恢复最可靠的来源,在许多人倡导备份到秒的今天,恐怕不会有人怀疑这点。而有些备份机制则是系统内建的,比如两份FAT表。
②、数据的实际有效性的判定是关键,对我们来说,硬盘无法自举、文件找不到、文件打不开等现象,其实并不与数据丢失画等号。因为此时往往数据只是从操作系统的角度是一种逻辑丢失,而从物理扇区意义上,它仍然存在或部分存在。最明显的就是文件删除的例子,事实上,这只是把文件首字节,改为0E而已。而此时文件体依然存在。
③、数据损坏过程的可逆性分析:对数据的改变无非两种,取代和变换,前者是不可逆的,而后者则是可逆的。我们以杀毒为例,对于大多文件性病毒来说,那些以附加而非代换方式感染的文件型病毒,理想的杀毒过程就是感染的逆过程。这种分析也常见与重要信息被隐藏搬移或者被加密的情况,但分析将比较复杂。
④、数据本身是否是标准信息:有些信息实际是通用或局部通用的,你无须考虑如何从本机抢救。只要相同或相近的系统版本就可以了,比如BOOT区、隐含扇区、WINDOWS的DLL文件等等。典型的例子如分区表的代码区,这是一段标准代码,事实上,它就放在你的FDISK程序里面,你可以用DEBUG把他提取出来。
⑤、数据本身是否可以由其他信息统计再生:有些信息尽管丢失了,也没有备份。但它实际可以从其他数据中间接求得。最典型的就是主分区表中的分区信息,即使你把他清零也不必害怕,因为你可以从你几个分区中计算再生。
⑥、破坏的完成程度:事实上,FDISK、FORMAT都不会彻底破坏数据,一般只有低格和扇区覆盖操作才会彻底破坏数据。但有时,破坏过程或者误操作过程会因人工终止、死机等原因不能完成。最明显的就是CIH病毒的例子,由于CIH是以1024字节为单位覆盖扇区,这当然是不可逆过程,于是我们最初都认为,破坏是很难恢复的,除非人工终止。事实上,当病毒覆盖某些扇区时会与9X系统发生冲突,从而造成死机,使数据得到了保护。
离线sk_1314
发帖
*
今日发帖
最后登录
1970-01-01
只看该作者 沙发  发表于: 2009-09-20 11:34:02
详细,很全面,虽然有的地方不是蛮懂,但是我希望永远不要用到
离线ahyanglf
发帖
*
今日发帖
最后登录
1970-01-01
只看该作者 板凳  发表于: 2009-09-20 12:20:48
回 1楼(sk_1314) 的帖子
可以随便看看的
用到的都是专业的
离线痞子

发帖
95771
今日发帖
最后登录
2015-08-04
只看该作者 地板  发表于: 2009-09-20 14:23:36
好详细的说啊,可是专业性太强
离线quen2008
发帖
*
今日发帖
最后登录
1970-01-01
只看该作者 地下室  发表于: 2009-09-20 15:29:42
数据恢复涉及面也很广啊,千万不要对需要恢复的扇区进行数据覆盖了