使用字符终端工具 testdisk 和 phtorec
testdisk 简介
testdisk 是分区表恢复、raid 恢复、分区恢复的开源免费工具(testdisk 支持如下文件系统: FAT12/FAT16/FAT32/NTFS/ext2/ext3/ext4)。testdisk 支持的功能: 修复分区表, 恢复已删除分区,用 FAT32 备份表恢复启动扇区,重建 FAT12/FAT16/FAT32 启动扇区,修复 FAT 表,重建 NTFS 启动扇区,用备份表恢复 NTFS 启动扇区,用 mft 镜像表(mft mirror)修复 mft 表,查找 ext2/ext3 备份的 superblock,从 FAT,NTFS 及 ext2 文件系统恢复删除文件,从已删除的 FAT,NTFS 及 ext2/ext3 分区复制文件。
使用方法
首先安装
#apt-get install testdisk
其它 Linux 发行版用户可以在http://www.cgsecurity.org/wiki/TestDisk_Download 下载源代码编译安装。下载安装 testdisk 之前要安装几个软件包 libjpeg8 ,libncursesw5, libuuid1, zlib1g 。下面看看使用方法
启动 testdisk
#testdisk
testdisk 启动后的工作界面首先是选择恢复操作中的 log 文件(testdisk.log)的纪录方式见图 1。
图 1.选择恢复操作中的 log 文件的纪录方式
[Create]新建
[Append]追加
[No Log]不纪录
选择了 log 文件的记录方式后、系统显示处于连接状态的磁盘设备见图 2。
图 2.处于连接状态的磁盘设备
在列出的磁盘设备中,选择要恢复的分区,然后选择磁盘分区的种类。若是 ext4 文件系统的话,请选择 [None ] Non partitioned media 见图 3
图 3.选择 [None ] Non partitioned media
说明:一般选择[Intel] Intel/PC partition(如果是 GPT 分区,请选择 EFI GPT),对于 ext4 文件系统选择 [Intel] Intel/PC partition 也能正确识别,只是分析硬盘時比较慢。
下面的画面中选择[Analyse],对分区进行分析见图 4。
图 4.对分区进行分析
下面显示了当前分区的状态。这是软件分析的当前分区表的分区结果,我们选择“Deep Search”进行一次深入检测见图 5。
图 5.选择“Deep Search”进行一次深入检测
下面是检测完成界面见图 6
图 6.检测完成界面
在这个画面时,按 P 键就可以列出硬盘上的文件见图 7
图 7.红色的文件名称就是已经被删除的文件
红色的文件名称就是已经被删除的文件,选择好你要恢复的文件后,按 c 键之后,它就会问你要复制到哪个目录,这时请选择你要 复制的目地地(destination)即可。
photorec 简介
photorec 是一款用于恢复硬盘、光盘中丢失的视频、文档、压缩包等文件,或从数码相机存储卡中恢复丢失图片的数据恢复软件(因此,该软件命名为 photo recovery 这个名字)。 photorec 忽略文件系统,能直接从介质底层恢复数据,因此,在介质的文件系统严重破坏或被重新格式化后,它也能进行数据恢复。出于安全考虑, photorec 以只读方式来访问您要恢复数据所在的磁盘或存储卡介质。提示: 一旦发现丢失或意外删除了某个图片、文件, 请不要继续往该存储设备或磁盘保存新文件;否则您可能会覆盖原来的数据。 这意味着您在使用 photorec 时,您千万不要将恢复的文件写入到原数据所存储的同一分区。
使用 photorec 恢复文件
photorec 是 testdisk 的伴侣程序,安装 testdisk 后 photorec 就可以使用了。
启动 photorec
# photorec
图 8 中显示了已连接磁盘设备,准备恢复的文件在那个设备上就选择它,然后在选择 Proceed 按钮继续下一步。
图 8.已连接磁盘设备
接下来,选择恢复的磁盘分区格式。这里选择 ext4 见图 9。
图 9.选择恢复的磁盘分区格式
画面下方[File Opt]中有可供恢复的文件种类提供被选择见图 10。
图 10.可供恢复的文件种类
说明:如果只是 root 据某些文件签名要恢复部分文件类型,那么可以按 s 取消全部勾选,然后移动光标到要恢复的文件类型,可按空格来选择高亮选中的类型。
下面设定要分析的磁盘空间区域,可整个分区搜索,也可只搜索自由空间(相当于未分配簇)见图 11 。
图 11.设定要分析的磁盘空间区域
下面选择分区所使用的文件系统类型,然后设定导出的文件目录,一般输入 Y 并回车即可。图 12 是恢复完成界面。
图 12.恢复完成
恢复完了选择 Quit 退出 PhtoRec。被恢复的文件是 recup_dir.x 的若干数字子组合为文件名被保存在当前目录的/recup_dir 子目录下的。
功能对比
表 1 是 Linux 删除文件恢复工具
表 1.Linux 删除文件恢复工具
工具名称/功能对比 | 工作界面 | 功能简介 |
---|---|---|
foremost |
命令行 |
formost 是一个基于文件头和尾部信息以及文件的内建数据结构恢复文件的命令行工具 |
extundelete |
命令行 |
Extundelete 是 ext3、ext4 文件系统的恢复工具 |
s calpel |
命令行 |
scalpel 是一种快速文件恢复工具,它通过读取文件系统的数据库来恢复文件。它是独立于文件系统的 |
testdisk |
字符终端 |
Testdisk 支持分区表恢复、raid 恢复、分区恢复 |
phtorec |
字符终端 |
photorec 用来恢复硬盘、光盘中丢失的视频、文档、压缩包等文件,或从数码相机存储卡中恢复丢失的图片 |
总结
可以使用 testdisk 进行文件恢复的场合,也就是硬盘上的分区(该分区有原有数据纪录)已经损坏的情形。但是如果损坏之后,重新再次做成了新分区的话,文件恢复的可能性比较小,很困难。photorec 不仅针对 硬盘、USB 设备、CD-ROM、SD 卡,而且还可以对其它存储设备进行应用。因此大多数常用的文件如果被误操作的话,均可利用其来进行恢复,只不过它的初衷是针对照片而制作的。
refer: http://www.ibm.com/developerworks/cn/linux/1312_caoyq_linuxrestore/