《阵列Raid数据恢复》纯手工恢复Raid0与Raid10数据

  Raid恢复是数据恢复中比较难的一部分,为什么这样说呢?因为几乎所有数据恢复软件都不能准确分析出raid的读写顺序以及块大小,再简单的raid都是全部由人工分析得出的,所以这也导致了能真正恢复Raid的公司之少,恢复Raid价格之高的原因了,现在提供一份用WinHex纯手工恢复Raid0与Raid10数据。
   接下来我就来讲讲最简单的raid0的恢复(当然raid1更简单,这里就不作介绍了),其实raid0+1和raid0是一样的,把raid0+1看成两个一模一样的raid0就可以了.
  首先,我们要了解raid0的读写方式,了解了读写方式才能进一步分析raid,raid0的读写方式是交叉写入的,直观的说有点像"拉链",两个硬盘好比两边的拉链,各自分摊一半的数据,而且还是跳跃式的,等拉链拉上后就整个串到了一起,里面的数据结构就和普通硬盘里的数据没有区别了,我们可以从下图直观分析.


Disk-0      Disk -1

---------    ---------
|Stripe0 |   |Stripe1 |  
---------    ---------
|Stripe2 |   |Stripe3 |
---------    ---------
|Stripe4 |   |Stripe5 |
---------    ---------
|........|     |........|
---------    ---------

  我们可以看到数据stripe0写在disk-0上面,接下来的数据stripe1写在disk-1上面,后面的stripe2又写到disk-0上面.......
  我们所要做的就是按顺序读出stripe0 stripe1 stripe2 stripe3......但是关键的关键是怎么知道每个stripe是多少扇区,哪个硬盘又是disk-0呢,下面我就来具体举例分析。

1.jpg

  首先我们要下载一个数据恢复常用软件winhex,这个软件对于分析数据是非常有用的.而且网上到处都有下载,上图是用winhex打开两个raid0的硬盘后的数据,位置是0扇区,我们可以看到,左边有明显的硬盘起始数据,而右边那个盘则没有,这使得我们确定了.左边的硬盘就是disk-0

2.jpg

3.jpg

  上面第一张图是disk-0的63扇区,我们可以清楚的看到ntfs分区的 头,说明此raid0块(块的大小是按扇区分的,也就是写多少扇区后跳到下一块硬盘.那么多少扇区就是块的大小,块大小都是2的n次方,比如 8,16,32,64,128,256,512...)大小不是8,16,32,因为ntfs头还在disk-0的63扇区,第二张图是64扇区,紧接的 的是ntldr,这个数据应该是紧接ntfs首扇区后面的,这说明在扇区64时,还是没有跳到下一块硬盘.这又排除的块大小是64.

4.jpg

  上图是disk-0的扇区127和129,红线上面是127,下面是129,取的都是mft表,可以看出他们是连续的,没有大的差异.又排除了块大小是128的可能性

5.jpg

  上图是disk-0的扇区255和257,同样看出.他们还是连续的,排除块大小是256的可能性.

6.jpg


  上图是disk-0的扇区511和513,这个要注意的,红线上面显示的mft表位置和下面的mft表位置有着很明显的区别(当然要看出mft表区别,首先就要对mft表非常了解才行),这时我们就可以大致确定该raid0的块大小是512个扇区.
  知道了块大小是512扇区和起始盘是左边那个盘后.我们就可以开始利用winhex重组数据了.

7.jpg

  如上图,我们打开winhex中的"组合raid系统",1的位置加载起始盘,然后依次类推,因为我们这个raid0是从硬盘开头就开始写的,所以"扇区内标头大小"是"0",扇区内端大小也就是块大小,写上512,然后确定.

8.jpg

  至此Raid0与Raid10数据恢复完成,已经可以看到文件目录和文件了,点击右键就可以恢复数据了。
原文地址:https://www.cnblogs.com/top5/p/1585244.html