案例基本情况描述

用户的一块系统硬盘,容量80GB,分三个区:第一个分区装有操作系统;第二个和第三个分区是数据区,存有用户的重要数据。

因为一次系统故障,用户用一张光盘重新安装操作系统,安装完后发现不能启动,并且分区也丢失了。

把该硬盘接到另外一台计算机上,进入系统,打开磁盘管理,看到硬盘的状态为“动态 不可读取”,如图4-149中的“磁盘2”所示。

MBR磁盘误转换为动态磁盘的恢复实例-数据恢复迷

图4-149 硬盘的状态为“动态 不可读取”

数据丢失的原因分析

硬盘的状态成为“动态 不可读取”,自然就无法访问硬盘中的分区了,那么是什么原因使该硬盘变为“动态 不可读取”的状态呢?这可能是因为用户在重装系统时有误操作,或者系统安装光盘有问题,导致该硬盘MBR的分区表被改变,硬盘才会显示为“动态 不可读取”。

用WinHex打开这块硬盘,查看MBR,其内容如图4-150所示。

MBR磁盘误转换为动态磁盘的恢复实例-数据恢复迷

图4-150 MBR扇区的内容

MBR中的分区表果然发生了变化,目前只有一项分区表项,分区类型为动态分区的“42H”,分区开始于63号扇区,大小是硬盘63号扇区后的所有空间,即156 301 425扇区。分区表的模板如图4-151所示。

MBR磁盘误转换为动态磁盘的恢复实例-数据恢复迷

图4-151 分区表模板

数据恢复的思路及方法

找到了分区丢失的原因所在,下面开始动手恢复数据。

本案例恢复的过程中会利用文件系统中DBR扇区的结构和参数。有关文件系统的知识将在后面讲解,如果读者对文件系统不了解,可以先学习后面的章节,然后再返回来阅读该案例。

首先跳转到硬盘的63号扇区,看看是否有DBR。用WinHex跳转到63号扇区,其内容如图4-152所示。

MBR磁盘误转换为动态磁盘的恢复实例-数据恢复迷

图4-152 “磁盘2”的63号扇区

显然这是一个NTFS分区的DBR,其模板如图4-153所示。

MBR磁盘误转换为动态磁盘的恢复实例-数据恢复迷

图4-153 DBR的模板

从BPB参数中可以看出该分区大小为20 482 811扇区。因为是NTFS分区,所以填写分区表时,这个数值要加1,即分区大小为20 482 812个扇区。现在可以填写MBR中的第一个分区表项了。

打开MBR的模板,修改分区表第一项的内容,修改结果如图4-154所示。

MBR磁盘误转换为动态磁盘的恢复实例-数据恢复迷

图4-154 修改MBR分区表第一项

因为第一个分区装有操作系统,所以要激活,填写“80H”;C/H/S参数已经不起作用,可以随便填写;分区类型为NTFS,应填写“07H”;分区开始位置为63号扇区,分区大小为20 482 812扇区,依次填入后存盘,第一个分区修复完毕。

将第一个分区的开始位置63加上其大小20 482 812,结果为20 482 875,这应该是第二个分区的开始扇区号。跳转到此扇区,其内容如图4-155所示。

MBR磁盘误转换为动态磁盘的恢复实例-数据恢复迷

图4-155 “磁盘2”的20 482 875号扇区

从结构看这是一个EBR扇区,也就是该硬盘扩展分区的开始,分区表中有两个分区表项,其模板如图4-156所示。

因为该硬盘共三个区,所以在主扩展分区内会有两个驱动器,同时也能说明主扩展分区内只有一个子扩展分区,也就是图4-156中第二个分区表项所描述的分区。用这个分区表项的开始扇区号加上分区大小,就是主扩展分区的大小,即图4-156中①与②的和,结果为135 813 510扇区。这就确定了主扩展分区的开始扇区和大小,现在可以回到MBR中创建主扩展分区的表项。

MBR磁盘误转换为动态磁盘的恢复实例-数据恢复迷

图4-156 EBR的模板

在WinHex中跳转到MBR处,打开模板,填写分区表项,结果如图4-157所示。

MBR磁盘误转换为动态磁盘的恢复实例-数据恢复迷

图4-157 填写MBR分区表第二项

填写完后将结构存盘,重启计算机,看到硬盘的三个分区都出现了,数据完好无损。在磁盘管理中看该硬盘的分区结构如图4-158的“磁盘2”所示。

MBR磁盘误转换为动态磁盘的恢复实例-数据恢复迷

图4-158 “磁盘2”的三个分区恢复成功