Btrfs 恢复删除文件

Btrfs 恢复删除文件

我想使用 rm -r 命令在其所在目录中取消删除我删除的一个大文件。该文件位于 1TB 的 USB 外置硬盘上。文件删除后,磁盘上没有任何内容写入,我只是卸载了它,然后才意识到自己的错误。我很确定我知道文件的名称,不过,如果能够查看先前的文件列表,以防万一又误删了另一个文件,那就方便了。

我见过这个问题: 如何取消删除 btrfs 分区上的文件?

我尝试了那里的建议,但没有成功:

./btrfs-undelete /dev/sdb1 mydir/file.name
Searching roots... found 0 roots.
rm: cannot remove '/tmp/btrfs-undelete.19720': No such file or directory
Didn't find 'mydir/file.name'

因此我感到很困惑。任何建议都将不胜感激。

答案1

我想我做到了。

我首先

btrfs-find-root /dev/sdb1

这给了我一个很长的列表。我感兴趣的是:

Well block 65626112 seems great, but generation doesn't match, have=1000, want=1001

由于空间不足,所以我现在安装了另一个硬盘。然后我做了:

btrfs restore -t 65626112 /dev/sdb1 /media/usb

使用我从上一个命令中找到的 65626112。它现在正在将文件从 btrfs 文件系统还原到 /media/usb,我可以复制任何我想要的文件并删除其余文件。如果我仍然找不到我想要的文件,我可以使用列表中的下一个块,直到找到为止。

相关内容