如何恢复已删除的文件?


Answers:


66

TestDisk有时可以恢复最近删除的文件。


4
对于知道特定于相机卡的某人可能很重要,它在TestDisk上存在PhotoRec
Luis Siquot 2015年

1
目前,TestDisk还没有图形用户界面,帮助(手册)页面对我来说还不够有用。
silviubogan 2015年

4
PhotoRec(cgsecurity.org/wiki/PhotoRec)对我来说非常有用,可以恢复意外删除的文件(在具有ext4的Ubuntu 14.04上)。我首先尝试使用TestDisk,但它无法恢复它们。无论如何,我发现这两个工具都是在同一文件夹中制作的。
Andrea

1
@silviubogan实际上,TestDisk具有一个相当不错的文本用户界面,并带有菜单和说明。所有动作都有一个相关的键来执行它们,并且它们清晰地写在每个屏幕上,以便于访问。
Andrea Lazzarotto

25

最重要的是在NTFS(Windows),FAT32(诺基亚手机的闪存卡)和ext3下恢复损坏的硬盘,并取得了很好的效果。仅命令行,但是很容易,就像这样:

sudo foremost -i /dev/sda -o <dir where recovered files will be stored>

它将按文件类型对文件夹中恢复的文件进行排序。Openoffice文档将恢复为zip文件。由于您需要以root用户身份执行(为了直接访问硬件),因此输出文件也归root用户所有,因此您之后可能需要更改其所有权。


这个问题可能太老了,但是恢复后GIMP文件的外观如何?
唤醒

我不知道,我从未尝试过恢复它们。
哈维尔·里维拉,

@JavierRivera-我不相信foremost可以恢复.xcf文件。参见手册页,它只能处理以下文件类型:(jpg,gif,png,bmp,avi,exe,mpg,mp4,wav,riff,wmv,mov,pdf,ole,doc,zip,rar,htm,和cpp)。
slm 2014年

已经在运行...让我等待结果。将分享。
帕特里克·穆特维里

完成需要多少时间?以获得32GB的USB内存
Mina Michael

25

如果您的文件系统是ext3或ext4,extundelete确实很棒。

注意:extundelete要求您卸下驱动器以使其正常工作(无论如何,这是一个好主意,请尽快执行,以避免潜在地覆盖已删除文件中希望恢复的字节)。

在实时系统上卸载驱动器可能很棘手……您经常会收到“ device is busy”消息。要清除此“正确”消息,需要关闭所有访问文件系统的进程。但是...您可能在主目录中工作,并且无数个进程挂接到主目录中,所以祝您好运。

解决这个问题的技巧是执行“懒惰”卸载:

$ mount
/dev/sda7 on /home type ext4 (rw)
$ sudo umount -l /home

哪里:

  • 这个例子对我来说是准备将我的/home坐骑与extundelete一起使用。您显然需要/home用感兴趣的部分替换
  • mount首先执行了命令,以找出/dev/sda7需要传递给extundelete的设备()(为了简洁起见,输出被截断了)
  • -l选项中是小写L

4
延迟卸载实际上并没有帮助,因为fs会一直挂载,直到关闭其上的所有文件为止。您只需要在删除文件后立即关闭系统,然后从livecd运行extundelete。
psusi 2011年

@psusi-说它没有帮助绝对是不正确的! umount -l防止打开/创建和写入任何新文件(Web缓存等)。但是,它并不能阻止对现有从仍然被写入到打开的文件(即:不会关闭现有文件)。您建议关闭,但我认为(大多数情况下)延迟卸载会导致写入的文件减少,具体取决于相关分区。关于这一点,最好是已经安装了extundelete,如果没有,请确保将其安装到您要恢复的分区以外的其他分区上!
罗斯,

只要仍挂载fs,尝试访问它就会导致损坏。这就是extundelete首先要求您卸载fs的原因。懒惰卸载只是愚弄了它,使它认为它没有被安装,因此,如果情况并非如此,则可以安全地进行磁盘操作。在实际卸下fs之前继续进行extundelete操作,可以使整个磁盘变硬。
psusi 2011年

1
@psusi-“可以软管整个磁盘”吗?使用只读操作?我不明白你的观点,或者你如此偏执。extundelete不会“操纵磁盘”。我能想象到的最糟糕的事情是extundelete 期望进行卸载/静态分区,并且如果在读取日志信息时由于打开了文件的进程而导致延迟卸载的磁盘发生更改,则extundelete可能会感到困惑,并且恢复可能会失败。“可能失败的恢复”!=“托管磁盘”。如果确实失败,请关闭,请祈祷关闭不会丢弃丢失的数据,并按照您的建议使用livecd。
罗斯,

1
上帝保佑这个程序!还有你@Russ。恢复了我所有的文件!
弗拉基米尔·科瓦尔丘克(Fladimir Kovalchuk)

14

如果您意外删除了一些文件,但仍然知道在该文件中写入的一些字符串,则可以使用:

grep -a -B 25 -A 100 'containing string' /dev/sda1 > result.txt

1
如果文件是二进制而不是文本怎么办?
Decio Lira 2010年

假设是文本,他如何使用result.txt恢复文件?我不明白..
sergio91pt 2011年

我尝试了其他一些先前的答案。他们都没有工作。这个简单的把戏做到了!谢谢!
JamesThomasMoon1979年

它确实有效,很棒的东西。非常感谢。
Snehal Parmar

2
应该注意的是25100对于一些特殊情况,可能只是需要调整一些魔术数字。
Andrea Lazzarotto

12

要恢复目录,您可以使用 extundelete

  1. 安装extundelete

    sudo apt-get install extundelete
    
  2. 恢复命令

    sudo extundelete --restore-directory /home/Documents/ /dev/sda1
    

注意:代替dev/sda1放置您的hardisk分区名称。

/home/Documents/ 是您删除目录的路径。


1
我曾经autopsy找到所需的索引节点,然后extundelete将其还原。做得好!
拉斐尔2014年

我的结果看起来.....~/Books$ sudo extundelete --restore-directory /home/newubuntu/Books/LaTeX /dev/sda2 WARNING: Extended attributes are not restored. Loading filesystem metadata ... 522 groups loaded. Loading journal descriptors ... 32242 descriptors loaded. Writing output to directory RECOVERED_FILES/ Failed to restore file /home/newubuntu/Books/LaTeX Could not find correct inode number past inode 2621441.
不错

我想在命令中发送确认。怎么样?
alhelal

sudo extundelete -y --restore-directory /home/Documents/ /dev/sda1 像这样。
alhelal

10

R-Linux(恢复工作室)是最好的之一。我以前使用过此工具很多次。我在一家公司使用商业版本的公司工作过,它可以恢复您想要的一切的9/10倍。真正精湛的应用程序。救了我的人,和朋友们多次背道而驰。

R-Linux是Linux OS和多个Unix中使用的Ext2 / Ext3 / Ext4 FS文件系统的免费文件恢复实用程序。R-Linux使用与R-Studio相同的InteligentScan技术,并通过灵活的参数设置为Linux平台提供最快,最可靠的文件恢复。但是,与R-Studio不同,R-Linux无法通过网络恢复数据或重建RAID或提供对象副本。

功能(来自其网站):

R-Linux恢复文件

  • 通过病毒攻击,电源故障或系统崩溃消除;
  • 包含文件的分区被重新格式化,损坏或删除后;
  • 更改或损坏磁盘上的分区结构时。在这种情况下,R-Linux可以扫描磁盘以尝试找到先前存在的分区,并从找到的分区中还原文件。
  • 从具有坏扇区的磁盘。在这种情况下,R-Linux可以先将整个磁盘或其部分复制到一个映像文件中,然后再处理该映像文件。当新的坏扇区不断出现在磁盘上并且必须立即保存剩余信息时,此功能特别有用。

R-Linux高级功能

  • 标准的“ Windows资源管理器”-样式界面。
  • 主机操作系统:
    • Linux变体:Linux,内核2.6及更高版本
    • Windows变体:Win2000,XP,2003,Vista,Windows 7,Windows 8
  • 支持的文件系统:仅Ext2 / Ext3 / Ext4 FS(Linux)。
  • 识别和解析Dynamic(Windows 2000 / XP / Vista / Win7),Basic,GPT和BSD(UNIX)分区布局方案和Apple分区图。支持基于GPT的动态分区以及基于MBR的动态分区。

  • 为整个硬盘驱动器,逻辑磁盘或其一部分创建映像文件。这样的图像文件可以像普通磁盘一样进行处理。映像既可以是与旧版本的R-Linux兼容的简单精确的对象副本(普通映像),也可以是压缩的映像,可以将其压缩,分解成多个部分并使用密码保护。此类映像与R-Drive Image创建的映像完全兼容,但与R-Linux的旧版本不兼容。

  • 识别本地化名称。

  • 恢复的文件可以保存在主机操作系统可访问的任何(包括网络)磁盘上。

我没想到这对于Linux是免费的。我已经知道R-Studio,它是很棒的软件。很棒,它对Linux文件系统是免费的。
0x01

1
此工具仅免费用于恢复小于256kb的文件
Tik0

6

如果使用辅助内部HD(对于外部HD也是相同的)从恢复的文件导入(从主HD,最初是文件所在的位置)导入,则需要建立目录,文件将被放置在辅助HD上。为此,您需要先将BIOS设置为从CD引导!1.启动Live Ubuntu Rescue-Remix CD,给出命令启动,然后在引导至终端时,通过命令检查硬盘–代码:sudo fdisk -l

意识到什么是主要的HD,什么是次要的,以及要检查文件的分区和将文件恢复到的分区– linux ext3或Windows NTFS!我的是Linux。有足够的空间!(然后,您可以尝试运行Photorec(“ sudo photorec”),并希望您能够看到所有HD。我不是那么幸运,所以我必须制作目录并挂载秒HD。)

  1. 首先为恢复的文件创建目录,例如– media / disk。发出命令-代码:sudo mkdir /media/disk

如果还可以,则终端提示仅返回。

  1. 必须安装辅助HD,否则即使“ sudo fdisk -l”显示了它,它也将不可见。为您的辅助HD提供命令-代码:sudo mount -t ext3 /dev/sdb2 /media/disk

如果还可以,则终端提示仅返回。

  1. 通过命令运行Photorec –代码:

    sudo photorec

遍历设置,仅选择所需的文件类型,否则将有成千上万个文件可供筛选!

有关更多详细信息,请访问:http://www..ubuntumanual.org/posts/357/recover-your-deleted-files-in-ubuntu


5

尝试手术刀

sudo apt-get install scalpel

了解更多信息

手术刀


现在尝试。我不太了解如何将新文件添加到conf文件中。您是否有详细信息的来源?
Decio Lira 2010年

2
我发现howtoforge.com/recover-deleted-files-with-scalpel总比没有好。祝您好运,这不是MS-DOS。
MSW 2010年

另请参见ubuntu.stackexchange.com/questions/2596/…我使用了相对较重的系统备份,但设置了“ Back in Time”以从/ home / msw中复制选定的目录(包括也可以捕获的.config .config/keepassx/*(您的位置可能每晚)。我也一直以来都在使用Unix,通常您在第二次the-really-critical.file
吹牛

手术刀的功能似乎与最重要的相同,但是尽管手术刀自10年以来就不再开发,但最重要的是近年来它已进行了许多更新。
sebix


2

安装手术刀

sudo apt-get install scalpel

编辑scalpel.conf文件,并取消注释要恢复的文件类型。创建一个空文件夹(例如:recovered_data),找到数据所在的分区。您可以使用lsblk获取分区图。

sudo lsblk

运行手术刀(假设数据在sda1中)

sudo scalpel -o recovered_data/ /dev/sda1

1

最近,我使用ext3grep恢复了从ext3文件系统删除的大型SQLite 3文件。

我尝试了许多其他未删除工具,所有这些工具都无法(从磁盘的dd映像)恢复文件。

为了使用ext3grep,我需要下载并编译源代码。请从上至下仔细阅读http://www.xs4all.nl/~carlo17/howto/undelete_ext3.html,以了解ext3文件系统如何工作以及如何使用日志查找已删除文件的位置。磁盘也是必需的。

这不是一个简单的解决方案,但是非常强大。如果您准备花几个小时研究文档并编译程序,那是值得的。


谢谢,我可能会尝试。这仅适用于ext3文件系统吗?ext4呢?
Decio Lira

我不确定ext4,但我认为ext4与ext3向后兼容。我认为它会工作,但从未尝试过。
史黛西·理查兹
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.