`
tomhibolu
  • 浏览: 1430935 次
文章分类
社区版块
存档分类
最新评论

ext4分区中恢复被删除的文件

 
阅读更多
作者:清林,博客名:飞空静渡

今天在测试我刚完成的在linux对NTFS分区进行备份和恢复的代码,运行程序备份一个200M的NTFS分区,然后在运行另一个程序恢复数据到这个200M的分区中,然后把这个分区加载到/tmp/sdd1中查看,文件恢复成功 --- 欣喜啊,做了几个星期,终于可以舒一口气了!

因此,想进一步测试一下,所以想把/tmp/sdd1中的内容删除,然后再恢复一次,看是否可以恢复整个分区的数据!因此手快快的运行了rm *。然后发现有个目录没删除,我想“不对啊!我没拷贝目录到这个NTFS分区啊”,然后看一下目录路径,自己的项目路径,因为我是在这个目录下加载/dev/sdd1 到/tmp/sdd1中的,并没有切换目录。这时心的都凉了!做了那么久的项目,那么多的代码文件,说没就没了 :( --- 欲哭无泪啊!

由于项目还没建svn代码库,因此所有代码都是在我机子本地,也没有一个备份,天!这么辛苦到底是为什么,而且还会影响到项目进度啊。

搞了那么久的windows下的文件系统的数据备份和恢复,而且还打算写一个NTFS分区的文件恢复软件,而现在呢,居然载在linux下的文件系统中,悲哀!

马上上网查找一下ext4分区的文件恢复!

找到了两个,一个是photorec,另一个是extundelete。

下面是我的文件恢复历程!

photorec恢复的数据非常凌乱,而且不准确,下面主要说明如何用extundelete来恢复我的数据!

下载的extundelete的源代码(网址:http://extundelete.sourceforge.net/)

这里强调一下,不要把代码下载到你要恢复的分区中,你要恢复文件的分区不要做任何的数据读写操作!

因此,我把extundelete下载到/tmp目录下,然后解压,编译!

在编译之前,需要安装两个库,一个是e2fsprogs,另一个是e2fslibs。

sudo apt-get install e2fsprogs e2fslibs-dev

这就是在ubuntu10.04下安装的。

然后就是到它的源代码目录src下运行make进行编译,最后生成extundelete可执行文件。

然后我就运行

sudo ./extundelete /dev/sda9 --restore-all

这里建议恢复所有的被删除的文件,下面会说明。

在程序结束后,会在程序的目录下生成一个目录RECOVERED_FILES

这个目录下就是所有被删除的文件,然后你就可以在下面找到你的被删除的目录及文件,但是我有很多文件还是找不到,好在我要找的文件是文本文件,因此,我就借助了grep命令来查找。

cd RECOVERED_FILES

到这个目录下,然后根据你的程序文件里的内容,比如说我要找我的PartNtfs类,因为这个文件找不到,因此我这样

grep -rHn "PartNtfs" *

根据输出内容,我找到了这个文件

fjb/.mozilla/firefox/omhuxrnc.default/Cache/CF72B08Ed01

用vim打开这个文件,果然是我需要的文件,因此把它拷贝出来并重命名。

所以在上面说一定要恢复所有被删除的文件,因为extundelete有可能会把恢复的文件改名,并放到其它目录中。

这里用grep来查找还是因此有些恢复的文件变成了隐藏文件,并且恢复的文件非常多,一个一个打开测试会非常麻烦,所以用grep来查找就快的多了。

最后,我很幸运,把整个工程的源代码文件成功恢复了,并重新编译 --- 成功!

这里如果extundelete没完全恢复你的文件数据,你可以再借助一下photorec和grep命令来恢复,photorec可以找回部分数据,但有些数据会比较凌乱,需要你去拼凑!photorec在testdisk中,你只需安装testdisk就会安装了photorec。

哎,虽然做了那么就的数据备份和恢复的软件,一不小心,也会载在这里,所以奉劝各位,一定要小心自己的数据保护和备份自己重要的数据,毕竟硬盘有价,数据无价啊!

原文地址:http://blog.csdn.net/fjb2080
分享到:
评论

相关推荐

    恢复ext4文件系统被误删的文件.doc

    恢复 ext4 文件系统中的误删文件需要使用专门的软件,如 extundelete,并需要避免误删文件的内容被覆盖。通过本文的介绍,您已经掌握了恢复误删文件的方法,希望您在将来能够避免误删文件的错误。

    找回Linux误删丢失文件支持Ext2/Ext3/Ext4格式文件

    在Linux系统中,数据安全是至关重要的,尤其是对于那些使用Ext2、Ext3或Ext4文件系统的用户。这些文件系统广泛应用于各种Linux发行版中,它们各有特点,但都有可能出现数据丢失的情况,如误删除文件。本文将详细介绍...

    电脑硬盘分区忘保存的文件怎么恢复重分区数据恢复软件--龙腾数据恢复软件

    除具备基本的建立分区、删除分区、格式化分区等磁盘管理功能外,还提供了强大的已丢失分区恢复功能(快速找回丢失的分区)、误删除文件恢复、分区被格式化及分区被破坏后的文件恢复功能、分区备份与分区还原功能、复制...

    WINDOWS下查看EXT4文件系统

    标题中的“WINDOWS下查看EXT4文件系统”是指在Windows操作系统中查看Linux系统中EXT4文件系统的能力。EXT4是Linux操作系统广泛使用的日志文件系统,它提供了高效、可靠的数据存储功能。由于Windows系统默认不支持EXT...

    EXT2/3恢复

    当EXT2或EXT3文件系统出现问题,如误删除文件、分区损坏或格式化等,需要使用专门的数据恢复工具进行恢复。"rdrext23.exe"可能是一个用于Windows环境下的EXT2/3文件恢复工具,它允许用户在没有Linux环境的情况下尝试...

    Linux下使用ext3grep恢复文件

    对于采用ext3文件系统的磁盘分区来说,使用`ext3grep`这一工具可以有效地帮助我们恢复已删除的文件。本文将详细介绍如何在Linux环境下安装与使用`ext3grep`进行文件恢复。 #### 二、准备工作 1. **下载安装ext3grep...

    Linux Ext3文件被删除后的恢复方法

    当用户意外删除EXT3文件系统中的文件时,了解其内部结构和恢复方法至关重要。 首先,EXT3文件系统的核心是文件节点(inode),它包含了文件的所有元数据,如所有权、权限、修改时间等。文件数据则存储在一系列的块...

    Windows下Linux分区文件恢复软件

    描述中提到的“Windows下Linux分区文件恢复软件”就是这样一个工具,它能识别并处理EXT2、EXT3和EXT4文件系统,帮助用户在Windows环境中找回丢失的Linux分区数据。 文件恢复的基本原理通常是基于文件分配表(FAT)...

    widows下直接读写ext2/3分区

    标题中的“Windows下直接读写ext2/3分区”指的是在微软的操作系统Windows上实现对Linux文件系统的直接访问。在Linux系统中,ext2和ext3是常见的文件系统格式,它们用于存储和组织数据。然而,Windows系统默认不支持...

    windows下浏览ext、swap分区

    - **浏览和操作**: 现在你可以像操作其他Windows分区一样浏览EXT分区,复制、移动、删除文件。至于SWAP分区,由于主要用于系统内存扩展,通常没有直接的操作需求,除非进行数据恢复。 5. **注意事项** - **数据...

    Ubuntu中恢复rm命令误删文件.docx

    在使用 extundelete 恢复文件时,文件将被恢复到一个名为 `RECOVERED_FILES` 的目录中。恢复的文件将被重新命名,因此需要使用 `grep` 命令来搜索和找到您想要的文件。 避免误删文件 为了避免误删文件,可以使用 ...

    EXT文件手动提取.doc

    在EXT3和EXT4中,超级块通常位于分区的第二扇区,其中包含了关于文件系统的重要元数据。 2. **块组描述符**:每个EXT文件系统被划分为多个块组,每个块组都有一个对应的块组描述符,用于记录该组的块位图、i节点...

    Ext4案例大全

    Ext4是Linux操作系统中广泛使用的文件系统之一,它在2008年被引入到Linux内核,并逐渐成为默认的文件系统选项。本资源“Ext4案例大全”提供了一系列关于Ext4的实例,旨在帮助开发者,无论是初学者还是有经验的用户,...

    ext4_unpacker_exe

    ext4_unpacker作为一个实用工具,它可能提供了文件浏览、提取、复制、删除等基本功能,以便于Windows用户与ext4文件进行交互。 "标签"中的"( ext4_"可能是指该程序专注于处理ext4相关的任务。标签通常用于分类和...

    windows系统下读取LINUX分区

    描述中提到的“支持从EXT3分区向外拷贝数据,但不支持直接修改删除”,意味着存在一种工具或方法允许用户在Windows下读取EXT3分区的内容,可以将数据复制出来,但不能直接在该分区上进行编辑、添加或删除文件。...

    制作ext2文件系统的方法 .

    EXT2文件系统在Linux社区中广泛使用,直到后来被EXT3和EXT4等更先进的文件系统所取代。本文将详细介绍如何制作一个EXT2文件系统。 一、EXT2文件系统的特点 1. 简单高效:EXT2文件系统的设计简洁,没有日志功能,这...

    linux下恢复被删除的文件.zip

    本文将深入探讨在Linux环境下如何恢复被删除的文件,主要关注两种常用的数据恢复工具:ext3grep和extundelete。 首先,让我们理解Linux下的文件系统删除机制。在Linux中,当使用`rm`命令删除文件时,系统并不会立即...

    Linux系统环境Ext3文件系统的使用介绍

    2. 创建Ext3文件系统,使用mke2fs命令指定分区和日志位置,例如`./mke2fs -j /dev/sda5`创建一个新的Ext3文件系统,并将日志记录在/dev/hda1分区。 总的来说,Ext3文件系统为Linux系统提供了增强的可靠性、可用性和...

    ext2fsd ext文件系统解析

    ext2fsd提供了读写支持,使用户能够在Windows环境下创建、修改、删除EXT分区上的文件和目录。 通过使用ext2fsd,开发者和系统管理员可以在不依赖虚拟机或双启动设置的情况下,方便地进行跨平台的数据交换和调试工作...

    LinuxEXT3文件系统下成功恢复误删的文件.pdf

    这个过程展示了在EXT3文件系统中如何利用`ext3grep`工具有效地恢复误删文件,这对于日常运维和数据保护具有重要意义。记住,尽管有这种恢复手段,但始终建议定期备份数据,以防止不可预知的数据丢失情况。

Global site tag (gtag.js) - Google Analytics