技术教程

linux数据恢复方法

    linux数据被误删除了,差点崩溃,试遍了所有常规恢复软件,无用,就要放弃的时候,发现了ext3grep这个开源东东!

  顺利恢复所有数据,所以linux下数据删除并不可怕,可怕的是删除后没有恢复的方法,看看下面的操作吧!

  [root@localhost ~]# uname -a

  Linux localhost.localdomain 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:21 EST 2007 i686 i686 i386 GNU/Linux

  其实什么版本的系统无所谓 !

  所需的相关库

  [root@localhost ~]# rpm -qa |grep e2fsprogs

  e2fsprogs-libs-1.39-8.el5

  e2fsprogs-1.39-8.el5

  e2fsprogs-devel-1.39-8.el5

  必须要有e2fsprogs-libs,不然在后面ext3grep的安装会有问题。

  分区情况:

  [root@localhost ~]# df -h

  Filesystem Size Used Avail Use% Mounted on

  /dev/mapper/VolGroup00-LogVol00

  6.2G 1.8G 4.2G 30% /

  /dev/sda1 99M 11M 83M 12% /boot

  /dev/mapper/VolGroup00-LogVol02

  1008M 34M 924M 4% /data

  tmpfs 125M 0 125M 0% /dev/shm

  需要软件

  http://code.google.com/p/ext3grep/downloads/list

  先下载软件

  [root@localhost ~]# cd /root/src/

  [root@localhost src]# wget http://ext3grep.googlecode.com/files/ext3grep-0.6.0.tar.gz src

  [root@localhost src]# ls

  ext3grep-0.6.0.tar.gz

  [root@localhost src]# tar xfvz ext3grep-0.6.0.tar.gz

  [root@localhost ext3grep-0.6.0]# ./configure

  [root@localhost ext3grep-0.6.0]# make install

  [root@localhost ext3grep-0.6.0]# ext3grep

  Running ext3grep version 0.6.0

  编译然后测试可以使用了,一切做好了以后开始我们的恢复过程。

  我的目录是/data分区,我先格式化了分区,我放一个文件在根目录下和一个子目录下的文件。

  /dev/mapper/VolGroup00-LogVol02 1008M 34M 924M 4% /data

  下面斜体部分不是必须的:

  其实这里用什么分区倒是无所谓,也可以模拟一个出来,下面是模拟步骤:

  1.        mkdir /data1/

  2.        cd /data1/

  3.        dd if=/dev/zero of=disk1 count=2048000

  4.        mkfs.ext3 disk1

  5.        mkdir -p /dfs/a

  6.        mount -o loop /data1/disk1 /dfs/a

  这里,我们用/data分区,先拷贝些文件过去

  [root@localhost ~]# ]# cp /bin/ls /data/

  [root@localhost ~]# ]# cp -rf /bin /data/

  [root@localhost ~]# ]# ls -la /data/

  total 136

  drwxr-xr-x 4 root root 4096 Apr 21 17:37 .

  drwxr-xr-x 25 root root 4096 Apr 21 17:11 ..

  drwxr-xr-x 2 root root 4096 Apr 21 17:37 bin

  drwx—— 2 root root 16384 Apr 21 17:15 lost+found

  -rwxr-xr-x 1 root root 93560 Apr 21 17:37 ls

  [root@localhost ~]#

  一个子目录一个可执行文件

  现在删除ls文件和bin下面的zcat

  [root@localhost ~]# rm /data/ls

  rm: remove regular file `/data/ls’? y

  [root@localhost ~]# rm /data/bin/zcat

  rm: remove regular file `/data/bin/zcat’? y

  [root@localhost ~]# ls -la /data/ls /data/bin/zcat

  ls: /data/ls: No such file or directory



相关文章