linux恢复误删除文件-extundelete

经过本人测试该工具支持ext3和ext4文件系统

当发现某个分区的数据被误删除后,要做的第一件事是立刻卸载被误删除文件所在的分区,或者重新以只读方式挂载此分区。

这么做的原因其实很简单:删除一个文件,就是将文件inode节点中的扇区指针清除,同时,释放这些数据对应的数据块,而真实的文件还存留在磁盘分区中。但是这些被删除的文件不一定会一直存留在磁盘中,当这些释放的数据块被操作系统重新分配时,那些被删除的数据就会被覆盖。因此,在数据误删除后,马上卸载文件所在分区可以降低数据块中数据被覆盖的风险,进而提高成功恢复数据的机率。

1. 创建文件系统

[root@zw_test_26_74 /]#  mkfs -t ext4 /dev/sdb3

2.查看文件系统类型

[root@zw_test_26_74 /]# blkid /dev/sdb3  --查看文件系统类型

/dev/sdb3: UUID="b786e8d1-e8ac-4681-ad3a-ff7a39c07146" TYPE="ext4"

也可以用下面方法查看

[root@zw_test_26_74 ~]# file -s /dev/sdb3

/dev/sdb3: Linux rev 1.0 ext4 filesystem data (extents) (huge files)

3.创建一个delete目录,并挂载到刚创建的文件系统上,并创建文件,然后删除文件

[root@zw_test_26_74 /]# mkdir delete

[root@zw_test_26_74 /]# mount /dev/sdb3 /delete

[root@zw_test_26_74 /]# cd /delete

[root@zw_test_26_74 delete]# ls

lost+found

[root@zw_test_26_74 delete]# vi zw.txt      --添加一些内容

[root@zw_test_26_74 delete]# rm -rf zw.txt

4.下载

extundelete 主页:http://extundelete.sourceforge.net/

下载地址:http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2   --0.2.4版本

[root@zw_test_26_74 /]# wget  http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2

[root@zw_test_26_74 /]# tar -xvf extundelete-0.2.4.tar.bz2

[root@zw_test_26_74 extundelete-0.2.4]# cd /extundelete-0.2.4

[root@zw_test_26_74 extundelete-0.2.4]# ./configure --prefix=/usr/local/extundelete  && make && make install

Configuring extundelete 0.2.4

configure: error: Can't find ext2fs library

这是因为extundelete依赖e2fsprogs。

[root@zw_test_26_74 extundelete-0.2.4]# yum -y install e2fsprogs  e2fsprogs-devel

安装e2fsprogs后再次configure 成功。

[root@zw_test_26_74 extundelete-0.2.4]# ./configure  --prefix=/usr/local/extundelete  && make && make install

Configuring extundelete 0.2.4

Writing generated files to disk

make -s all-recursive

Making all in src

Making install in src

/usr/bin/install -c 'extundelete' '/usr/local/bin/extundelete'

5.查看工具版本

[root@zw_test_26_74 /]# cd /usr/local/extundelete/bin

[root@zw_test_26_74 bin]# ./extundelete -v

extundelete version 0.2.4

libext2fs version 1.41.12

Processor is little endian.

6.卸载分区,注意如果是/ 根目录的删了,把磁盘挂载到其他机器做恢复

[root@zw_test_26_74 ~] fuser -k /delete         <-- 结束使用某分区的进程树

[root@www ~]# umount /delete                    <-- 卸载分区

[root@zw_test_26_74 ~]#  umount /dev/sdb3

7.使用extundelete查看分区上存在的文件

extundelete --inode 2 /dev/sdb2

# --inode 为查找某i节点中的内容,使用2则说明为搜索,如果需要进入目录搜索,只须要指定目录I节点即可

[root@zw_test_26_74 bin]#  extundelete --inode 2 /dev/sdb3

WARNING: Extended attributes are not restored.

Loading filesystem metadata ... 26 groups loaded.

Contents of inode 2:

0000 | ed 41 00 00 00 04 00 00 01 7b c6 56 05 7b c6 56 | .A.......{.V.{.V

0010 | 05 7b c6 56 00 00 00 00 00 00 03 00 02 00 00 00 | .{.V............

0020 | 00 00 00 00 20 00 00 00 e3 10 00 00 00 00 00 00 | .... ...........

0030 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................

0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................

0050 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................

0060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................

0070 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................

Inode is Allocated

Group: 0

File mode: 16877

Low 16 bits of Owner Uid: 0

Size in bytes: 1024

Access time: 1455848193

Creation time: 1455848197

Modification time: 1455848197

Deletion Time: 0

Low 16 bits of Group Id: 0

Links count: 3

Blocks count: 2

File flags: 0

File version (for NFS): 0

File ACL: 0

Directory ACL: 0

Fragment address: 0

Direct blocks: 4323, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

Indirect block: 0

Double indirect block: 0

Triple indirect block: 0

File name                                       | Inode number | Deleted status

Directory block 4323:

.                                                 2

..                                                2

lost+found                                        11

zw.txt                                           14             Deleted

.zw.txt.swp                                       13             Deleted

zw.txt~                                           12             Deleted

上面标记为deleted的,zw.txt 就是我误删的数据

8. 恢复:

root@zw_test_26_74 bin]# extundelete --restore-all  /dev/sdb3

WARNING: Extended attributes are not restored.

Loading filesystem metadata ... 26 groups loaded.

Loading journal descriptors ... 47 descriptors loaded.

Writing output to directory RECOVERED_FILES/

Searching for recoverable inodes in directory / ...

1 recoverable inodes found.

Looking through the directory structure for deleted files ...

Restored inode 14 to file RECOVERED_FILES/zw.txt

0 recoverable inodes still lost.

[root@zw_test_26_74 bin]# ll

total 1164

-rwxr-xr-x 1 root root 1187047 Feb 19 10:10 extundelete

drwxr-xr-x 2 root root    4096 Feb 19 11:20 RECOVERED_FILES

[root@zw_test_26_74 bin]# cd RECOVERED_FILES/

[root@zw_test_26_74 RECOVERED_FILES]# ll

total 4

-rw-r--r-- 1 root root 150 Feb 19 11:20zw.txt

可以看到zw.txt 已经恢复到RECOVERED_FILES 目录下了。

9.扩展命令:

--restore-inode 12              # --restore-inode 按指定的I节点恢复

--restore-file zw.txt           # --restore-file 按指定的文件名恢复

--extundelete --restore-all     # --restore-all  是全部恢复 ,默认全将恢复出来的文件放在当前路径 RECOVERED_FILES/ 目录下,文件名为 file.I节点号

注意: RECOVERED_FILES目录生成在当前执行命令的目录下面啦!

转载于:https://blog.51cto.com/sf1314/2055026

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 151,511评论 1 330
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 64,495评论 1 273
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 101,595评论 0 225
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 42,558评论 0 190
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 50,715评论 3 270
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 39,672评论 1 192
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,112评论 2 291
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 29,837评论 0 181
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 33,417评论 0 228
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 29,928评论 2 232
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,316评论 1 242
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 27,773评论 2 234
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,253评论 3 220
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,827评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,440评论 0 180
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 34,523评论 2 249
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 34,583评论 2 249