数据恢复者Rss 2.0
您当前位置:一盘数据 >> 技术文库 >> 故障案例 >> 浏览文章

R-Studio误分区后的恢复

时间:2009年04月27日 信息来源:51CTO.COM 点击:收藏此文 【字体:

R-Studio是一款功能比较强大的数据恢复软件,它的特点有如下几点:

1)支持FAT系列、NTFS系列、UFS系列、ExtX等文件系统。

2)参数设置非常灵活,使恢复人员可以根据不同的具体情况进行相应的设置,以最大可能地恢复数据。

3)支持远程恢复,可以通过网络恢复远程计算机中的数据。

4)支持分区丢失、格式化、误删除等情况下的数据恢复。

5)不只支持基本磁盘,还支持动态磁盘。

6)支持Raid恢复,可以恢复跨区卷、Raid0、Raid1及Raid5的数据。

R-Studio也可以象WinHex一样不依赖于磁盘主引导扇区的“55AA”有效签名标志对分区表进行识别并列举出各个分区。前面介绍Mhdd时曾经提到,当某个分区的引导扇区恰好处于坏道上,导致系统启动时因无法读取坏道上的信息而启动缓慢甚至无法进入系统时,可以使用Mhdd提供的“Switchmbr”命令清除主引导记录扇区的“55AA”标志,使操作系统将磁盘视为未初始化而不再检索其分区表,从而可以顺利地进入操作系统。然后,就可以利用R-Studio不依赖于“55AA”标志的特性恢复数据。

对于R-Studio的特性我们不再做更多的介绍,有兴趣的读者可以登陆www.tysjhf.com/qtzl/qt2/网站查看R-Studio帮助文件的译文。下面我们来使用它进行实际的恢复演示,读者对其有个基本的了解后,可以自行研究其强大的功能。

1.分区恢复

可以通过对整个磁盘的扫描,利用智能检索技术搜索到的数据来确定现存的和曾经存在过的分区以及它的文件系统格式。下面,我们以一个20GB容量的磁盘演示分区恢复的过程。

首先在磁盘上建立三个分区,并向其中拷入数据。运行R-Studio后,程序可以自动识别到硬盘,读取其分区表并列举出现存的分区。如图10.62所示。

R-Studio 主界面

我们用做实验的磁盘型号为IC25N020CSH201D2GACA20,R-Studio可以自动识别这个型号。选中该磁盘后,在右侧的窗口中会给出该磁盘的型号、在系统中的设备号以及容量等信息。

可以看到,该磁盘分为三个分区,第一个分区为FAT32文件系统,起始于31.5KB(63号扇区)的位置,大小为3.9GB;第二个分区为NTFS文件系统,起始于3.9GB的位置,大小为7.8GB;最后一个分区为FAT32文件系统,起始于11.7GB的位置,大小为6.9GB。双击列举出的一个逻辑磁盘,就可以遍历该文件系统并以目录树的形式显示其中的目录及文件。如图10.63所示,R-Studio列出了我们选择的第一个分区的数据。

R-Studio 第一个分区中的数据

第一个目录为元数据文件目录,其中存放的是文件系统的管理数据,对于FAT32来讲,就是DBR及FAT表。Root为根目录,单击Root后,可以在右侧的窗口中显示出根目录下所有的目录及文件。

接下来,我们将硬盘中的分区删除后重新建立了两个分区,以制造分区被破坏的现场。然后开始恢复。

步骤1 扫描磁盘。要找到原来的分区,需要对整个磁盘进行扫描。因此,必须选择界面中的物理磁盘进行操作,而不能选择一个逻辑分区。

在磁盘上右击,然后在弹出的菜单中单击Scan(扫描),如图10.64所示。

R-Studio 选择对磁盘进行扫描

单击Scan后会弹出扫描设置对话框,如图10.65所示。

R-Studio 扫描设置对话框

在扫描设置对话框中,可以设置扫描的起始位置和大小。程序默认从磁盘的起始位置开始对整个磁盘进行扫描。如果要寻找磁盘的所有分区,不需要改动Start和Size栏中的数值。如果只是想恢复某个分区的数据,并且知道该分区的大致起始位置及大小的话,可以在Start(起始)栏中输入扫描的起始位置,在Size栏中输入扫描的范围大小。输入数值时,如果以扇区为单位,需要在输入的数值后加“S”,以MB为单位则加“MB”,以GB为单位则加“GB”。

“File Systems”栏中为支持的文件系统类型,可以支持的类型有Linux的ExtX、Windows的FAT和NTFS、苹果机的HFS以及Unix的UFS文件系统。单击其后的向下箭头可以在下拉列表中选择想要寻找的文件系统类型。程序默认勾选所有的类型选项,应该根据实际情况只保留可能存在的文件系统类型,以降低计算机的负载并提高扫描速度。在我们的演示中,只有FAT及NTFS类型的文件系统,因此我们可以去掉其他的类型选项,只保留对这两种文件系统类型的勾选。

“Extra Search for Known File Types”选项默认被勾选,勾选此项时,程序在扫描的过程中会同时搜索已知文件类型的特征值,并在搜索结果中将搜索到的同类文件单独存放在一个目录中。单击其后的“Known File Types”按钮可以查看程序所支持的文件类型种类。不过,只有在文件系统破坏非常严重,文件的元数据信息全部丢失的情况下才需要使用这种恢复方式。为了提高搜索速度,不建议勾选此项。如果确实需要以这种方式恢复时,我们建议使用将在下一小节介绍的RAW恢复软件Recver My Files。

设置完毕并确认无误后,单击Scan按钮即开始扫描。如图10.66所示。

R-Studio 扫描进行中

扫描的时间长短根据磁盘容量的大小、接口、扫描设置以及计算机的运算速度不同而有所差异。

步骤2 查验扫描结果。扫描结束后,程序即列出所有可能存在的分区,并给出每个分区的起始位置和大小。单击某个分区后,右侧的窗口中即会给出该分区的逻辑参数,如每FAT项大小、簇大小、根目录起始簇、FAT1的起始位置及每FAT表的大小等。如图10.67所示。

R-Studio 扫描结束

从图中可以看到,程序共搜索到了一个NTFS类型分区和四个FAT32分区。实际上,这四个FAT32分区只是两个。那么,为什么会出现这种情况呢?

我们先来画一个示意图,如图10.68所示。

R-Studio 扫描结果分析

我们对磁盘原来的分区结构进行破坏并新建分区后,新建的第一个分区与原来的第一个分区都是起始于磁盘的63号扇区,但分区后我们并没有对其进行格式化,这样,63号扇区内就不会有任何内容。但位于磁盘69号扇区的原第一分区的DBR备份依然存在,FAT表也完好无损。程序扫描时,首先在69号扇区找到一个DBR,根据这个DBR中的参数虚拟一个分区并解释其中的数据。这个分区就是图10.67中显示的起始于34.5KB位置的FAT32分区Recognized8。可想而知,这个分区以原来的DBR备份扇区做为分区的起始位置,将使用FAT表、根目录等数据结构的位置相对地向后移6个扇区,也就不可能正确地解释其中的数据。双击该逻辑磁盘后,程序即开始根据该分区的参数遍历整个分区,然后列表显示找到的目录及文件。如图10.69所示。

R-Studio 错误的解释结果

从图10.69可以看到,虽然程序列出了该分区内的目录和文件,目录名和文件名也正确,但这只是它根据搜索到的目录项列出的内容,因为扇区起始位置错误,根据目录项中描述的子目录或文件的起始簇对其进行访问时,将无法访问到子目录或文件的正确起始位置。所以,子目录名的前面显示为问号图标,因为对该目录进行访问时并没有在其中找到正确的内容,在左侧窗口中单击一个带问号的子目录时,在右侧的窗口中将显示为空或乱码。

右侧窗口中的文件也一样,右击一个文件,在弹出的快捷菜单中选择View/Edit,可以在一个十六进制编辑窗口中打开该文件,如果对该文件类型的特征值比较熟悉的话,能够判断出该文件的文件头是否正确。我们选择打开了一个Word文档,很显示这不是一个正确的Word文档的文件头(如图10.70所示),因为Word文档的文件头的前8个字节在十六进制窗口中将显示为“D0CF11E

R-Studio 十六进制编辑窗口

注意:R-Studio并不是由0开始对磁盘及分区中的扇区进行编号,而是由1开始。因此,使用R-Studio与WinHex协同工作时应该注意,对于同一个扇区,在WinHex中的扇区号要比R-Studio中的扇区号小1。

程序搜索的过程中,不只搜索DBR,还会搜索FAT的起始位置。因此,它在99号扇区搜索到一个FAT表。但并没有DBR与该FAT表相对应(与之对应的63号扇区的DBR被清空了),因此,程序就再虚拟一个分区,因为通过FAT表的位置并不能得知原DBR的位置,所以程序就将分区的起始位置显示为该FAT表的起始位置,这就是图10.67中显示的起始于49.5KB的FAT32分区Recognized7。由于这个分区的位置是正确的,所以它可以正确地显示出其中的数据结构。如图10.71所示。

R-Studio 正确的解释结果

另外两个列出的FAT32分区是原三个分区的最后一个,与第一个分区不同的是,它的DBR扇区与DBR备份都是完好的,程序扫描到原始DBR后根据其参数虚拟一个分区,也就是图10.67中列出的Recognized6号分区。而这个分区的参数完全正确,能够正确链接到FAT1,所以不会将此分区的起始位置显示为FAT表的起始位置。Recognized9号分区是程序根据扫描到Recognized6号分区的DBR备份后虚拟出的一个分区,这个分区也无法正确的解释其中的数据。

步骤3 恢复数据。在要恢复的目录或文件上右击,在弹出的快捷菜单中选择Recover,或对要恢复的数据进行勾选后右击一个目录或文件,在弹出的快捷菜单中选择Recover Marked(如图10.72所示),即可弹出保存路径选择对话框,选择好存放路径后单击OK按钮即可将数据恢复至指定的位置。

R-Studio 恢复数据

本文来源于《数据重现--文件系统原理精解与数据恢复最佳实践》

我有话说