web-dev-qa-db-ja.com

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'

したがって、私は困惑しています。どんな提案も適用されます。

4
Paul Brownsea

私はそれをしたと思います。

私が最初にした

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にファイルが復元され、必要なものをコピーして残りを削除できます。それでもファイルが見つからない場合は、リストの次のブロックを使用できるようになります。

5
Paul Brownsea