恢复实例9. 一个RAID0的案例
先说说RAID0的读写方式:RAID0就是把2个硬盘串起来,让系统看到的硬盘/分区的容量是2块硬盘的容量和,并且提高读写速度。一般阵列可以从单个硬盘的物理0扇区开始,也可以重物理硬盘的某个扇区开始,在本帖中将阵列的位置标为S1,S2。阵列是以块为单位进行读写的,一般每个块是64K,本帖中把块标志为B。块的意思是在每个硬盘上的存取单位,比如系统要写256K数据到阵列中,阵列把0-64K数据写到第一个硬盘,64-128K写到第二个硬盘,128-192K写到第一个硬盘,192-256K写到第二个硬盘。这样在硬盘上数据就是“条带“型的。决定一个RAID0的恢复,最重要的是3个参数,即阵列的在物理硬盘的起始位置,和块的大小,S1,S2,B。
一个朋友接到2个160G的串口硬盘,组成320G的阵列,其中一个硬盘摔了一下,阵列卡认不到这个硬盘了。阵列分7个区,都是NTFS,分别是10,10,60,60,60,60,60G。只要第3和第6个分区数据,视频文件。这位朋友用一些阵列恢复软件进行参数检查,没有发现明显的有效参数,遂找我看看。我只有一个80G硬盘(惨啊~)只能复制出这个阵列的前3个分区。80G的硬盘我创建2个均分的分区,然后把这2个阵列硬盘的前40G分别复制到这个80G硬盘的2个分区上,带回家恢复。下面说的阵列硬盘,其实已经对应到我镜像的分区,特此说明。
经过一个晚上的分析后,晕倒了。发现其中一个阵列硬盘肯定数据有问题。因为我根据第一个分区里面的MFT手工计算出来的文件存放位置的附近,没有找到匹配的文件,故断定一个硬盘部分数据乱了。
拼凑出来的S1=0,S2=1000,B=64K,用DataExplore能读出第一个和第2个分区,里面过半的文件能打开。但是在做第3个分区时,就不正确了。里面的视频文件无法定位到文件头。所以怀疑S1,S2应该有问题。就比对一下第3个分区的位置,发现在第一个物理硬盘上A扇区发现一个NTFS分区的DBR备份(是第2个分区的),在第二个物理硬盘的B扇区发现一个NTFS分区的DBR(是第3个分区的),我根据DBR里面的参数,知道DBR属于哪些分区。找到的DBR发现B-A=64。这正好是一个扩展分区间的间隔。遂怀疑这2个硬盘的阵列开始扇区是相同的。将S1=0,S2=0,B=64K,用DataExplore设置好了阵列后,用虚拟卷里一个个分区的推算出这3个分区的位置(具体的看2。一个快速计算分区方法),可以看到第三个分区,以NTFS文件系统虚拟加载第3个分区,发现里面的文件目录完好,导出的视频都可以播放,兴奋ing...朋友的招牌保住了^^
计算文件/分区的绝对物理位置时候,需要将该位置除以2,然后在2个阵列硬盘上分别寻找。因为数据是被平分到这2个阵列硬盘上的。
本案例花了我一天的时间,究其原因,是经验不足,以为先恢复出第一个分区的数据就也能恢复全部分区,没想到其中一个硬盘的数据乱了,在乱的数据上计算出来的参数,无法恢复出下一个分区。
不知道各位有没有碰到这样的情况,就是2个硬盘组成的阵列,在第一个分区和后面其他分区的阵列参数不相同?
////////////////////////////// 后来我试验了一个分区,花了几个钟头,把一个60G的NTFS分区复制到另外一个硬盘上的NTFS分区(类型ghost),复制后重起,用浏览器就可以直接看到里面的文件.
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>
|