硬盘物理坏道严重数据恢复新技—— 影子技术摘要本文重点在于论述灾难数据恢复中的创新技术——影子技术。影子技术不同于传统的镜像技术,在整个数据恢复的过程中,影子技术是不需要创建镜像的,只是将读取过的区域在影子盘上建立相应的影子,下次读盘时将直接从影子盘上读取,减少了对源盘的读取次数,从而对读源盘起到了很好的保护。影子技术对源盘的读取范围也是非常灵活的,可以从任意的LBA值范围读取,这些都是创建镜像技术所无法比拟的。
关键字:Logical Block Address(LBA)、Data Compass(DC)、ShadowDisk
一. 背景来源
随着21世纪全球信息化的快速发展,计算机在商业和个人方面的应用得到了显著的增长,使得各种各样的电子信息,即,数据——已经成为了企业和个人的一项不可丢失的重要资产。如何确保数据存储的完整性、可用性、安全性便成为了一个日益突出的问题。
数据丢失的问题可以概括成两大类:逻辑问题和硬件问题。相对应的恢复分别称为逻辑恢复和硬件恢复。逻辑恢复通常又称为软恢复,也就是说不需要涉及到硬件修理的数据恢复,数据丢失的原因不是由硬件故障所引起的,如人为误格式化、误删除、误克隆、病毒破坏、分区丢失等,其表现形式为操作系统不能正常读,文件找不到或者是文件不能正常打开,分区不能找到、提示分区未格式化等。相应地,硬恢复包括涉及到硬件修理、由硬件损坏造成数据丢失的数据恢复,如磁盘划伤、磁道损坏、磁组损坏、电机损坏、电路板芯片及其它原器件烧坏等等,其具体的表现形式为系统不能正常认盘,常伴有磁组撞击的“喀嚓喀嚓”声等,或者是系统能够认盘,磁盘有坏道,造成系统不能正常读取数据,系统长时间无响应,卡死等现象。
硬盘的坏道也可以分为逻辑坏道和物理坏道两种。逻辑坏道又称为软坏道,一般是由于软件操作或者使用不当造成,这类问题是可以通过一搬的专业修复软件修复的。物理坏道通常由叫物理性坏道,表明硬盘磁道产生物理损伤,只有通过更改硬盘分区或者扇区的使用来解决。
针对一般性的磁盘逻辑问题、磁盘软坏道的问题,是很容易解决的,只须通过一般的数据恢复软件甚至是通过手工修改某些参数就都能够将丢失数据找回来。但是对于硬件问题来说,要想恢复数据是比较麻烦的。对磁头、电机、电路板的芯片的损坏,可以通过更换硬件设备器件来解决问题,使得系统能够正常认盘,从而恢复数据。但是对于硬盘有物理性坏道,即使系统能够正常认盘,但是在系统初始化时,容易造成系统长时间无响应、卡死,无法正常通过操作系统来读取磁盘数据。针对完整有效解决这类问题的有效手段基本上没有,目前数据恢复技术公司所采用的尝试解决方法都是进行强力复制、并创建镜像盘。但是,采用镜像技术会带来一些列意想不到的问题,带来更严重的后果,如下:
- 镜像技术不能有效解决所读取LBA范围,要么整个分区,要么整个硬盘建立镜像。
- 镜像技术不能有效解决从坏道上读取数据,长时间强制读取某一区域,容易造成硬盘磁头损伤,也容易造成源盘再次损坏。
- 镜像技术读盘时间长,有时长达几个小时,甚至整天的读取。长时间的读取更容易造成源盘的坏道增多。
- 镜像技术会过度耗费系统资源,不能进行其它操作。
- 镜像技术会使读取坏扇区时因反复读取激活硬盘增长性缺陷列表G-LIST,造成G-LIST表溢出,造成固件出错,硬盘不能再被认别。
为此,效率源科技推出的数据指南针就是一款专门针对完整解决这一系列问题的专业数据恢复工具。采用了不同于传统的磁盘镜像技术,而是创造性的提出了影子技术,该技术能够解决通过操作系统去读取磁盘要卡死或者不能正常读取磁盘的问题;解决从有物理损坏的磁盘上快速、高效恢复数据的问题;解决从有逻辑结构损坏的磁盘上恢复数据的问题;解决用户使用过于烦琐、操作复杂、不方便的一系列问题。使得数据指南针(Data Compass)能很好的应用于下列现象:
- 从有物理损坏的硬盘上恢复数据
- 从逻辑结构损坏的磁盘上恢复数据
- 从同时具有物理损坏和逻辑结构损坏的磁盘上恢复数据
二. 解决方案
为了有效解决操作系统直接读取故障盘(源盘)系统卡死的问题,减少占用系统资源的问题,采取不能让源盘直接同主机相连接,而是间接的通过数据指南针控制器相连接,从而避免了系统每次去扫描源盘长时间无响应、卡死的问题。整个解决问题的系统框架如下图所示:

总体系统框架图
从图中可以清楚的看到,源盘并不是直接和主机(个人PC机)相连接,而是直接同数据指南针控制器连接,数据指南针通过一根USB数据传输线和主机相连接。显然,从系统发来的读、写指令,都必须经过数据指南针控制器,数据指南针再根据这些指令要求,做出相应的特殊处理。
同时在整个架构中,还需要一块影子硬盘。影子硬盘是直接同主机相连接,充分利用系统的有效资源。在这里,影子盘的作用并不是直接作为源盘的镜像盘。它仅仅是由数据指南针控制器经过特殊算法处理,同源盘建立快速索引的影子数据。影子盘的容量选取也不象传统镜像技术那样,必须大于源盘,在这里,经过特定的算法处理,影子盘的容量是可以小于源盘容量。当然若有比源盘容量大的硬盘,我们建议还是使用比较大的影子盘。
三. 实现原理
从上面的解决方案中,可以清楚知道数据指南针控制器是整个系统的核心,所有的操作都必须和它直接相关,其实现原理的流程图如下所示:

一旦整个系统安装连接好并通电,开启读源盘后,Data Compass Console将会自动检查、获取源盘的有效参数。接着将影子磁盘进行初始化(这里要注意,影子盘的数据是要被初使化覆盖掉的,所以在选择影子盘时,请务必确认影子盘的数据无价值或扇区被清零过硬盘。),所谓的初始化影子盘,其实就是将影子盘做一定特定处理,化出一部分区域划作为索引区,一部分区域作为影子数据区域,则影子盘初始化后的结构和源盘的数据对应关系为下图所示:

影子盘中的索引区的每一个bit位的状态反映了对应源盘的一个LBA值的数据是否在已经影子数据区建立了对应的影子,也就是说源盘当前LBA值的数据是否已经成功读取,并在影子数据区中建立了一个影子——数据已经在影子数据区做了一个备份。影子盘初始化完成后,将在影子盘中划分出保留区域、索引块区域以及影子数据区域,同时将索引块区域中的所有字节全部清0。
将影子盘初始化并开启影子功能后,当上层应用(AP)发出读取源盘数据时,数据指南针控制器将根据AP发送来的请求,作出相应的特殊处理。首先根据上层传来的LBA值的范围,在影子盘的索引块中检查这些LBA值对应的状态进行判断。若当前LBA值对应的bit的状态为1,表示该LBA值的数据已经在影子磁盘的影子数据区中建立了相应的影子——备份,此时只需从影子数据区中读取对应LBA值的数据即可,不需要再从源盘中读取该LBA值的数据,从而减少了对源盘的读取次数,对源盘起到了有效的保护;若当前LBA值对应的bit位的状态为0,则表示当前LBA值所对应的数据还没有在影子盘中建立相应的影子,那么就此时就必须在源盘上读取该LBA值的数据。
读取源盘的结果有两钟可能,要么成功读取,要么读取失败。若读取源盘数据成功,则还需要将影子盘中的索引块中对应LBA值的bit位设置为1,同时将该LBA值的数据在影子盘中的影子数据区域中对应的位置建立影子,即,将该LBA值对应的数据做拷贝。这样,若下次再读取该LBA值的数据时,就只需要直接在影子盘中读取,而不必再读取源盘的数据了。若读取源盘数据失败,则系统在读取的流程上作出了可由用户参与的相应特殊处理。系统默认的执行流程上,设定了可重复读取的次数,若在规定的次数内能够成功读取,就执行读取成功流程,即修改影子盘索引块的对应LBA值的bit位状态,同时在影子数据区域对应位置建立影子;若在规定的次数内仍然读取失败,则就不再对读取,并将该LBA值对应的sector数据全部设为0x40存入缓冲区中,以达到欺骗系统目的,避免系统因为读取该sector失败自动执行磁盘扫描程序,然后继续读取下一个LBA值的数据,直到用户设定的整个LBA值全部读取。若在用户参与的情况下,设置为精确读取,数据指南针控制器则会改变磁头的物理特性,即,加大磁头的电流,进行强制读取,这种情况的成功率是很高,但是容易造成磁头的损坏,建议尽量少用。当然使用这种读取方式是已经清楚知道该位置的数据是非常重要的,就是用户实际要找回来的数据,在其它方式下不能获取数据时,也可以考虑使用该方式进行恢复数据。
从整个原理执行流程来看,影子技术是不同于传统的磁盘镜像技术,影子盘所起的作用不是简单地作为源盘的镜像盘,并不是将源盘的数据作一对一的强力复制到影子盘。传统的镜像技术并且只能是在镜像建立完成后,才能再对镜像盘进行数据恢复。但在这里,采用的影子技术是无须等到影子建立完成后再进行数据恢复,他们是同时进行的,并且影子技术不是直接从影子盘上进行数据恢复,而是直接对源盘上进行恢复,在恢复的时候,首先检查源盘的LBA值是否已经建立了影子,若已经建立了就直接从影子盘上读取数据,若是没有建立影子,则直接从源盘上读取数据,并根据读取的结果再判定是否建立影子。从传统的镜像技术的角度来看,镜像必须是完全建立成功后才能再恢复数据,并且对中间部分有坏道的LBA值的数据不能读出的处理是相当脆弱的,甚至影响到并不是坏道的数据恢复。采用影子技术就不会存在这种问题,对读取失败的LBA值并不建立影子,只是对该值的数据做了特殊处理,全部填充0x40用于欺骗系统不要进行自动扫描磁盘,避免系统读坏道卡死的问题。
使用影子技术的好处还在于操作极其方便、简单,可以让用户任意设定LBA的范围建立影子,若在一定的时间内摸没有建完,可以任意关闭程序,在下次有时间再操作时,对已经建立了影子的地方就是不会重新在建立影子了,直接读取数据,只会对没有建立影子的LBA值进行读取并创建影子。
四. 结束语
对于磁盘有坏道的数据恢复处理,采用影子技术的作用和优势是非常的明显的,不仅对源盘起到了良好的保护,而且恢复数据的效果非常好,执行效率非常高,操作极其简单、方便,无须用户做过多的参与。
参考文献
|