本文来源于《数据重现--文件系统原理精解与数据恢复最佳实践》
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
个字节在十六进制窗口中将显示为“
D0CF11E
0A
1B11AE
1
”
。
注意: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
所示。
另外两个列出的
FAT32
分区是原三个分区的最后一个,与第一个分区不同的是,它的
DBR
扇区与
DBR
备份都是完好的,程序扫描到原始
DBR
后根据其参数虚拟一个分区,也就是图
10.67
中列出的
Recognized6
号分区。而这个分区的参数完全正确,能够正确链接到
FAT1
,所以不会将此分区的起始位置显示为
FAT
表的起始位置。
Recognized9
号分区是程序根据扫描到
Recognized6
号分区的
DBR
备份后虚拟出的一个分区,这个分区也无法正确的解释其中的数据。
步骤3
恢复数据。在要恢复的目录或文件上右击,在弹出的快捷菜单中选择Recover,或对要恢复的数据进行勾选后右击一个目录或文件,在弹出的快捷菜单中选择Recover Marked(如图10.72所示),即可弹出保存路径选择对话框,选择好存放路径后单击OK按钮即可将数据恢复至指定的位置。
本文转自老骥伏枥51CTO博客,原文链接:
http://blog.51cto.com/sjhfml/130363
,如需转载请自行联系原作者