PhotoRec – Recover Deleted or Lost Files in Linux

在 Linux 系统下使用 PhotoRec 工具来恢复已删除或丢失的文件

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

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

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

在这篇文章中,我们将阐明如何在 Linux 系统中使用磁盘分区修复工具来恢复硬盘上已删除或丢失的文件,这个非常优秀的免费修复工具叫做 PhotoRec 。

PhoteRec 工具用于从存储介质比如硬盘,数码相机和 cdrom 设备中恢复丢失的文件。

在 Linux 系统中安装磁盘分区修复工具(PhotoRec)

在系统中执行以下相关的命令来安装磁盘分区修复工具:

------- 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 系统 yum 源仓库中没有这个安装包,可以从 这里 下载然后在 Live CD 中运行即可。

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

安装完成之后,使用 root 账号权限打开控制台界面,启动 PhotoRec 工具,并指定已删除文件的分区:

$ sudo photorec /dev/sda3

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

Linux 系统 PhotoRec 数据恢复工具

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

你将看到下面的界面:

选择分区进行文件恢复

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

Linux 系统文件恢复选项

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

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

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

指定恢复文件类型

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

保存文件恢复设置

现在选择 ‘[查询]’ 开始文件恢复。在下图中,选择存储文件分区的文件系统类型,然后按 Enter 键。

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

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

选择文件系统进行分析

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

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

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

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

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

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

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

Linux 文件恢复总结

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

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

$ gksudo nemo
or
$ gksudo nautilus

想了解更多的信息,访问 PhotoRec 官网: http://www.cgsecurity.org/wiki/PhotoRec

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


作者简介:

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

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

作者:Aaron Kili
译者:rusking

在 Linux 系统下使用 PhotoRec 工具来恢复已删除或丢失的文件的更多相关文章

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

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

  2. Linux系统下C++开发工具-远程终端软件使用

    通过前面安装Linux系统介绍,紧接着进入搭建Linux开发环境的第二步,选择C++开发工具,以及必要的客户端软件.从而完整的搭建一个Linux下C++开发的环境,便于初学者在该环境下能够很好的学习. ...

  3. kail linux 系统下利用metaspolit工具渗透win7电脑

     注:只是测试,不可干违法的事. 一.metaspolit工具的介绍 1.1.metaspolit 是一款开源安全漏洞检测工具,附带数百个已知的软件漏洞,并保持频繁更新.被安全社区冠以“可以黑掉整个宇 ...

  4. Linux系统下rz/sz工具的安装

    (1)编译安装 root 账号登陆后,依次执行以下命令: wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz tar zxvf lrzs ...

  5. 关于Linux系统下错误“浮点数异常(核心已转储)”的分析

    1.问题发现 有这样一段代码: #include <stdio.h> int main() { int a, b, num1, num2, temp; printf("pleas ...

  6. Linux系统下tomcat的配置

    Linux系统下tomcat的配置 完成后可以输入命令查看日志文件: 最后进入网页测试下吧: 可以出来这个网页就好了

  7. 在Linux系统下运行微信Web开发者工具

    微信Web开发者工具只有window版本和mac版本,如果想要在Linux系统下运行微信Web开发者工具,需要花费很大周折. 注:带 * 的步骤或文件为不确定是否管用的步骤或文件.本人系统为Linux ...

  8. LINUX系统下MySQL 压力测试工具super smack

    摘要:1.源文件下载地址:http://vegan.net/tony/supersmack/2.安装:注意在编译时,可以先把对应的libmysqlclient.so.*拷贝到/usr/lib3.测试: ...

  9. rsync Linux系统下的数据镜像备份工具

    rsync是Linux系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync.rsync支持大多数的类Unix系统,无论是Linux.Solaris还是BSD上都经过了良好的 ...

随机推荐

  1. yaf学习

    <?php 安装 phpize ./configure --with-php-config=/usr/local/php/bin/php-config 路由类 final Yaf_Router ...

  2. ThinkPHP -- 去除URL中的index.php

    原路径是 http://localhost/test/index.php/index/add 想获得的地址是 http://localhost/test/index/add 那么如何去掉index.p ...

  3. python开发_pickle

    pickle模块使用的数据格式是python专用的,并且不同版本不向后兼容,同时也不能被其他语言说识别.要和其他语言交互,可以使用内置的json包使用pickle模块你可以把Python对象直接保存到 ...

  4. java同步ldap实例

    1.准备过程 1.1  在windows server 2008 R2操作系统下搭建AD域,不懂得看链接地址:http://99532720.blog.51cto.com/2194488/696611 ...

  5. Android中的数据存储(一):SharedPreferences 2017-05-24 10:35 64人阅读 评论(1) 收藏

    SharedPreferences 这是本人(菜鸟)学习android数据存储时接触的有关SharedPreferences的知识以及本人自己写的一个简单地demo,为初学者学习和使用SharedPr ...

  6. MP2359 1.2A, 24V, 1.4MHz Step-Down Converter in a TSOT23-6

    The MP2359 is a monolithic step-down switch mode converter with a built-in power MOSFET.It achieves ...

  7. 使用VMware创建Linux虚拟机

    准备工作: 下载安装:VMware8.0 (这版本相对稳定,体积小) 下载:rhel-server-5.8-i386-dvd.iso Ready? Go! 1.新建空的虚拟机,相当于多了一台电脑 除了 ...

  8. AC-PC线(前联合-后联合线)

    下面利用一张大脑矢状面(侧视图)来描述ac-pc的空间位置关系.前联合用红色点表示,后联合用黄色表示. 在Talairach 模板的官方文档中,AC-PC线从前联合AC的表面出发,延伸到后联合PC的中 ...

  9. Unity3d通用工具类之数据配置加载类

    今天,我们来讲讲游戏中的数据配置加载. 什么是游戏数据加载呢?一般来说游戏中会有场景地图. 按照国际惯例,先贴一张游戏场景的地图: 在这张地图上,我们可以看到有很多正六边形,正六边形上有树木.岩石等. ...

  10. Python性能优化:PyPy、Numba 与 Cython。PyPy的安装及对应pip的安装

    性能优化讨论见参考1:大概意思是,PyPy内置JIT,对纯Python项目兼容性极好,几乎可以直接运行并直接获得性能提升:缺点是对很多C语言库支持性不好.Numba是一个库,可以在运行时将Python ...