Chinaunix首页 | 论坛 | 博客
  • 博客访问: 279531
  • 博文数量: 28
  • 博客积分: 690
  • 博客等级: 上士
  • 技术积分: 860
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-24 13:52
文章分类

全部博文(28)

文章存档

2012年(28)

分类: 服务器与存储

2012-04-28 22:03:42

EXT3文件系统下用ext3grep软件恢复被误删的数据

操作系统:Red Hat Enterprise Linux Server release 6.1

所需软件:

   ext3grep-0.10.2.tar.gz

   e2fsprogs-1.41.12-7.el6.i686

 

安装ext3grep-0.10.2.tar.gz软件:

  tar –zxvf ext3grep-0.10.2.tar.gz

  cd ext3grep-0.10.2

  ./configure

  make

  make install

安装e2fsprogs-1.41.12-7.el6.i686

  这里我在本机上已经搭建好与ISOyum,所以就直接

  yun install e2fsprogs*

 

开始挂硬盘,因为我本机上有一块空的分区/dev/sdb5,所以我就用这个分区了。

先对/dev/sdb5进行格式化分区:mkfs.ext3 /dev/sdb5

然后mount /dev/sdb5 /mnt/disk1/,并在/mnt/disk1下创建文件或者文件夹,例如:

我们开始删除里面的清空该挂载目录下的全部内容,进入挂载目录中,然后执行命令

rm –rf * (一定要进入挂载目录中执行)

此时我的目录已经空了,然后cd ..到上层目录中,因为当我们执行rm –rf *时,没有将文件所占用磁盘的block给删除,如果我们往磁盘中写内容会把误删的文件的block给覆盖掉,导致文件无法恢复。

 

到上层目录后,执行

其中—inode 2,代表从分区的根目录下开始索引,执行完这个命令后会显示出

或者可以执行命令ext3grep /dev/sdb5 --ls --inode 2 –delete 直接查看被删除的文件或者文件夹。

表格中Dleteion time这一栏有内容的就是被删除的文件或者文件夹。

 

这时你会发现在当前目录下会产生2个文件,我的是

这里面显示的是磁盘里文件系统的信息,主要是inode

 

现在开始恢复数据:

例如,我们想恢复a文件

ext3grep /dev/sdb5 --restore-file a

此时你会发现在当前目录下会产生一个RESTORED_FILES的文件夹,这个文件夹的作用是将恢复的文件存在该文件夹中。、

 

如果想恢复目录的话,现在找到的方法是

会在RESTORE_FILES文件夹中产生一个inode.77281的文件夹,但是只恢复了文件夹

如果想恢复文件夹里面的,先执行

显示出该文件夹下被删除的内容。

然后执行

然后手动的放到该目录中并改名。

 

如果一次性全部恢复,执行

 

然后将RESTORE_FILES文件夹中的内容,复制到挂载分区中。

 

然后下次做数据恢复时记得把上次产生的文件和文件夹删掉。

 

今天网络不行,下次查询下不同文件系统的数据恢复。还有就是不知道如何整个目录树进行恢复。

阅读(2010) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~