linux ext3误删除终极解决方案

转载 2007年10月04日 19:41:00
原贴:http://zhangyu.blog.51cto.com/197148/33799

linux ext3误删除终极解决方案


2006-09-01 12:26:45
 标签:数据恢复 

[申明]
    转载请保留原作网址,请完整保留此文,如需数据恢复服务,请拔打:010-51280825获取免费咨询 http://www.sjhf.net(关键字:LINUX误删除)
[引言]
    EXT3文件系统是目前LINUX平台使用最多的文件系统,原起自EXT2,在其基础上加入日志功能(主要改变),EXT3作为许多LINUX系统默认的 文件系统,误操作也在所难免。最常见的,基于LINUX EXT3上误删除操作的数据恢复就非常重要了。加上现在LINUX平台通常不用作娱乐,整体而言,数据较WINDOWS平台重要;同时,基于LINUX平 台的数据恢复软件及恢复原理方面的文章都较WINDOWS少得多。鉴于此,写此文章。
[原理]
    EXT3文件系统原理方面的文章很多,同时加上LINUX的开源性及EXT3本身的简洁性,通常了解EXT3文件系统并不是难事。作为误删除,我们需要了解文件的存储结构与删除所做的实际操作。
    EXT3是典型的UNIX类文件系统,首先将整个分区按固定大小的BLOCK分组,再将若干固定数目的BLOCK分组为BLOCK GROUP。这个概念为了描述方便,我们先放一放。再说别的。
    EXT3中的每个文件可以看成由参数+数据组成。比如一个a.tar,其文件包是数据,它的大小、日期、存储位置等。用来区别每个文件的唯一标识是这个文件的"标号"
, 可以简单理解:一个EXT3文件系统里有N个文件,其中M号文件大小为XX,日期为XX,数据存储位置为XX,这样就可以通过存储位置得到其数据XXX。 这里没有谈到名称,初步可以理解为EXT3的文件系统里没有名称。名称和目录树都是为了更人性化地解读文件系统的一个助记符。没有名称和目录树,EXT3 也可以完好地存储文件(可以这样理解),但只能看到一大堆大小不同、只在标号、没有目录层的“散”文件。我们看如何在此基础上加入目录:首先我们将所有目 录、文件统统看成文件(其实目录本身和普通数据文件一样,也有属性、大小、内容,只是其内容是为了助记整个文件系统的目录结构的)。目录中可以保存其下文 件(包括目录)的标号,以此类推。但只有标号,很难理解文件所代表的内容,所以可以给标号同时绑定一个人性化的名称,即文件名,使文件名与文件标号一一对 应。
    每个文件特有的属性通过编好序的INODE进行描述。通常根目录是2号文件,根目录本身存储(可以想像成与普通文件一样的记录)根目录下一级子目录及文件的名称及对应的INODE编号,在遍历文件系统时可以读到文件名称,同时读到其节点号。
    每个块组(前面讲过)分散放置系统中所有的INODE,其存储方式通过其他结构进行描述。系统可以很容易算出第N号节点的存储位置。通过节点就可以找到数据了。
    删除文件的目的是为了释放空间、从索引中去除相应记录。为了实现这样的目的,EXT3文件的删除会做这样的操作,1、重组目录文件的内容(目录文件中的记 录),在逻辑上去除被删除文件名称与INODE号的记录;2、更改被删除文件的INODE,至少去除其位置信息(直接与间接BLOCK号);3、在 BITMAP区释放原先占用的BLOCK(将原来的使用位更改为空闲,EXT3中即将1更改为0)
    从删除文件的原理来看,即使通过原来目录记录的残留信息可以找到被删除文件的名称,也可以找到其原来的节点号,但因位置信息已被清除,数据还是不能直接恢复。
    数据恢复的方法(待续。。。)。
 

Linux下使用extundelete恢复ext3误删除数据文件

文件系统是ext3,操作系统是rhel5.5 数据库正常关闭后,oradata/orcl104/*被全部删除,未做任何动作,然后卸载了文件系统。 [root@db9 ~]# df -h Fi...
  • TianyaG
  • TianyaG
  • 2013年07月15日 16:24
  • 1558

linux恢复误删除文件-ext3grep

linux恢复误删除文件 1. 安装rpm包 [root@zw_test_26_74 /]# rpm -ivh ext3grep-0.10.2-1.el4.rf.x86_64.rpm warni...

linux ext3 ext4文件系统下 恢复 rm -rf 误删除文件

今天一时手快 rm -rf .* ,删除了一个重要邮件目录,幸好通过extundelete恢复了。 记下操作流程: 1.准备工作 主要通过 extundelete 0.2.0完成恢复 需要...

使用extundelete恢复linux ext3 ext4文件系统下由 rm -rf 误删除文件

zz http://qyiyunso.blog.163.com/blog/static/350776862010826115537113/ 今天一时手快 rm -rf .* ,删除了一个...
  • orzorz
  • orzorz
  • 2012年08月20日 05:01
  • 1093

Linux操作系统下终端乱码的终极解决方案 export LANG=zh_CN.UTF-8 export LANG=en_US

在使用linux的终端工具SecureCRT的时候,每次提交SVN想输入中文日志的时候总是输不了中文。 svn ci -m "" 这时候两个引号之间就是没有办法输入中文。 后来跟其他同学请教,找了...
  • sun886
  • sun886
  • 2012年02月16日 16:29
  • 920

[置顶] sublime text linux上中文输入问题的终极解决方案

我一直在使用sublime text,在linux上之前一直遇到不能切换中文输入法的问题,也看了github上的一些解决方案,综合之后总结如下大杀器   1. 使用 inputhelper 插件 ...

Linux操作系统下终端乱码的终极解决方案 export LANG=zh_CN.UTF-8 export LANG=en_US

转载:http://hi.baidu.com/xuehuo_0411/blog/item/98559cf46107573fbd3109f6.html 在使用linux的终端工具Secur...

在Linux下adb连接不上android手机的终极解决方案

1、做android开发的过程,碰到了Linux下adb识别不了android设备的问题,刚开始在网上google下,发现都是针对ubuntu下的一些说明:如google提供的方法:http://de...

在Linux下adb连接不上android手机的终极解决方案

1、做android开发的过程,碰到了Linux下adb识别不了android设备的问题,刚开始在网上google下,发现都是针对ubuntu下的一些说明:如google提供的方法:http://de...

Linux操作系统下终端乱码的终极解决方案 export LANG=zh_CN.UTF-8 export LANG=en_US

在使用linux的终端工具SecureCRT的时候,每次提交SVN想输入中文日志的时候总是输不了中文。 svn ci -m "" 这时候两个引号之间就是没有办法输入中文。 后来跟其他同学请教,找了...
  • jamesmgw
  • jamesmgw
  • 2012年02月11日 13:44
  • 22856
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux ext3误删除终极解决方案
举报原因:
原因补充:

(最多只允许输入30个字)