取消删除ext4上的文件


11

我的母亲在每次事故中都在/ tmp上放置了一些重要文件。现在,它们当然不见了。

昨天发生了这件事(此机器2次启动)

我想尝试删除文件。它们在/ tmp上,与/的其余部分位于同一分区上,因此我需要一个在已安装系统上运行的工具(或者我可以使用livecd ...)

现在,我正在刚刚下载的systemrescuecd上尝试使用testdisk。我可以从/ tmp获取一些文件,但不是全部。(这是正确的工具吗?那些“红色”文件到底是什么?仅其中一些可恢复吗?)

Answers:


15

您也可以使用 extundelete

首先卸载(umount)已删除文件的文件系统。
然后阅读章节删除文件后的处理方法

您可以extundelete从经典的Ubuntu存储库安装:

sudo apt-get install extundelete

或者更好的是,您可以下载最新版本并进行编译:

cd ~/Download
tar -xf extundelete-*.*.*-.tar.bz2  #Replace *.*.* by the version
cd      extundelete-*.*.*
sudo apt-get install e2fslibs-dev   #Required for compilation
./configure
make
sudo make install
extundelete --version               #Should be your *.*.* version

使用示例:将目录中所有已删除的文件还原Images到新创建的目录中restore

sudo extundelete --restore-directory Images/ -o restore /dev/sda3

如果您看到XXXX以下格式的文件,则是个坏消息:

Unable to restore inode NNN (Images/XXXX): Space has been reallocated.

查看所有还原的文件(查找您的文件):

find restore -name '*'

备份文件并删除此临时目录 restore

cp restore/Images/XXXX MY_BACKUP_DIRECTORY
sudo rm -rf restore  

3
从字面上看,这个答案救了我的工作。谢谢。
Twifty

10

应该从实时CD或其他系统上尝试恢复数据,尤其是在EXT文件系统上,而这不取决于要取消删除的分区。将磁盘卸装或以只读方式重新安装有助于恢复工作。

大多数时候,我尝试使用dd或类似工具创建分区或磁盘的映像,以使我无法在磁盘本身上工作:

dd if=/dev/sd[xx] of=/media/backup_drive/recovery.img

拥有图片后,您可以使用类似的工具ext3grep来尝试查找所需的文件。您可以尝试许多不同的开关,但这可能是一个好的开始:

ext3grep --restore-file 'tmp/moms-file.txt' recovery.img

ext3grep如果您不知道文件名,该实用程序还提供了几种不同的方式来搜索文件系统。检查ext3grep --help各种搜索方法。


如果您可以添加确切的步骤,那将是很好的?
saji89 2012年

@ saji89添加了示例用法-也已修复为链接到正确的实用程序!
Windigo 2012年

很好 现在...可以和ext4一起使用吗?
josinalvo 2012年

1
@josinalvo我尝试使用EXT4卷时,它确实起作用了;它找不到我要找的文件,但是我想我错过了机会之窗。
Windigo 2012年


0

我无法使用ext4magic或extundelete恢复crontab文件。

在Debian上,root的crontab在这里:

/var/spool/cron/crontabs/root

但是,通过使用以下命令,我至少能够从日志中手动恢复crontab。

 grep CRON /var/log/syslog.* -i| awk -F " CMD " {'print $2;'} |sort | uniq

它将仅输出已执行的cron作业(无定时),但这至少比从头开始要多得多。

如果您不记得某些cron作业的运行频率,请获取完整的日志,例如syslog.1,这将为您提供一天中运行次数的计数:

grep CRON /var/log/syslog.1 -i| awk -F " CMD " {'print $2;'} |sort | uniq -c |sort -n

0

外部分析

解析数据块以获取EXT目录数据。

EXT4的详细文档可以在这里找到:

使用下载perl脚本

git clone https://github.com/halpomeranz/analyzeEXT

不能保证,但是可能能够重建已删除的文件系统。


1
这个工具到底是什么?你如何使用它?我已经阅读了脚本中的回购说明和帮助消息,但是没有太多细节。
wjandrea

看一下perl脚本;cli帮助与脚本不匹配!
abu_bua

更多细节在这里。我偶然发现了它-从未使用过!youtube.com/watch?v=6pzm6909IvY
jouell

@jouell我已经观看了视频的2:30,他还没有提到脚本。您可以编辑答案以添加简短摘要吗?
wjandrea
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.