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

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

有没有一个简单的选项可以让我尝试取消删除我刚刚删除的extundelete文件?/var/tmp/test.iso

(我开始重新安装只读驱动器或类似的事情并不那么重要。我也可以再次重新下载该文件)

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

我知道,重新安装驱动器是可能的处于只读状态: (看如何简单地恢复刚刚删除的空磁盘上的唯一文件?

但这也有可能吗在仍然安装的磁盘上?


信息:
如果删除的文件位于 NTFS 分区上,则很容易使用,ntfsundelete例如,如果您知道大小约为 250MB,请使用

sudo ntfsundelete -S 240m-260m -p 100 /dev/hda2

然后通过以下方式取消删除文件索引节点例如与

sudo ntfsundelete /dev/hda2 --undelete --inodes 8270

答案1

查看使用指南扩展删除似乎您只能通过几种方式取消删除文件。

正在恢复全部

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

取消删除时的典型使用场景全部文件包括需要恢复/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

答案3

extundelete 核心已为我转储,但 ext4magic 目前正在喷出文件:

  1. 立即卸载文件系统
    • 如果这意味着关闭您的计算机并将磁盘连接到另一台计算机或从 Live CD 启动,请执行此操作
  2. gparted查找具有或类似名称的分区名称
  3. 不需要挂载分区
  4. 打开终端 &sudo su
  5. 安装 ext4magic:apt install ext4magic
  6. 创建一个目录来放置恢复的文件:mkdir /mnt/recovered
  7. 这将恢复 2 小时后删除的所有带时间戳的文件:
    • sudo ext4magic /dev/sdX# -m -a $(date -d "-2 hours" +%s) -d /mnt/recovered 注意:这可能并不意味着已删除2小时前之后。如果您有时间和空间,最好运行不带-a选项和grep -r文件内容的命令。

答案4

extundelete 对我不起作用,但 ext4magic 对我有用。

2022 年编辑:

extundelete 已经近 10 年没有更新了。如果你有 Windows 分区,你可以尝试 Piriform 的雷库瓦。只是不要让 Windows 格式化您的驱动器。

相关内容