您现在的位置: 主页 > 嵌入式操作系统 > Linux > Linux下恢复误删文件:思路+实践
本文所属标签:
为本文创立个标签吧:

Linux下恢复误删文件:思路+实践

来源:网络整理 网络用户发布,如有版权联系网管删除 2018-06-29 

本文转载自如下博客地址:

http://guaneryu.com/blog/?p=1494


周五篮球群里有人问误删文件了怎么恢复,得知是ext4文件系统之后我推荐了ext4magic这个工具,然后又有人提到了xfs的话怎么办,正好前几天看到Dave Chinner在邮件列表里提到了这个问题,他推荐的工具是xfs_irecover。这里就稍微总结一下Linux下误删文件如何恢复。


1. 当发现误删了文件之后,立即把文件系统卸载掉,或者remount成ro状态,就是不要再写了,让数据不要被其他数据覆盖。因为大部分文件系统在删除文件的时候只是把这个文件标记成删除,把文件所使用的数据块标记成可用,但是上边的数据还没有被清除,数据还是在的。那么这个时候不再写硬盘也就保证了数据块不会被其他数据覆盖掉,也就还有希望找回来。


2. 这一步是可选的。最好把要恢复的分区做一个镜像,dd if=/dev/sda5 of=/path/to/image/file bs=4k,这样在恢复的时候在镜像上尽兴,就算恢复出错数据被毁掉了,那也是镜像。


3. 根据不同的文件系统,选用不同的工具来找回删除的文件。ext3推荐用ext3grep,ext4用ext4magic,其实ext4magic是基于ext3grep的,而且ext4magic也能处理ext2/3文件系统;xfs用xfs_irecover,xfs_irecover的manpage在这里。


4. 至于能够恢复多少数据出来,那就看人品了


这里用ext4做个例子


# create ext4 fs and copy some files there

fallocate -l 16m ext4.img

losetup -f --show ext4.img

mkfs -t ext4 /dev/loop0

mount /dev/loop0 /mnt/ext4

cp  /mnt/ext4/

sync


# delete some files

rm /mnt/ext4/*


# umount the ext4 fs, this is important!

umount /dev/loop0

# make a copy of the fs

dd if=/dev/loop0 of=ext4-copy.img bs=4k

# run ext4magic on the image

ext4magic -m -d outputdir ext4-copy.img

# some sample output from the command

eguan@localhost:~/workspace/src/kernel$ sudo /home/eguan/bin/ext4magic -m ext4.img -d testdir

Warning: Activate magic-scan or disaster-recovery function, may be some command line options ignored

"testdir"  accept for recoverdir

Filesystem in use: ext4.img


Using  internal Journal at Inode 8

Activ Time after  : Sun Jun  7 22:43:54 2015

Activ Time before : Sun Jun  7 23:02:18 2015

Inode 2 is allocated

Unknown code ext2 45 #0 for block bitmap for ext4.img

Warning: error-NR 2133571363 can not found file: /

MAGIC-1 : start lost directory search

MAGIC-2 : start lost file search

--------        testdir/MAGIC-2/image/jpeg/I_0000000012.jpg

--------        testdir/MAGIC-2/image/jpeg/I_0000000013.jpg

--------        testdir/MAGIC-2/image/jpeg/I_0000000014.jpg

MAGIC-2 : start lost in journal search

MAGIC-3 : start ext4-magic-scan search

ext4magic : EXIT_SUCCESS

更多使用方法看ext4magic的manpage吧,就在源码包里。


KVM社区QQ群,99.99%纯技术交流气氛

QQ 1群:434720759(已满

QQ 2群:131961942,加入密码大写KVM

1000人VMWare技术交流群494084329,加入密码小写vm

OpenNebula QQ群:495571573 加入密码Nebula

2000人OpenStack开发纯技术群: 334605713 加入密码nova

Cloudstack纯技术交流群:515249455密码cs

2000人桌面云行业讨论: 484979056 加入密码大写VDI

2000超融合行业讨论群:65779632 加入密码大写HC




              查看评论 回复



嵌入式交流网主页 > 嵌入式操作系统 > Linux > Linux下恢复误删文件:思路+实践
 数据 文件 密码

"Linux下恢复误删文件:思路+实践"的相关文章

网站地图

围观()