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

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

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

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

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

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

### 在 Linux 系统中安装 TestDisk（PhotoRec）

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

```
------- On Debian/Ubuntu/Linux Mint ------- 
$ sudo apt-get install testdisk
------- On CentOS/RHEL/Fedora ------- 
$ sudo yum install testdisk
------- On Fedora 22+ ------- 
$ sudo dnf install testdisk   
------- On Arch Linux ------- 
$ pacman -S testdisk             
------- On Gentoo ------- 
$ emerge testdisk  
```

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

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

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

```
$ sudo photorec /dev/sda3
```

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

[
 ![PhotoRec Data Recovery Tool for Linux](http://www.tecmint.com/wp-content/uploads/2017/01/PhotoRec-Data-Recovery-Tool.png) 
][3]

*Linux 系统 PhotoRec 数据恢复工具*

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

你将看到下面的界面：

[
 ![Select Partition to Proceed File Recovery](http://www.tecmint.com/wp-content/uploads/2017/01/Select-Partition-to-Proceed-File-Recovery.png) 
][4]

*选择分区进行文件恢复*

 选择 `[Options]` 来查看可用的恢复选项，如下图所示：

[
 ![Linux File Recovery Options](http://www.tecmint.com/wp-content/uploads/2017/01/Linux-File-Recovery-Options.png) 
][5]

*Linux  系统文件恢复选项*

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

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

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

[
 ![Specify Recovery File Type](http://www.tecmint.com/wp-content/uploads/2017/01/Specify-Recovery-File-Type.png) 
][6]

*指定恢复文件类型*

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

[
 ![Save File Recovery Settings](http://www.tecmint.com/wp-content/uploads/2017/01/Save-File-Recovery-Settings.png) 
][7]

*保存文件恢复设置*

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

[
 ![Select Filesystem to Recover Deleted Files](http://www.tecmint.com/wp-content/uploads/2017/01/Select-Filesystem-to-Recover-Files.png) 
][8]

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

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

[
 ![Choose Filesystem to Analyze](http://www.tecmint.com/wp-content/uploads/2017/01/Select-Filesystem-to-Analyze.png) 
][9]

*选择文件系统进行分析*

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

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

[
 ![Select Directory to Save Recovered Files](http://www.tecmint.com/wp-content/uploads/2017/01/Select-Directory-to-Save-Recovered-Files.png) 
][10]

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

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

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

[
 ![Recovering Deleted Files in Linux](http://www.tecmint.com/wp-content/uploads/2017/01/Recover-Deleted-Files-in-Linux.png) 
][11]

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

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

[
 ![Linux File Recovery Summary](http://www.tecmint.com/wp-content/uploads/2017/01/Linux-File-Recovery-Summary.png) 
][12]

*Linux 文件恢复情况汇总*

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

使用如下命令（指定你的文件管理器）：

```
$ gksudo nemo
or
$ gksudo nautilus 
```

想了解更多的信息，访问 PhotoRec 官网： [http://www.cgsecurity.org/wiki/PhotoRec][13]。

到此为止吧！在这篇文章中，我们阐明了使用 PhotoRec 工具来恢复磁盘中已删除或丢失文件每一个步骤。这是目前为止我使用过的最可靠和有效的恢复工具，如果你知道还有其它相似的工具，请在评论中跟大家分享。

--------------------------------------------------------------------------------

作者简介：

![](http://1.gravatar.com/avatar/4e444ab611c7b8c7bcb76e58d2e82ae0?s=128&d=blank&r=g)

Aaron Kili 是一个 Linux 系统及 F.O.S.S 爱好者，即将成为一名系统管理员及 Web 开发人员，他现在是 TecMint 网站的内容创建者，他喜欢使用电脑来工作，并且他坚信分享知识是一种美德。

--------------------------------------------------------------------------------

via: http://www.tecmint.com/photorec-recover-deleted-lost-files-in-linux/

作者：[Aaron Kili][a]
译者：[rusking](https://github.com/rusking)
校对：[jasminepeng](https://github.com/jasminepeng)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出

[a]:http://www.tecmint.com/author/aaronkili/
[1]:https://linux.cn/article-7974-1.html
[2]:http://www.cgsecurity.org/wiki/TestDisk_Download
[3]:http://www.tecmint.com/wp-content/uploads/2017/01/PhotoRec-Data-Recovery-Tool.png
[4]:http://www.tecmint.com/wp-content/uploads/2017/01/Select-Partition-to-Proceed-File-Recovery.png
[5]:http://www.tecmint.com/wp-content/uploads/2017/01/Linux-File-Recovery-Options.png
[6]:http://www.tecmint.com/wp-content/uploads/2017/01/Specify-Recovery-File-Type.png
[7]:http://www.tecmint.com/wp-content/uploads/2017/01/Save-File-Recovery-Settings.png
[8]:http://www.tecmint.com/wp-content/uploads/2017/01/Select-Filesystem-to-Recover-Files.png
[9]:http://www.tecmint.com/wp-content/uploads/2017/01/Select-Filesystem-to-Analyze.png
[10]:http://www.tecmint.com/wp-content/uploads/2017/01/Select-Directory-to-Save-Recovered-Files.png
[11]:http://www.tecmint.com/wp-content/uploads/2017/01/Recover-Deleted-Files-in-Linux.png
[12]:http://www.tecmint.com/wp-content/uploads/2017/01/Linux-File-Recovery-Summary.png
[13]:http://www.cgsecurity.org/wiki/PhotoRec
