详解使用R-Studio恢复数据之1:误分区后的恢复

本文来源于《数据重现--文件系统原理精解与数据恢复最佳实践》
 
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 的特性我们不再做更多的介绍,有兴趣的读者可以登陆 [url]www.tysjhf.com/qtzl/qt2/[/url] 网站查看 R-Studio 帮助文件的译文。下面我们来使用它进行实际的恢复演示,读者对其有个基本的了解后,可以自行研究其强大的功能。
1.分区恢复
R-Studio 可以通过对整个磁盘的扫描,利用智能检索技术搜索到的数据来确定现存的和曾经存在过的分区以及它的文件系统格式。下面,我们以一个 20GB 容量的磁盘演示分区恢复的过程。
首先在磁盘上建立三个分区,并向其中拷入数据。运行 R-Studio 后,程序可以自动识别到硬盘,读取其分区表并列举出现存的分区。如图 10.62 所示。
 
我们用做实验的磁盘型号为 IC25N020CSH201D2GACA20 R-Studio 可以自动识别这个型号。选中该磁盘后,在右侧的窗口中会给出该磁盘的型号、在系统中的设备号以及容量等信息。
可以看到,该磁盘分为三个分区,第一个分区为 FAT32 文件系统,起始于 31.5KB 63 号扇区)的位置,大小为 3.9GB ;第二个分区为 NTFS 文件系统,起始于 3.9GB 的位置,大小为 7.8GB ;最后一个分区为 FAT32 文件系统,起始于 11.7GB 的位置,大小为 6.9GB 。双击列举出的一个逻辑磁盘,就可以遍历该文件系统并以目录树的形式显示其中的目录及文件。如图 10.63 所示, R-Studio 列出了我们选择的第一个分区的数据。
第一个目录为元数据文件目录,其中存放的是文件系统的管理数据,对于 FAT32 来讲,就是 DBR FAT 表。 Root 为根目录,单击 Root 后,可以在右侧的窗口中显示出根目录下所有的目录及文件。
接下来,我们将硬盘中的分区删除后重新建立了两个分区,以制造分区被破坏的现场。然后开始恢复。
步骤1   扫描磁盘。要找到原来的分区,需要对整个磁盘进行扫描。因此,必须选择界面中的物理磁盘进行操作,而不能选择一个逻辑分区。
在磁盘上右击,然后在弹出的菜单中单击 Scan (扫描),如图 10.64 所示。
单击 Scan 后会弹出扫描设置对话框,如图 10.65 所示。
 
 
在扫描设置对话框中,可以设置扫描的起始位置和大小。程序默认从磁盘的起始位置开始对整个磁盘进行扫描。如果要寻找磁盘的所有分区,不需要改动 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 所示。
 
扫描的时间长短根据磁盘容量的大小、接口、扫描设置以及计算机的运算速度不同而有所差异。
步骤2  查验扫描结果。 扫描结束后,程序即列出所有可能存在的分区,并给出每个分区的起始位置和大小。单击某个分区后,右侧的窗口中即会给出该分区的逻辑参数,如每 FAT 项大小、簇大小、根目录起始簇、 FAT1 的起始位置及每 FAT 表的大小等。如图 10.67 所示。
 
 
从图中可以看到,程序共搜索到了一个 NTFS 类型分区和四个 FAT32 分区。实际上,这四个 FAT32 分区只是两个。那么,为什么会出现这种情况呢?
我们先来画一个示意图,如图 10.68 所示。
 
 
我们对磁盘原来的分区结构进行破坏并新建分区后,新建的第一个分区与原来的第一个分区都是起始于磁盘的 63 号扇区,但分区后我们并没有对其进行格式化,这样, 63 号扇区内就不会有任何内容。但位于磁盘 69 号扇区的原第一分区的 DBR 备份依然存在, FAT 表也完好无损。程序扫描时,首先在 69 号扇区找到一个 DBR ,根据这个 DBR 中的参数虚拟一个分区并解释其中的数据。这个分区就是图 10.67 中显示的起始于 34.5KB 位置的 FAT32 分区 Recognized8 。可想而知,这个分区以原来的 DBR 备份扇区做为分区的起始位置,将使用 FAT 表、根目录等数据结构的位置相对地向后移 6 个扇区,也就不可能正确地解释其中的数据。双击该逻辑磁盘后,程序即开始根据该分区的参数遍历整个分区,然后列表显示找到的目录及文件。如图 10.69 所示。
 
从图 10.69 可以看到,虽然程序列出了该分区内的目录和文件,目录名和文件名也正确,但这只是它根据搜索到的目录项列出的内容,因为扇区起始位置错误,根据目录项中描述的子目录或文件的起始簇对其进行访问时,将无法访问到子目录或文件的正确起始位置。所以,子目录名的前面显示为问号图标,因为对该目录进行访问时并没有在其中找到正确的内容,在左侧窗口中单击一个带问号的子目录时,在右侧的窗口中将显示为空或乱码。
右侧窗口中的文件也一样,右击一个文件,在弹出的快捷菜单中选择 View/Edit ,可以在一个十六进制编辑窗口中打开该文件,如果对该文件类型的特征值比较熟悉的话,能够判断出该文件的文件头是否正确。我们选择打开了一个 Word 文档,很显示这不是一个正确的 Word 文档的文件头(如图 10.70 所示),因为 Word 文档的文件头的前 8 个字节在十六进制窗口中将显示为“ D0CF11E0A1B11AE1
 
 
注意:R-Studio并不是由0开始对磁盘及分区中的扇区进行编号,而是由1开始。因此,使用R-StudioWinhex协同工作时应该注意,对于同一个扇区,在Winhex中的扇区号要比R-Studio中的扇区号小1
程序搜索的过程中,不只搜索 DBR ,还会搜索 FAT 的起始位置。因此,它在 99 号扇区搜索到一个 FAT 表。但并没有 DBR 与该 FAT 表相对应(与之对应的 63 号扇区的 DBR 被清空了),因此,程序就再虚拟一个分区,因为通过 FAT 表的位置并不能得知原 DBR 的位置,所以程序就将分区的起始位置显示为该 FAT 表的起始位置,这就是图 10.67 中显示的起始于 49.5KB FAT32 分区 Recognized7 。由于这个分区的位置是正确的,所以它可以正确地显示出其中的数据结构。如图 10.71 所示。
 
 
另外两个列出的 FAT32 分区是原三个分区的最后一个,与第一个分区不同的是,它的 DBR 扇区与 DBR 备份都是完好的,程序扫描到原始 DBR 后根据其参数虚拟一个分区,也就是图 10.67 中列出的 Recognized6 号分区。而这个分区的参数完全正确,能够正确链接到 FAT1 ,所以不会将此分区的起始位置显示为 FAT 表的起始位置。 Recognized9 号分区是程序根据扫描到 Recognized6 号分区的 DBR 备份后虚拟出的一个分区,这个分区也无法正确的解释其中的数据。
步骤3  恢复数据。在要恢复的目录或文件上右击,在弹出的快捷菜单中选择Recover,或对要恢复的数据进行勾选后右击一个目录或文件,在弹出的快捷菜单中选择Recover Marked(如图10.72所示),即可弹出保存路径选择对话框,选择好存放路径后单击OK按钮即可将数据恢复至指定的位置。
 
 
 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<xsd:element> 元素是 XML 模式语言(XSD)中的一个重要元素,用于定义 XML 文档中的元素。下面是一些 <xsd:element> 元素的详细说明: 1. name 属性:该属性用于指定元素的名称。必须是一个有效的 XML 名称,不能包含空格或特殊字符。 2. type 属性:该属性用于指定元素的数据类型。可以是内置的数据类型,如 string、int、boolean 等,也可以是自定义的复杂类型。 3. minOccurs 和 maxOccurs 属性:这两个属性用于指定元素的出现次数。minOccurs 属性指定元素的最小出现次数,maxOccurs 属性指定元素的最大出现次数。默认情况下,minOccurs 属性的值为 1,maxOccurs 属性的值为 1。 4. default 和 fixed 属性:这两个属性用于指定元素的默认值和固定值。default 属性指定元素的默认值,fixed 属性指定元素的固定值。如果指定了 fixed 属性,则不能指定 default 属性。 5. nillable 属性:该属性用于指定元素是否可以为 null。如果该属性的值为 true,则元素可以为 null;否则,元素不可以为 null。 6. abstract 属性:该属性用于指定元素是否是抽象的。如果该属性的值为 true,则元素是抽象的,不能被实例化。 7. substitutionGroup 属性:该属性用于指定元素的替代组。指定元素的替代组意味着可以使用替代组中的任何元素来代替该元素。 总之,<xsd:element> 元素是 XSD 中非常重要的元素之一,它定义了 XML 文档中的元素,并且可以指定元素的名称、数据类型、出现次数、默认值、固定值等属性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值