Cara Memulihkan File yang Dihapus di Linux dengan testdisk

Diterbitkan: 2022-01-29
Ilustrasi jendela terminal pada komputer Linux.
Fatmawati Achmad Zaenuri/Shutterstock

Pernahkah Anda menghapus file dan langsung menyesalinya? Anda membutuhkannya kembali, dan cepat! Tetapi bagaimana jika file tersebut sangat baru, tetapi belum dicadangkan? Untungnya, ada sesuatu yang dapat Anda lakukan tentang hal itu.

rm: Singkatan dari Penyesalan?

Terlalu mudah untuk menggunakan perintah rm dan mendapati diri Anda menatap jendela terminal dengan rasa penyesalan yang mendalam. Satu kesalahan kecil dengan wildcard, dan Anda dapat menghapus lebih banyak dari yang Anda inginkan.

Sistem file default Linux, ext4 menggunakan inode untuk menyimpan data tentang setiap file dan tabel inode untuk melacak inode. Inode berisi metadata tentang file, seperti namanya, siapa pemiliknya, apa izinnya, dan sebagainya.

Ini juga berisi titik masuk ke tautan keras yang mengarah ke file. Setiap file memiliki setidaknya satu hard link. Setiap kali Anda membuat tautan keras baru, jumlah tautan keras bertambah satu. Setiap kali Anda menghapus tautan keras, jumlah tautan keras di inode berkurang satu.

Saat Anda menghapus file yang ditandai inode sebagai tidak digunakan (dan siap digunakan kembali), tautan keras terakhir akan dihapus. Ketika ini terjadi, file tidak akan muncul dalam daftar direktori, dan tidak dapat digunakan atau diakses.

Iklan

Namun, data yang menyusun isi file tersebut masih ada di hard drive. Jika Anda dapat menambal inode sehingga berisi informasi yang benar, file tersebut akan dipulihkan. Tentu saja, ini hanya akan berfungsi jika data yang membentuk file di hard drive tetap utuh dan tidak ditimpa.

Atau, Anda dapat membuat inode baru, menyalin data yang masih ada dari inode lama, dan kemudian mengganti bit yang hilang.

Itu adalah kegiatan nontrivial. Biasanya, ketika Anda tidak sengaja menghapus file, itu adalah saat yang paling buruk. Itu selalu saat Anda membutuhkan file itu, dan Anda membutuhkannya sekarang. Anda tidak punya waktu untuk turun dan kotor dengan editor sektor dan utilitas lainnya. Plus, jika itu adalah file yang baru saja Anda buat, kemungkinan file tersebut belum dicadangkan, jadi itu juga tidak akan membantu Anda.

Di sinilah testdisk masuk. Mudah digunakan dan tidak memerlukan pengetahuan sistem file yang mendetail dan tingkat rendah. Mari kita lihat cara menggunakannya!

TERKAIT: Semua yang Anda Ingin Ketahui Tentang inode di Linux

Menginstal testdisk

Untuk menginstal testdisk di Ubuntu, gunakan perintah ini:

 sudo apt-get install testdisk 

Di Fedora, Anda perlu mengetik:

 sudo dnf instal testdisk 

Di Manjaro, Anda harus menggunakan pacman :

 sudo pacman -Sy testdisk 

Menggunakan testdisk

Meskipun berjalan di jendela terminal, testdisk memang memiliki antarmuka yang belum sempurna. Anda menggunakan tombol panah untuk menavigasi dan Enter untuk membuat pilihan. Untuk menjaga semuanya tetap rapi, yang terbaik adalah membuat direktori untuk file yang dipulihkan.

Kami mengetik yang berikut untuk membuat direktori yang disebut "dipulihkan" untuk file kami yang dipulihkan:

 mkdir dipulihkan 

Iklan

Kami mengetik yang berikut untuk beralih ke direktori baru dan memulai testdisk dari sana:

 cd dipulihkan/ 

Kita harus menggunakan sudo dengan testdisk , jadi kita ketik yang berikut:

 sudo testdisk 

Pertanyaan pertama yang diajukan testdisk adalah tentang logging. Itu dapat membuat file log baru, menggunakan yang sudah ada, atau tidak mencatat apa pun sama sekali. Tidak masalah opsi mana yang Anda pilih; itu tidak akan mempengaruhi cara testdisk beroperasi.

Anda cukup menekan Enter untuk menerima opsi yang disorot dan membuat file log baru. Ini akan dibuat di direktori tempat Anda memulai testdisk . Saat Anda membuat pilihan, testdisk menanyakan hard drive mana yang menyimpan sistem file tempat Anda ingin bekerja.

Ini mencantumkan hard drive yang dapat ditemukannya, serta file squashfs “/ dev/loop”. Akan ada salah satunya untuk setiap aplikasi yang Anda instal dari snap . Mereka hanya-baca, jadi Anda seharusnya tidak berhasil menghapus apa pun dari sistem file ini.

Hanya ada satu hard drive fisik di komputer uji ini, jadi kami menggunakan panah bawah untuk menyorot opsi "/ dev/sda". Kami kemudian menggunakan panah kanan untuk memilih "Lanjutkan," lalu tekan Enter.

Iklan

testdisk juga perlu mengetahui jenis partisi. Ini menyajikan menu opsi, bersama dengan jenis partisi yang terdeteksi secara otomatis di bagian bawah.

Kecuali Anda memiliki alasan kuat untuk tidak melakukannya, sorot jenis partisi yang terdeteksi otomatis, lalu tekan Enter.

Di menu fungsi yang muncul, sorot “Lanjutan”, lalu tekan Enter.

Menu pemilihan partisi akan muncul.

File yang kami cari ada di partisi sistem file Linux. Kami hanya memiliki satu partisi Linux di hard drive kami, tetapi Anda mungkin memiliki lebih banyak.

Pilih partisi tempat file Anda berada, gunakan tombol panah kiri dan kanan untuk memilih "Daftar", lalu tekan Enter. Menu pemilihan file akan muncul.

Gunakan panah atas dan bawah atau tombol PgUp dan PgDn untuk menavigasi daftar file dan direktori. Tekan panah kanan atau Enter untuk masuk ke direktori, dan panah kiri atau Esc untuk keluar dari direktori.

Iklan

Kami sedang mencari file yang dimiliki oleh dave . File untuk semua akun pengguna ada di direktori "Beranda". Jadi, kami menyorot direktori "Beranda", dan kemudian kami dapat menekan panah kanan atau Enter untuk masuk ke direktori itu.

Semua akun pengguna kemudian terdaftar untuk kami. Kami menyorot dave , lalu tekan panah kanan atau Enter untuk masuk ke direktori itu.

Kita sekarang dapat melihat file-file milik akun dave . Entri dalam warna merah telah dihapus. Kami menavigasi melalui file dan direktori sampai kami menemukan file yang ingin kami pulihkan.

Untuk memulihkan file, sorot saja, lalu tekan c (huruf kecil).

Tampilan berubah dan memberitahu Anda untuk memilih tujuan untuk file yang dipulihkan. Karena kita membuat direktori bernama “Restored” dan memulai testdisk darinya, entri pertama dalam daftar (.) adalah direktori tersebut. Untuk memulihkan file yang dihapus ini ke direktori itu, kami menekan C (huruf besar).

Setelah Anda melakukan ini, Anda kembali ke tampilan pemilihan file. Jika Anda ingin memulihkan lebih banyak file, ulangi saja prosesnya. Sorot file yang dihapus, tekan c (huruf kecil) untuk menyalinnya, lalu tekan C (huruf besar) untuk memulihkannya.

Bekerja dengan File yang Dipulihkan

Setelah Anda memulihkan file, pohon direktori ke lokasi aslinya akan direkonstruksi, yang berguna karena mengingatkan Anda di mana pada hard drive file asli dulu berada. Ini berarti jika Anda perlu menyalinnya kembali, Anda tahu di mana harus meletakkannya.

Iklan

Jika Anda memulihkan sejumlah file dari lokasi sistem file berbeda yang kebetulan memiliki nama file yang sama, mereka tetap harus disimpan secara terpisah.

Anda dapat mengetik berikut ini untuk melihat isi direktori “Restored”:

 ls

Jika Anda meminta testdisk untuk membuat file log, file tersebut akan berada di direktori “Restored”. Karena file kami yang dipulihkan terletak di "/ home/dave", mereka telah disalin ke direktori "Dipulihkan" kami, bersarang di direktori dengan nama yang sama.

Kita dapat mengubah ke direktori "dave" yang disalin menggunakan cd . Pastikan Anda tidak menyertakan garis miring ke depan ( / ) di jalur—Anda ingin mengubah ke "rumah" lokal, bukan sistem "/ rumah."

Kami mengetik berikut ini:

 cd home/dave

File yang dipulihkan ada di direktori itu, jadi kami mengetik:

 ls 

Iklan

Mari kita lihat lagi file yang dipulihkan menggunakan opsi -l (daftar panjang):

ls -l

Karena kami menggunakan sudo untuk meluncurkan testdisk , file yang dipulihkan telah dipulihkan dengan "root" sebagai pemiliknya. Kita dapat mengubah pemiliknya kembali menjadi “dave” menggunakan chown :

 sudo chown dave.dave * 

Kami mengetik berikut ini untuk memastikan kepemilikan yang benar telah dipulihkan:

 ls -l 

testdisk: Kode untuk Bantuan

Perasaan lega setelah Anda memulihkan file penting yang, beberapa saat yang lalu, terasa hilang tanpa dapat diperbaiki, adalah sesuatu yang akan selalu Anda hargai.

Itu sebabnya testdisk adalah utilitas yang berguna. Setelah Anda berhasil melewati menu dan dapat mulai memulihkan file, mudah untuk jatuh ke dalam ritme sorot, c, C, ulangi.

TERKAIT: Laptop Linux Terbaik untuk Pengembang dan Penggemar