Linux 上最优秀的数据恢复工具

  不管是不是由于自己的失误,总有些时候我们存储的数据会出点问题。硬盘、固态硬盘以及移动媒介都有可能因为各种不同的原因而“丢失”掉文件。此外,有时候 你可能想删除某个文件——不管是有意的还是无意的——稍后你突然意识到自己正好需要那个文件。与其因为文件丢失而抓狂,不如先试试文件恢复工具,看能不能 挽回自己的损失。本文着重介绍Linux上的几个数据恢复工具。

https://dn-linuxcn.qbox.me/data/attachment/album/201305/26/144447j76qzq6sqpkpjwpp.jpg

数据恢复的原理是什么?

  数据恢复工具都会基于一个基本的事实,那就是尽管操作系统可能认为文件已经是“删除”的了,但数据可能仍然存在于你的存储设备上。比如,现代的文件 系统都可以判断空间是“空闲”的还是“已占用”的。从技术角度来说,尽管数据仍然存在,但文件系统仍可以声明这个空间是“空闲”的,它只是简单的让“空 余”空间最终被新的数据所覆盖。

  即使文件系统已经声称这些文件已不存在了,但数据恢复工具能对存储设备进行扫描,以查看是否有任何文件仍然在物理上存在于设备之上。Linux下这类工具有不少,这里是我所大力推荐的几种。

Safecopy

https://dn-linuxcn.qbox.me/data/attachment/album/201305/26/144448fu7aq7y77yy7e2uu.jpg

  Safecopy是一个相当简单的数据恢复工具,它只是简单地将数据拷贝到一个新的位置上。它不会恢复单独的文件,但是可以将数据从故障的存储设备中拷贝出来。

  这个工具和普通的copy命令之间的区别在于Safecopy在出现文件损毁的情况下并不会退出,无论损毁原因是由于写操作失败或者是扇区中有坏 道。Safecopy还带有许多额外的选项能自定义工具具体的行为,包括在故障的存储媒介上创建文件系统的能力、尽可能或尽快地恢复数据,从多个不同的源 来集合数据而不只是仅仅从一个源,以及访问存储媒介的RAW区域(未分区)。

  这个工具可以通过在你的Linux发行版的软件源中搜索Safecopy来安装。Ubuntu用户只需要输入apt-get install safecopy就能自动安装了。一旦安装完成,如果你要从驱动器a的X分区恢复数据并将它们写到U盘里,那么可以用下面这条命令完成:

sudo safecopy /dev/sdaX /media/PENDRIVE_PATH/recovery_image

TestDisk

https://dn-linuxcn.qbox.me/data/attachment/album/201305/26/14444815387h1rqs138fbq.jpg

  和Safecopy不同,TestDisk是另一种类型的数据恢复工具。它不能从故障的存储设备上拷贝数据,相反,它可以解决一些因为分区的原因而 造成数据无法访问的问题。该工具可以帮助你恢复丢失的分区,让磁盘重新变得可以启动,整理分区表,恢复主引导记录,恢复引导扇区以及文件系统表,可以从 NTFS、FAT、exFAT和ext2类型的文件系统中恢复被删除的文件,还能从已经删除了的NTFS、FAT、exFAT和ext2/3/4文件系统 中拷贝文件。

  完成上述这些任务的命令将有很大不同,所以最好在开始前先看看工具的文档手册或者仔细查看程序的用户接口。总的来说,TestDisk有着很多很棒 的功能,肯定能够帮助到很多人将他们的数据安全的找回来。可以在软件源中搜索testdisk来安装。Ubuntu用户只需要输入apt-get install testdisk就可以了。

PhotoRec

https://dn-linuxcn.qbox.me/data/attachment/album/201305/26/1444492nczczkolloc5lkb.jpg

  最后但同样重要的是如果你主要是想恢复视频、文档和归档类文件,你应该试试PhotoRec。PhotoRec的优点在于它完全忽略了文件系统,只去搜寻底层的数据。这表示如果设备损坏或者被重新格式化了PhotoRec仍然能工作。

  为了防止在使用PhotoRec时所产生的任何问题,该工具在恢复数据时采用只读方式——这样它就不会意外地覆盖掉你希望得到恢复的数据。使用 PhotoRec时请注意,一旦你需要恢复某个文件,请立刻停止任何的写磁盘操作。否则就会存在底层的数据被新写入的数据覆盖的可能,那样就没法再恢复 了。

  再次说明一下,使用这个工具时有很多的选项可供使用,包括可选择你希望恢复的文件扩展名,因此为了能正确使用这个工具请先查看工具的文档说明。要安装这个工具,你可以在软件源中搜索testdisk或photorec。

  有一些Linux发行版如Ubuntu会将Testdisk和PhotoRec这两个程序集合为一个单独的包,因为它们的开发者是同一个人。因此,Ubuntu用户也可以通过sudo apt-get install testdisk来安装PhotoRec。

结论

  本文介绍的这3个数据恢复工具应该能够涵盖大多数数据恢复的需求,从恢复误删除的文件到从损坏的媒介中将数据拷贝出来都能胜任。在使用前请确保先仔 细查阅工具的手册文档,保证它们所执行的操作能完全符合你的需要。Linux上的这类系统软件大多数都没有图形用户界面,它们只能通过终端来运行。值得庆 幸的是,TestDisk和PhotoRec都有基于终端的界面可使用,这比纯粹靠命令驱动的程序相比还是好了很多。

  那么,你最喜爱的数据恢复工具是什么呢?有什么独门秘籍或解决方案呢?请在评论栏中为大家分享一下吧。

 原文发布时间为:2013-05-26

时间: 2024-10-29 15:21:38

Linux 上最优秀的数据恢复工具的相关文章

11款最棒的Linux数据恢复工具

如果你使用的是Linux操作系统,那么你一定想知道一旦硬盘崩溃的话又该如何保存和恢复数据.其实,现在有很多Linux数据恢复工具可以让我们摆脱数据安全的困扰.我已经为各位准备好了一些最好的Linux数据恢复工具,欢迎大家品鉴. 1.Knoppix Knoppix是从损坏的机器中恢复数据的最佳工具之一.它有一个可引导的CD版本,友好的用户界面.它可以让你轻松安装驱动器,然后复制数据. Knoppix自身携带了一整套的Linux命令. 2.Trinity rescue kit 它是为Linux设计的

从Linux上的DB2表生成动态数据表单

简介: 本文使用 Linux 上的 Kylix 3 和 Borland dbExpress 数据访问驱动程序来分析 DB2 UDB 数 据库表.字段(名称和类型),从而允许用户选择特定的表.来回切换应该显示的字段,以及动态查看数 据表格和单个数据感知控件的输出. 简介 在本文中,为了动态构建视图和表单,我将检查 DB2 Universal Database (UDB) 元数据.特别是,我将使用 Linux 上的 Kylix 3 和 Borland dbExpress 数据访问驱动程序,来分析 D

file-linux下的文件从一个电脑上拷贝到另外一个linux系统上时候有哪些数据一起被复制了?

问题描述 linux下的文件从一个电脑上拷贝到另外一个linux系统上时候有哪些数据一起被复制了? copy实现的机制是什么?拷贝一个文件的时候有哪些数据一起被复制了.(我的.sh文件拷贝到u盘上,然后又拷贝回来的时候,执行权限就丢失了) 解决方案 实现的机制不知道..肯定没有权限的,用chmod 加上就好. 解决方案二: 正常情况下是需要访问权限,读写权限的,但是拷贝到新的系统时可能当前系统没有执行权限,因为用户环境已经发生了变化.修改权限即可. 解决方案三: 缺省是不会复制的,你可以用tar

在linux下,python怎么才能抓到网卡上的所有TCP数据包?

问题描述 在linux下,python怎么才能抓到网卡上的所有TCP数据包? 网卡已经设置为混杂模式,能够收到mac不是本机mac的数据包,但是程序只能收到和本机ip一样的数据包,不能收到和本机ip不一样的数据包,求助.代码如下: sock = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_TCP) packet_base = sock.recvfrom(1024)[0] print "receive a packet

mysql-Hibernate 原生sql多表查询在Linux服务器上查询不到数据

问题描述 Hibernate 原生sql多表查询在Linux服务器上查询不到数据 String sql = "SELECT Area.* FROM area AS Area,district AS d WHERE Area.districtid=d.districtid AND Area.areaname= '" + areaname + "' AND d.districtname='" + cityname + "'"; @SuppressWa

[小白技巧]如何在Linux上检查MySQL数据表的存储引擎类型

[小白技巧]如何在Linux上检查MySQL数据表的存储引擎类型 数据库表的类型? MySQl主要使用两种存储引擎:MyISAM 和 Innodb.MyISAM是非事务的,因此拥有读取更快,然而InnoDB完全支持细颗粒度的事务锁定(比如:commit/rollback).当你创建一张新的MySQL表时,你要选择它的类型(也就是存储引擎).如果没有选择,你就会使用与预设置的默认引擎. 如果你想要知道已经存在的MySQL数据表的类型,这里有几种方法达到. 方法一 如果你可以访问phpMyAdmin

如何恢复 Linux 上删除的文件,第 1 部分

来源:http://www.ibm.com/developerworks/cn/linux/l-cn-filesrc/ 原理及普通文件的恢复 要想恢复误删除的文件,必须清楚数据在磁盘上究竟是如何存储的,以及如何定位并恢复数据.本文从数据恢复的角度,着重介绍了 ext2 文件系统中使用的一些基本概念和重要数据结构,并通过几个实例介绍了如何手工恢复已经删除的文件.最后针对 ext2 现有实现存在的大文件无法正常恢复的问题,通过修改内核中的实现,给出了一种解决方案. 内容 对于很多 Linux 的用户

如何选择 Linux 上的跟踪器

跟踪器tracer是一个高级的性能分析和诊断工具,但是不要让这名词唬住你,如果你使用过 strace 和 tcpdump,其实你就已经使用过跟踪器了.系统跟踪器可以获取更多的系统调用和数据包.它们通常能跟踪任意的内核和应用程序. 有太多的 Linux 跟踪器可以选择.每一种都有其官方的(或非官方的)的卡通的独角兽吉祥物,足够撑起一台"儿童剧"了. 那么我们应该使用哪个跟踪器呢? 我会为两类读者回答这个问题,多数人和性能/内核工程师.过一段时间这些可能会发生变化,我会持续跟进并补充,大概

怎样才能持续聘到优秀的数据人才?

数据人才们可以处理不确定性.不管我们打交道的数据有多"大",它含有有限个有偏的潜在样本.我们的模型在太简单以至于无实际意义和太复杂以至于无 法置信这两种极端情况间平衡选择.为了能找到控制数据噪声的方法,我们不断尝试模拟.测试验证.一个杰出的数据人才能够对他的数据.方法以及结论保持适度 的怀疑态度. 那么当有一天数据科学家面对出现的全新挑战:评估将成为他们团队中一员的面试者.这个样本空间下降的很快,实验方法看起来不会那么实用,面试中的偏差比我们实际工作中精心控制的数据偏差更呈现数量级的显