Btrfs Undelete File
Я хотел бы восстановить большой файл, который я удалил, используя команду rm -r в каталоге, в котором он находился. Файл находился на внешнем жестком диске USB объемом 1 ТБ. После того, как файл был удален, на диск ничего не было записано, я просто размонтировал и понял свою ошибку. Я почти уверен, что знаю имя файла, хотя было бы удобно видеть список предыдущих файлов на случай, если другой был удален по ошибке.
Я видел этот вопрос: как восстановить файлы в разделе 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, и я могу скопировать все, что захочу, и удалить остальные. Если я все еще не могу найти нужный файл, я могу использовать следующий блок из списка, пока не найду.