linux下恢复误删除的文件方法(ext2及ext3)

linux下恢复误删除的文件方法(ext2及ext3) 2009-12-19 15:23:47

分类: LINUX

如果是ext2文件系统的,直接用debugfs是可以恢复出来的,但对于ext3,debugfs就无能为力了,好在我们有了ext3grep这个开源工具(http://code.google.com/p/ext3grep/)!

对于ext2

1、在/data(/dev/sdb)上创建并删除测试文件(作测试目的以plantodelete为例)

#vi plantodelete

输入This text is plantodelete! 保存退出

#rm -f plantodelete

2、以只读方式remount /data,防止再次写入文件

#mount -r -n -o remount /data

如果出现busy用

#fuser -k /data

3、恢复误删除的文件

#debugfs /dev/sdb

debugfs 1.35 (28-Feb-2004)
  debugfs: lsdel                   <-- 列出删除的文件

Inode  Owner  Mode    Size    Blocks   Time deleted
    12      0 100600   4096    1/   1 Sat Dec 19 15:54:04 2009
    13      0 100644     14    1/   1 Sat Dec 19 15:54:08 2009
2 deleted inodes found.
debugfs: stat <13>                 <-- 察看状态
Inode: 13   Type: regular    Mode:  0644   Flags: 0x0   Generation: 2897353947
User:     0   Group:     0   Size: 14
File ACL: 1033    Directory ACL: 0
Links: 0   Blockcount: 16
Fragment:  Address: 0    Number: 0    Size: 0
ctime: 0x4b2c86a0 -- Sat Dec 19 15:54:08 2009
atime: 0x4b2c869c -- Sat Dec 19 15:54:04 2009
mtime: 0x4b2c869c -- Sat Dec 19 15:54:04 2009
dtime: 0x4b2c86a0 -- Sat Dec 19 15:54:08 2009
BLOCKS:
(0):8200
TOTAL: 1
debugfs: dump <13> plantodelete   <-- 恢复文件

debugfs: q                        <-- 退出debugfs

在运行debugfs命令的当前目录下就可以看见恢复的文件了

对于ext3

1、下载并安装ext3grep

#wget -c http://ext3grep.googlecode.com/files/ext3grep-0.10.1.tar.gz

#tar zxf ext3grep-0.10.1.tar.gz

#cd ext3grep-0.10.1

#./configure

#make

#make install

依赖包

-r--r--r-- 1 root root 863808 Nov 5 19:03 e2fsprogs-1.39-33.el5.x86_64.rpm
-r--r--r-- 1 root root 587041 Nov 5 19:03 e2fsprogs-devel-1.39-33.el5.i386.rpm
-r--r--r-- 1 root root 652235 Nov 5 19:03 e2fsprogs-devel-1.39-33.el5.x86_64.rpm
-r--r--r-- 1 root root 122537 Nov 5 19:03 e2fsprogs-libs-1.39-33.el5.i386.rpm
-r--r--r-- 1 root root 122590 Nov 5 19:03 e2fsprogs-libs-1.39-33.el5.x86_64.rpm
drwxr-xr-x 3 1000 1000 4096 Nov 5 19:04 ext3grep-0.10.2
-rw-r--r-- 1 root root 236364 Nov 5 18:55 ext3grep-0.10.2.tar.gz

安装时用rpm -ivh xxxx.rpm来安装即可

2、将要恢复数据的分区umount(以 /dev/sdb  /data为例 )

#umount /data

如果因为busy无法正常umount,使用

#fuser -k /data

杀掉进程再umount

3、查找并恢复误删除的文件

#ext3grep /dev/sdb  --ls --inode 2

找到想要恢复的文件的inode 如 13

#ext3grep /dev/sdb  --restore-file --inode 13

恢复成功后在运行ext3grep的当前目录下就会有RESTORE_FILES目录下就是恢复出来的文件

时间: 2024-12-22 03:42:43

linux下恢复误删除的文件方法(ext2及ext3)的相关文章

Linux下恢复误删除的文件

原文地址:http://www.libenfu.com/vim-分区下误删的文件,恢复文件全记录-转 当时我的工作目录是/source/needrecovered. $ pwd /source/needrecovered 原本打算清空其中的一个子文件, $ rm -rf canbedeleted/html 却打成如下命令: $ rm -rf canbedeleted/ * 当时我琢磨着今天怎么删个小文件夹这么慢呢.等我仔细看了下命令,反应过来的时候,已经太迟了,整个工作目录被清空了 . 没辙了,

恢复Linux下被误删除的文件(笔记)

恢复Linux下被误删除的文件 [[email protected] ~]# mount /dev/cdrom /mnt/ 分一个区:sda4  查找:extundelete 分一个区:sda4  [[email protected] ~]# mkdir /tmp/sda4 [[email protected] ~]# mkfs.ext4 /dev/sda4     格式化 [[email protected] Desktop]# echo $? 0 [[email protected] ~]#

linux下生成core dump文件方法及设置【转】

转自:http://blog.csdn.net/mrjy1475726263/article/details/44116289 源自:http://andyniu.iteye.com/blog/1965571 core dump的概念: A core dump is the recorded state of the working memory of a computer program at a specific time, generally when the program has te

linux lsof恢复误删除的文件

早上起来被告知昨晚误删除了3个mysql的文件,只能恢复了 这是删除前的文件信息: 首先lsof查看进程: 这里PID都是一样的,下面进入proc里ls -l查看: # cd /proc/8784/fd/ 这里可以看到ibdata1删除的信息了 接着直接cp复制 #cp 4 /tmp/ibdata1.bak 其余的2个同理恢复,下面是恢复后的文件: +++++++++++++++++++++++++++++++++++++++++++++ 虽然恢复了,但是事情绝对没有这么简单!!! 因为,在in

如何恢复Linux下被误删除的文件以及如何防止文件被删除

[卸载被误删除文件所在的分区,或以只读方式mount] 当你发现你误删除了文件后,要做的第一件事情是马上卸载被误删除文件所在分区,或者以只读的方式来挂在该防区.如果误删除的是根分区,最好直接断电,进入单用户模式,以只读的方式挂在分区,然后再进行恢复 mount -o ro,remount /dev/sdb /mnt 如果删除的不是根分区,使用umount来将该分区进行卸载   umount /dev/sdb3 [安装Ext3grep工具] 下载Ext3grep工具,http://code.goo

linux下恢复误删除的数据文件

在linux系统运维中,经常会遇到各种因操作不慎.操作失误等行为导致数据丢失的情况,此时我们可以利用extundelete进行数据的恢复.一. 实验前的准备 新建一个磁盘 在虚拟机设置窗口中,找到"硬盘",点击"添加",在打开的"添加硬件向导"窗口中,选中"硬盘",点击下一步,接下来我们直接默认选择"下一步",直到最后选择"完成",2.重启系统,我们可以用 init 6 这条命令重启系统

win7下恢复误删除的文件

这个方法可以恢复两种情况下删除的文件和文件夹,并且没有运行磁盘整理,且系统完好: 1. 有的时候删除文件的时候按了快捷键,Shift+Delete,这样的文件不会进入回收站,直接被删除了. 2. 文件被放入了回收站,但后来清空了回收站. 步骤一:单击"开始"--"运行",然后输入regedit 步骤二:打开注册表后,依次展开 HEKEY_LOCAL_MACHIME/SOFTWARE/Microsoft/Windows/CurrentVersion/Explore/D

linux下生成core dump文件方法及设置

core dump的概念: A core dump is the recorded state of the working memory of a computer program at a specific time, generally when the program has terminated abnormally (crashed). In practice, other key pieces of program state are usually dumped at the s

Linux下分割与合并文件的方法

Linux下分割与合并文件的方法 切割合并文件在linux下用split和cat就可以完成.下面举些实例进行说明.1.文件切割文件切割模式分为两种: 文本文件 二进制模式. 1.1文本模式文本模式只适用于文本文件,用这种模式切割后的每个文件都是可读的.文本模式又分为两种:     按最大文件大小切割:     按文本行数切割. 1.1.1最大文件大小切割 split -C 5k duanxin split 将文本文件duanxin按每块最大5k的大小进行切割,不打碎行.输出文件名类似splita