Bagaimana saya membatalkan penghapusan (memulihkan) file yang dihapus pada partisi btrfs?
Saya belum mengambil snapshot, jadi saya tidak bisa menggunakan fitur itu. Saya tahu ada beberapa alat untuk sistem file Linux lainnya, tetapi google belum menemukan sesuatu yang spesifik untuk btrfs. Saya menemukan satu penyebutan yang kabur bahwa btrf termasuk alat yang tidak terhapus, tetapi saya tidak dapat menemukannya. Sebelum mencoba alat untuk sistem file lain, saya bertanya di sini.
Info lebih lanjut:
- (Dua) file yang dihapus dihapus oleh
rsync
perintah jarak jauh yang salah. - Ini adalah file teks biasa kecil.
- Saya tahu nama-nama file.
- Saya mungkin dapat mengingat beberapa string dalam file.
- Disk adalah HDD biasa, tetapi besar (2TB).
- Saya menjalankan Kubuntu 12.04 (beta2) dengan semua pembaruan terbaru.
- Saya belum menulis data baru ke partisi tempat file dihapus.
- Saya tidak memiliki snapshot atau cadangan file-file ini. (Cadangan terakhir hanya beberapa jam lebih tua dari file-file ini.)
- Anehnya, sistem file COW tampaknya memiliki lebih sedikit opsi hapus file daripada ext3 / 4 ...
sumber
Jika drive btrf Anda memiliki subvolume, Anda harus meneruskan
-r <subvol-id>
opsi tambahanbtrfs restore
. Sayangnya skrip di luar sana, seperti yang ditulis pengguna414471 ( http://oelkers.de/tips/undeleteBtrfs.sh ), tidak memiliki opsi untuk melakukan ini, tetapi mereka mungkin dapat disesuaikan dengan ini.Jika Anda ingin melakukan ini dengan tangan, Anda perlu mendapatkan subvol-id yang tepat, baik dengan:
atau sebagai alternatif dengan:
Setelah itu Anda gunakan
btrfs-find-root
untuk mendapatkan nomor blok yang ingin Anda kembalikan (biasanya yang tepat sebelum yang maksimum yang merupakan root saat ini). Untuk ini, Anda perlu mengatur subvolume default menjadi yang ingin Anda kembalikan file (dan kembalikan perubahan ini setelahnya):Anda akhirnya dapat menggunakan
btrfs restore
dengan-r <subvol-id>
untuk pemulihan (awalnya dengan--dry-run
argumen jika Anda mau):Informasi lebih lanjut tentang semua ini di sini: https://btrfs.wiki.kernel.org/index.php/Restore
sumber
btrfs-find-root
langkahnya tidak pernah berakhir (yaitu berjalan pada 100% CPU selama 3 jam pada <250 GB FS). Lihat juga kisah serupa spinics.net/lists/linux-btrfs/msg61361.html .