案例基本情况描述

用户的一块非系统硬盘,容量300GB,作为第二块硬盘连接在计算机上专门存放重要数据。用户说该硬盘就一个分区,因一次复制数据的需要,将该硬盘从计算机中取下来接到别的计算机中,拿回来后再放回原计算机,结果分区就看不到原来的盘符了,硬盘中有二百多GB的数据,全部丢失。

现在把该硬盘接到一台数据恢复工作机上,进入系统,打开磁盘管理,看到硬盘的状态为“动态 脱机”,如图4-159中的“磁盘1”所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-159 “磁盘1”为“动态 脱机”

数据丢失的原因分析

硬盘的状态成为“动态 脱机”,自然就无法看到硬盘中的分区了。那么是什么原因使该硬盘变为“动态 脱机”的状态呢?如果该硬盘原来就是动态磁盘,那么有可能是因为用户把硬盘拔掉后又重新装回来,导致硬盘脱机。这在动态磁盘中比较常见,只要重新激活一下可能就完全好了。现在尝试重新激活一下该硬盘,在图4-159中左侧“磁盘1”的区域单击鼠标右键,选择“重新激活磁盘”,如图4-160所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-160 重新激活磁盘

可是鼠标单击“重新激活磁盘”后硬盘没有任何反应,既没有被成功激活,也没有出现错误提示信息,再做一次同样的操作,还是没有反应,看来情况不简单,还是用WinHex打开硬盘看看吧。

用WinHex打开硬盘后,看到MBR扇区的内容如图4-161所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-161 “磁盘1”的MBR扇区

MBR的分区表中确实有一项类型为“42H”的分区表项,分区开始于63号扇区,大小接近硬盘的所有空间。

接下来跳转到硬盘63号扇区看看有没有DBR,结果发现63号扇区不是DBR,如图4-162所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-162 “磁盘1”的63扇区

从图4-162中可以看到“磁盘1”的63扇区全部都是“FF”,往下又翻了一些扇区,结果又全都是“FF”,这不免让人担心该硬盘的数据可能被破坏得很严重。

既然63号扇区没有DBR,那么可以到硬盘末尾找找有没有DBR的备份。因为用户说该硬盘只有一个分区,这么大的分区应该使用NTFS文件系统,所以在分区最后一个扇区会有DBR扇区的备份。

如何找到这个DBR扇区的备份呢,可以用WinHex跳转到硬盘最后一个扇区,然后从下往上搜索DBR。因为DBR扇区的结束标志是“55 AA”,所以就通过搜索“55 AA”来找DBR的备份,搜索设置如图4-163所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-163 搜索设置

只用了1秒的时间,就在625 136 481号扇区找到了DBR备份,如图4-164所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-164 DBR备份

DBR中参数的模板如图4-165所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-165 DBR中参数的模板

从参数中可以看到分区的开始位置在63号扇区,大小为625 135 591扇区。看来硬盘确实只有一个分区,但63号扇区现在没有DBR,取而代之的全部都是“FF”。为什么用户只是把硬盘拿掉再接回去就能造成这么严重的破坏呢?

在暂时找不到原因的情况下,只能与用户进一步沟通,看用户还对硬盘做过什么。

用户是个外籍人士,他确信自己没做过别的操作,但在数据丢失之后曾经找过两家数据恢复公司做过恢复,都仅仅恢复了很小一部分数据,大部分的重要数据都没有恢复回来。

看来问题是比较严重了,既然有两家数据恢复公司已经做过恢复,那么常规的恢复方法肯定都使用过,如用软件扫描等,各种恢复软件一定都试过了,所以这里也就没有必要再拿数据恢复软件进行扫描,况且这么大的硬盘,完整扫描一遍至少需要几个小时的时间,太漫长了。

那么是不是就没有办法了呢?现在就轻言放弃还为时过早,虽然暂时没有找到数据丢失的原因,但可以进一步深入分析该硬盘的数据结构。

数据恢复的思路及方法

现在只能静下心来认真分析了。

刚才在找DBR备份时,发现硬盘的最后一个扇区是动态磁盘的私有头,说明这块硬盘有可能是作为动态磁盘使用的,那么就从动态磁盘的LDM入手分析吧。

因为动态磁盘的LDM数据库位于硬盘的最后1MB,为了便于分析,把这1MB的数据用WinHex单独截取出来。在后面对LDM的分析中,就以其开始位置为0扇区进行定位。

LDM数据库的第一个扇区全都是“00”,不用分析,第二个扇区就是目录表的开始,如图4-166所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-166 LDM的目录表

目录表的模板如图4-167所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-167 目录表的模板

WinHex本身并没有提供LDM数据库中各数据结构的模板,这需要读者自己根据对LDM数据结构的掌握写出这些模板。

从目录表中可以看出,LDM数据库的配置信息开始于17号扇区。为了进一步分析LDM,跳转到17号扇区,其内容如图4-168所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-168 LDM数据库的17号扇区

这个扇区是LDM数据库的配置信息,从其后的18号扇区开始就是LDM数据库的配置记录了,这是LDM结构中的核心部分,也是分析的重点。

跳转到18号扇区,其内容如图4-169所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-169 LDM的18号扇区

这个扇区中四条记录只有第一条有内容,这是一条磁盘的记录,其具体参数看模板,如图4-170所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-170 磁盘记录的模板

在磁盘的记录中需要重点关注的信息是“对象ID”和“名称”,它们分别为“1096”和“Disk1”。

再往后找下一条记录,找到了一条分区的记录,其内容如图4-171所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-171 分区的记录

其模板如图4-172所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-172 分区记录1的模板

从这个分区的记录中可以看出,其对象ID是1102,名称是“Disk1-01”,分区在磁盘中的起始位置是20 482 875号扇区,分区的大小为102 414 312扇区,该分区在卷中的偏移地址是0扇区,也就是说,卷从这个分区开始,难怪之前在硬盘的63号扇区找不到DBR了,原因原来在这里。其父对象也就是组件的ID是1100,磁盘对象ID是1096,说明这是“Disk1”上的一个分区。

继续往后找下一条记录,又找到了一条分区的记录,其内容如图4-173所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-173 分区的记录

其模板如图4-174所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-174 分区记录2的模板

从这个分区的记录中可以看出,其对象ID长度是1104,名称是“Disk1-02”,分区在磁盘中的起始位置是0扇区,分区的大小为20 482 048扇区,该分区在卷中的偏移地址是102 414 312扇区,也就是说,这个分区是卷的第二部分,显然这个卷是一个扩展卷了,其父对象也就是组件的ID是1100,磁盘对象ID是1096,说明这也是“Disk1”上的一个分区。

接着往后找下一条记录,找到了一条卷的记录,内容如图4-175所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-175 卷的记录

其模板如图4-176所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-176 卷记录的模板

从这个卷的记录中可以看出,其对象ID是1098,名称是“Volume1”,卷的大小是625 135 592扇区,分区类型为“07H”,说明是个NTFS分区,该卷在原计算机系统中的驱动器号为“F”。

还记得在DBR备份扇区中记录的分区总扇区数吗,是625 135 591扇区,比这里记录的值625 135 592小一个扇区,这正是NTFS文件系统的特征,少的那一个扇区备份DBR用了。

继续往后找下一条记录,又找到了一条分区的记录,内容如图4-177所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-177 分区的记录

其模板如图4-178所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-178 分区记录3的模板

从这个分区的记录中可以看出,其对象ID是1106,名称是“Disk1-03”,分区在磁盘中的起始位置是122 897 187扇区,分区的大小为502 239 232扇区,该分区在卷中的偏移地址是122 896 360扇区,也就是说,这个分区是卷的第三部分,其父对象也就是组件的ID是1100,磁盘对象ID是1096,说明这也是“Disk1”上的一个分区。

再往后找下一条记录,找到了一条组件的记录,内容如图4-179所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-179 组件的记录

其模板如图4-180所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-180 组件记录的模板

从这个组件的记录中可以看出,其对象ID是1100,名称是“Volume1-01”,子组件数量为3,说明这个组件由3个分区构成,其父对象也就是卷的ID是1098,这也是“Volume1”所包含的组件。

把上面分析的卷、组件、分区、磁盘的数据归纳到一起,其关系就一目了然了,如图4-181所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-181 卷、组件、分区、磁盘的数据

通过这些分析,最终可以得到如下结论:

卷“F”是个动态磁盘的扩展卷,由硬盘中的三个片段(也就是分区)串联起来的,第一个片段开始于动态磁盘的20 482 875号扇区,大小为102 414 312扇区;第二个片段开始于动态磁盘的0扇区,大小为20 482 048扇区;第三个片段开始于动态磁盘的122 897 187号扇区,大小为502 239 232扇区。

由于动态磁盘开始于物理硬盘的63号扇区,所以卷“F”的三个片段分别开始于物理硬盘的20 482 938号扇区、63号扇区和122 897 250号扇区。

卷“F”在动态磁盘上的结构可以用图4-182来表示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-182 卷“F”在动态磁盘上的结构图

卷的结构分析清楚了,也就知道用数据恢复软件扫描不出完整数据的原因了,那么现在该如何恢复卷中的数据呢?方法有很多种,这里利用R-studio做一个卷集,把这三部分按顺序串联到一起,就可以看到数据了。

R-studio是由R-TT软件技术公司(官方网站http://www.r-tt.com)开发的一款专业的数据恢复工具。打开R-studio软件,界面如图4-183所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-183 R-studio软件界面

这里首先需要按照上面分析好的三个片段,通过R-studio给这块硬盘创建三个对应的区域。

在待恢复硬盘上单击鼠标右键,然后选择“Create Region”命令,如图4-184所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-184 “Create Region”命令

在出现的对话框中输入卷“F”第一部分的开始扇区和大小,如图4-185所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-185 创建第一个区域

然后依照同样的方法创建第二个和第三个区域,如图4-186、图4-187所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷 动态磁盘扩展卷丢失的恢复实例-数据恢复迷
图4-186 创建第二个区域 图4-187 创建第三个区域

然后用R-studio创建一个虚拟卷集,如图4-188所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-188 创建一个虚拟卷集

将创建好的三个“区域”按照其在卷“F”中的顺序放入虚拟卷集中,如图4-189所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-189 将“区域”放入虚拟卷集

这时在虚拟卷集下面就出现了一个NTFS文件系统的“Direct Volume”,如图4-190所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-190 “Direct Volume”

现在只要用鼠标双击这个“Direct Volume”,就能看到数据了,如图4-191所示。

动态磁盘扩展卷丢失的恢复实例-数据恢复迷

图4-191 看到数据了

选中所有数据,看到R-studio底边栏显示数据总大小为255.91GB,文件数目为13 851个,将其全部复制到用户准备的硬盘中。到此为止数据全部恢复成功,非常完美。