在 Linux 系统下使用 PhotoRec & TestDisk 工具来恢复文件

当你在系统中有意或无意地使用 shift + delete 组合键、删除选项,或是清空回收站的方式来删除一个文件时,该文件的内容并没有从硬盘(或是其它存储设备)上直接销毁。

它仅仅是从系统的目录结构中被移除,然后你在删除文件的目录下就看不到该文件了,但是这个文件仍然存在你磁盘中的某个位置上。

如果你有一个合适的工具和相关的专业知识,你就可以从电脑中恢复已丢失的文件。然而,随着你存储的文件越来越多,删除的文件将会被覆盖,你可能只能恢复最近删除的文件了。

在这篇文章中,我们将阐明如何在 Linux 系统中使用 TestDisk 来恢复硬盘上已删除或丢失的文件,它是非常优秀的修复工具,随一款免费的叫做 PhotoRec 的工具发布。

PhoteRec 工具用于从存储介质比如硬盘,数码相机和 cdrom 设备中恢复丢失的文件。(LCTT 译注:PhotoRec 的意思是 Photo Recovery,不是 Photo Recorder。)

在 Linux 系统中安装 TestDisk(PhotoRec)

在系统中执行以下相关的命令来安装 TestDisk:


  1. ------- On Debian/Ubuntu/Linux Mint -------
  2. $ sudo apt-get install testdisk
  3. ------- On CentOS/RHEL/Fedora -------
  4. $ sudo yum install testdisk
  5. ------- On Fedora 22+ -------
  6. $ sudo dnf install testdisk
  7. ------- On Arch Linux -------
  8. $ pacman -S testdisk
  9. ------- On Gentoo -------
  10. $ emerge testdisk

如果你的 Linux 系统仓库中没有这个安装包,可以从 这里 下载然后在 Live CD 中运行即可。

这个安装包也可以在应急修复 CD 工具中找到,比如 Gparted LiveCD 、 Parted Magic 、 Ubuntu Boot CD 、 Ubuntu-Rescue-Remix 及其它工具等。

安装完成之后,使用 root 账号权限打开文本窗口,启动 PhotoRec,并指定已删除文件的分区:


  1. $ sudo photorec /dev/sda3

你将会看到下面的交互界面:

Linux 系统 PhotoRec 数据恢复工具

使用左右箭头选择菜单选项,按回车键确认。要继续恢复操作,选择 [Proceed] 并单击 Enter。

你将看到下面的界面:

选择分区进行文件恢复

选择 [Options] 来查看可用的恢复选项,如下图所示:

Linux 系统文件恢复选项

按 Q  返回,在下图界面,你可以指定你想要查询并恢复的文件扩展名。因此,选择 [File Opt],按回车键确认。

按 s 来选择或取消选择所有的文件扩展名,如果你已经取消选择了所有的文件扩展名,只需要使用向右箭头选择你想要恢复的文件类型即可(或者按向左箭头取消选择)。

例如,我想恢复所有系统中丢失的 .mov 类型的文件:

指定恢复文件类型

按 b 键保存设置,之后你应该看到如下图所示信息。单击回车键返回(或者按 Q 键),再按 Q 键返回到主界面。

保存文件恢复设置

现在选择 [Search] 开始文件恢复。在下图中,选择存储文件分区的文件系统类型,然后按回车键。

选择文件系统类型来恢复删除的文件

下一步,如下图所示,选择是仅对空闲空间还是整个分区进行分析。注意选择整个分区将会让操作过程变得更长更慢。选择合适的选项后,按回车键继续。

选择文件系统进行分析

选择一个目录用于存储将要恢复的文件,选择完成之后,按 C 键继续。选择不同分区的目录,以避免当更多的文件存储在这个分区时覆盖掉已删除的文件。

按向左箭头返回到根分区下。

选择要保存恢复文件的目录

下图显示正在被恢复的指定类型的已删除文件。你可以按回车键来停止操作。

注意:在恢复的过程中,你的系统会变得很慢,很可能会卡住一段时间,请耐心等待直至恢复完成。

在 Linux 系统中恢复已删除的文件

最后, Photorec 工具将会显示出已恢复文件的数量及保存的路径。

Linux 文件恢复情况汇总

默认情况下,已恢复的文件将会以 root 账号权限保存,因此,你需要以提升权限的方式打开文件管理器来访问这些文件。

使用如下命令(指定你的文件管理器):


  1. $ gksudo nemo
  2. $ gksudo nautilus

原文发布时间为:2017-01-16

本文来自合作伙伴“Linux中国”

时间: 2024-10-27 19:31:25

在 Linux 系统下使用 PhotoRec & TestDisk 工具来恢复文件的相关文章

在Linux系统下使用PhotoRec & TestDisk工具来恢复文件

当你在系统中有意或无意地使用 shift + delete 组合键.删除选项,或是清空回收站的方式来删除一个文件时,该文件的内容并没有从硬盘(或是其它存储设备)上直接销毁. 它仅仅是从系统的目录结构中被移除,然后你在删除文件的目录下就看不到该文件了,但是这个文件仍然存在你磁盘中的某个位置上. 如果你有一个合适的工具和相关的专业知识,你就可以从电脑中恢复已丢失的文件.然而,随着你存储的文件越来越多,删除的文件将会被覆盖,你可能只能恢复最近删除的文件了. 在这篇文章中,我们将阐明如何在 Linux

Linux系统下常见性能分析工具的使用

在前面的文章中,我简单介绍了影响linux性能的几个方面以及如何解决这些方面的问题,但是如何才能从系统上发现是某个方面或某几个方面出现问题了呢,这就需要使用linux系统提供的几个常用性能分析工具,下面就具体讲述这几个常用性能分析工具的使用. 1.vmstat命令 vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,很多linux发行版本都默认安装了此命令工具,利用vmstat命令可以对操作系统的内存信息.进程状态.CPU活动等进行监视,不足之处是无法对某个

Linux系统下主机性能分析工具nmon的简单用法

  nmon是收集AIX或Linux主机的性能数据并分析的工具,使用简单易用.主要有两个,一个是nmon采集数据的工具,一般名称为nmon_**,例如nmon_aix5.3,另一个是分析结果的工具,它是一个excel的文件,名称为:nmon analyser v33A.xls. nmon在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新.还可以将相同的数据捕获到一个文本文件,便于以后对报告进行分析和绘制图形. nmon_analyser 工具以 NMON 性能工具生成的文件作为输入,然

Linux系统下安装ccze小工具美化系统日志

一个美化日志显示的工具 :). 代码如下: $ apt-get install ccze例如: 代码如下: $ tailf /var/log/syslog | ccze 列出 ccze 模块: 代码如下: $ ccze -l将日志保存为 html 文件. 代码如下: tailf /var/log/syslog | ccze -h > /home/tux/Desktop/rajneesh.html

为什么在linux系统下安装QQ的时候出现这种情况?

问题描述 为什么在linux系统下安装QQ的时候出现这种情况? 装入归档文件时出现了一个错误. Archive: /tmp/QQ7.2.exe [/tmp/QQ7.2.exe] End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the centr

Linux系统下的文件传输工具:RZSZ的用法

Linux系统下传输方式很多,比如:通过FTP SFTP - 等等.linux服务器大多是通过ssh客户端来进行远程的登陆和管理的,使用ssh登陆linux主机以后,如何能够快速的和本地机器进行文件的交互呢,也就是上传和下载文件到服务器和本地,根据RZSZ特性,这里我们通过SecureCRT提供ZModem配合RZSZ传输工具进行讲解 首先先了解与ssh有关的两个命令可以提供很方便的操作: sz:将选定的文件发送(send)到本地机器 rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到

工具-Linux系统下java程序如何将PDF文件转换成SWF文件

问题描述 Linux系统下java程序如何将PDF文件转换成SWF文件 我需要将PDF文件转换成SWF格式的文件,目前是用windows系统开发java程序,windows系统中这种转型已经搞定,用的是swftools工具.但是开发完成之后,程序要部署到Linux系统中.由于不熟悉Linux系统所以无从下手,希望高手指点,最好也用swftools工具转型,尽量详细一些,跪谢. 解决方案 前不久刚用过,应该注意的是swftools工具在linux的安装,有时需要依赖才能安装下去,这个工具安装好就基

如何在Linux系统下运行微信Web开发者工具

微信Web开发者工具只有window版本和mac版本,如果想要在Linux系统下运行微信Web开发者工具,需要花费很大周折. 注:带 * 的步骤或文件为不确定是否管用的步骤或文件. 本人系统为Linux Mint 18.1版本. 1.下载nwjs 下载nwjs(http://nwjs.io/)的SDK. 2.将微信web开发者工具拷贝到nwjs 将在window系统下安装的微信web开发者工具文件夹中的package.nw.icon.ico.* 微信web开发者工具.exe拷贝到nwjs sdk

Linux系统下优秀的代理服务器软件:Squid

作为一种免费的网络操作系统,Linux越来越受到广大网络爱好者的欢迎,目前Internet上运行的主机有相当一部分采用的就是Linux,而且中国已经把Linux作为政府上网的指定网络操作系统.种种迹象表明,Linux正在逐渐走向成熟. 为了解决Internet发展迅速和IP地址资源紧张的矛盾,代理服务器的使用越来越广泛.Squid是一种在Linux系统下使用的比较优秀的代理服务器软件. 代理服务 代理服务是指由一台拥有标准IP地址的机器代替若干没有标准IP地址的机器和 Internet上的其它主