Pau*_*sea 4 btrfs file-recovery
我想取消删除我在它所在目录上使用 rm -r 命令删除的大文件。该文件位于 1TB USB 外部硬盘上。删除文件后没有任何内容写入磁盘,我只是卸载并意识到我的错误。我相当确定我知道文件的名称,尽管如果有另一个文件被错误删除,如果能够查看以前的文件列表会很方便。
我见过这个问题: How to undelete files on btrfs partition?
我尝试了那里的建议,但没有运气:
./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'
Run Code Online (Sandbox Code Playgroud)
我因此被难住了。任何建议将被appriciated。
我想我做到了。
我首先做了
btrfs-find-root /dev/sdb1
Run Code Online (Sandbox Code Playgroud)
这给了我一个很大的清单。我感兴趣的是:
Well block 65626112 seems great, but generation doesn't match, have=1000, want=1001
Run Code Online (Sandbox Code Playgroud)
所以现在我安装了另一个硬盘,因为我空间不足。然后我做了:
btrfs restore -t 65626112 /dev/sdb1 /media/usb
Run Code Online (Sandbox Code Playgroud)
使用我从上一个命令中找到的 65626112。它现在正在将文件从 btrfs 文件系统恢复到 /media/usb,我可以复制我想要的任何文件并删除其余文件。如果我仍然找不到文件,我可以使用列表中的下一个块,直到找到为止。