使用extundelete取消删除ext4上刚刚删除的文件


54

关于extundelete如何尝试删除/var/tmp/test.iso刚刚删除的文件有一个简单的选择吗?

(开始以只读方式或类似方式重新安装驱动器不是很重要。我也可以再次重新下载该文件)

我正在寻找一个简单的命令,如果可以快速恢复它,可以尝试。

我知道,可以以只读方式重新安装驱动器:(请参阅如何简单地恢复刚删除的空磁盘上的唯一文件?

但这在仍然挂载的磁盘上是否也可能以某种方式出现?



另一个问题太广泛了。在这里,我正在寻找一种快速,不安全的解决方案,而无需付出太多努力(并且成功的机会更少)
rubo77

我并不是要暗示重复,但是您可能想将其添加到这个问题为何不够的问题中。
Ciro Santilli新疆改造中心法轮功六四事件

Answers:


36

看看extundelete的使用指南,似乎您只能通过几种方式来取消删除文件。

全部还原

extundelete旨在将文件从未安装的分区取消删除到单独的(已安装的)分区。extundelete会将找到的所有文件还原到名为“ RECOVERED_FILES”的当前目录的子目录中。要运行该程序,请键入“ extundelete --help”以查看各种可用选项。

从分区还原所有已删除文件的典型用法如下:

    $ extundelete /dev/sda4 --restore-all

恢复单个文件

除了此方法在命令行用法中突出显示之外:

--restore-file path/to/deleted/file
    Attemps to restore the file which was deleted at the given filename, 
    called as "--restore-file dirname/filename".

因此,您应该能够完成所需的操作:

$ extundelete --restore-file /var/tmp/test.iso /dev/sda4

注意:在两种情况下,您都需要了解设备/dev/sda4才能执行此命令。您必须将文件系统重新安装为只读。这是使用的条件之一extundelete,没有任何解决方法。


2
是的,但是如果我以只读方式重新安装驱动器,那么所有方法都只能工作
rubo77

1
@ rubo77-正确,没有解决办法。
slm

2
这实际上对我来说是ext4文件系统,而无需将其重新安装为只读。如果您尝试在不重新安装r / o的情况下执行此操作,则会收到一条警告,似乎只是在告诉您,如果这样做,则成功的可能性会降低。如果恢复文件确实非常重要,那么听起来您应该这样做。
Ben Crowell 2014年

就像@BenCrowell我用不用重新装载,但如果我继续使用HDD节目广告我关于数据损坏......是最近抹去,所以我只需按Enter键,然后把我的文件备份;)
erm3nda

16

取消删除所有文件时的典型使用场景包括需要恢复/dev/sdX1大约一个小时内从中删除的所有文件:

mount -o remount,ro /dev/sdX1
extundelete --restore-all --after $(date -d "-2 hours" +%s) /dev/sdX1
find RECOVERED_FILES/

如果对恢复的文件感到满意:

mount -o remount,rw /dev/sdX1

挂载:您必须指定文件系统类型

重新安装期望挂载点作为参数而不是设备
不要担心孩子吗

@ Don'tYouWorryChild mount -o使用目录或设备,根据man mount
sanmai

您可以从日期中减去2个小时,$(date -d "-2 hours" +%s)而输出lsblk -p可能会有用以查找LUKS加密的LVM缓存的EXT4卷所在的位置。;)
LiveWireBT 2016年
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.