Pulihkan Data di Linux menggunakan ddrescue

Pulihkan Data Di Linux Menggunakan Ddrescue



Ddrescue adalah alat yang digunakan untuk memulihkan data dari file atau perangkat blok seperti hard drive, SSD, disk RAM, CD, DVD, dan perangkat penyimpanan USB. Ini menyalin data dari satu perangkat blok ke perangkat blok lainnya, meninggalkan blok data yang rusak dan hanya memindahkan blok data yang bagus. Ddrescue adalah alat pemulihan ampuh yang sepenuhnya otomatis karena tidak memerlukan gangguan apa pun selama operasi pemulihan. Selain itu, ini dapat dihentikan dan dilanjutkan kapan saja berkat file peta penyelamatan . Fitur utama lainnya dari ddrescue tercantum di bawah ini:
  • Itu tidak menimpa data yang dipulihkan tetapi mengisi kekosongan jika terjadi pemulihan berulang. Namun, hal ini dapat terpotong jika alat tersebut diinstruksikan untuk melakukannya secara eksplisit.
  • Pulihkan data ke satu file dari beberapa file atau blok.
  • Mendukung berbagai jenis antarmuka perangkat seperti SATA, ATA, SCSI, drive MFM, floppy disk, dan kartu SD.

Dalam panduan ini, saya akan menjelajahi alat pemulihan data yang sangat berguna ini. Saya juga akan membahas proses instalasinya, dan cara menggunakannya untuk memulihkan perangkat atau partisi yang diblokir.

Catatan: Saya menggunakan distribusi Linux (Ubuntu 22.04) untuk instruksi dalam panduan ini. Proses instalasi utilitas ddrescue mungkin berbeda, tetapi instruksinya akan sama di semua distribusi Linux.







Menginstal penyelamatan

Untuk menginstal ddrescue di Linux khususnya Ubuntu dan rasanya atau Berbasis Debian distro, gunakan:



sudo tepat Install penyelamatan gdd

Untuk menginstalnya REHL , fedora , Dan CentOS , pertama-tama aktifkan HANGAT (Paket Ekstra untuk Enterprise Linux).



sudo instal enak pelepasan hangat

Perintah di atas adalah untuk versi terbaru dari masing-masing distribusi.





Kemudian jalankan perintah berikut untuk menginstal ddrescue:

sudo instal enak penyelamatan

Untuk distro Linux berbasis Arch seperti Arch-Linux Dan Manjaro , gunakan perintah yang diberikan di bawah ini untuk menginstal utilitas pemulihan ddrescue.



sudo pacman -S penyelamatan

Karena saya menggunakan Ubuntu 22.04, saya akan menggunakan manajer paket APT untuk menginstalnya.

Memahami Dasar-Dasar

Sebelum menggunakan alat ddrescue untuk memulihkan data, saya sarankan pengguna yang baru mengenal proses pemulihan memahami beberapa konvensi penamaan Linux.

Linux mengenali blok (perangkat) sebagai file dan menempatkannya di / dev direktori. Untuk membuat daftar file di direktori /dev, gunakan ls /dev memerintah.

Itu hard drive (blok penyimpanan) diwakili dengan sd diikuti oleh huruf; dalam kasus beberapa perangkat penyimpanan, file akan direpresentasikan sebagai /dev/sd A, /dev/sd B, dan seterusnya.

Jika perangkat penyimpanan memiliki partisi , maka mereka akan diwakili oleh nomor dengan nama file drive masing-masing, seperti /dev/sda 1 , /dev/sda 2 , dan seterusnya.

Untuk membuat daftar semua blok dan perangkat lain yang terhubung dengan sistem, gunakan blok daftar lsblk memerintah:

lsblk

Perintah ddrescue dapat memulihkan seluruh blok (berisi MBR & partisi) atau sebuah partisi juga. Di sisi lain, jika Anda hanya perlu memulihkan file tertentu dari partisi tertentu, maka lebih baik memulihkan partisi tersebut daripada seluruh blok.

Pertimbangan Penting

Sebelum menggunakan utilitas ddrescue, beberapa poin penting harus dipertimbangkan:

  • Jangan mencoba memulihkan blok yang dipasang, blok tersebut tidak boleh berada dalam mode hanya-baca.
  • Jangan mencoba memperbaiki blok dengan kesalahan I/O.
  • Sistem dapat mengubah nama perangkat input dan output saat reboot. Pastikan nama perangkat sudah benar sebelum memulai proses penyalinan.
  • Jika Anda menggunakan blok terpisah sebagai perangkat keluaran, maka data apa pun di perangkat tersebut akan ditimpa.

Menggunakan penyelamatan

Setelah menginstal utilitas ddrescue dan memahami konvensi penamaan, langkah selanjutnya adalah mengidentifikasi disk yang gagal dan memulihkannya menggunakan alat ddrescue.

Memulihkan Blok yang Rusak

Contoh pertama akan mencakup proses pemulihan seluruh blok. Pertama, buat daftar blok menggunakan lsblk memerintah:

lsblk -HAI NAMA, UKURAN, FSTYPE

Itu -HAI flag digunakan untuk menentukan jenis informasi (bidang) mana yang harus dikeluarkan oleh perintah. Saya telah menyebutkan NAMA , UKURAN , Dan FSTYPE atau jenis sistem file.

Sekarang, Anda dapat mengidentifikasi blok target, partisi, dan lokasi untuk menyimpan file gambar yang diselamatkan.

Hal penting lainnya yang perlu diperhatikan adalah di Linux, nama blok ditetapkan secara dinamis saat boot dan setelah reboot, nama blok dapat berubah. Jadi berhati-hatilah saat mencatat nama bloknya.

Sekarang, gunakan sintaks berikut untuk menyelamatkan blok sebagai file gambar dengan file log di direktori root.

sudo penyelamatan -D -rX / dev / [ memblokir ] [ jalur / nama ] .img [ nama file log ] .catatan

Catatan: Mengganti [memblokir] , [jalur/nama] dari file gambar, dan [nama_file log] dengan nama pilihan yang sesuai.

Dalam contoh ini, saya memulihkan /dev/sda di direktori root dengan nama file gambar pemulihan.img . File log, juga dikenal sebagai file peta, sangat penting jika Anda ingin melanjutkan pemulihan kapan saja.

sudo penyelamatan -D -r2 / dev / pemulihan sda2.img pemulihan.log

Dua tanda penting digunakan dalam perintah di atas.

D –tidak langsung Digunakan untuk memberi tahu alat agar mengakses disk secara langsung dengan mengabaikan cache kernel
rX –coba lagi Digunakan untuk memberitahu alat untuk mencoba kembali sektor buruk X beberapa kali

Saat menjalankan perintah di atas, Anda akan melihat dua file muncul di browser file dengan nama pemulihan.img Dan pemulihan.log .

Waktu pemulihan tergantung pada ukuran blok masukan dan kerusakannya. Jika Anda memulihkan blok besar, saya sarankan memiliki file log karena prosesnya bisa memakan waktu beberapa jam atau bahkan berhari-hari.

Output dari perintah di atas diberikan di bawah ini:

Pada gambar keluaran, ipos adalah posisi masukan dari file masukan dari mana penyalinan dimulai dan bisul adalah posisi keluaran pada file keluaran tempat data ditulis.

Itu belum dicoba adalah ukuran blok yang tidak menunggu untuk dicoba. Itu menyelamatkan menunjukkan ukuran blok yang berhasil dipulihkan. Itu persen diselamatkan menunjukkan keberhasilan pemulihan data dalam persentase. Syaratnya, tidak dipangkas , tidak tergores , sektor buruk , Dan daerah yang buruk cukup jelas. Namun, itu kesalahan membaca istilah menunjukkan percobaan baca yang gagal dalam angka.

Itu waktu berjalan menunjukkan waktu yang dibutuhkan alat untuk menyelesaikan proses, sedangkan Waktu yang tersisa adalah waktu yang tersisa untuk menyelesaikan proses pemulihan. Output di atas menunjukkan sisa waktu 0 karena proses sudah selesai, baca output pada gambar berikut proses yang belum selesai.

Mari kita lihat apa yang kita dapatkan di file log; untuk membuka file log yang dihasilkan, gunakan vim pemulihan.log memerintah.

Itu status terkini adalah + yang berarti proses selesai, sedangkan saat ini_pos adalah posisi di blok.

Daftar status saat ini diberikan dalam tabel berikut:

? Penyalinan
* Pemangkasan
/ Memotong
Mencoba lagi
F Mengisi blok yang ditentukan
G Menghasilkan file log
+ Prosesnya selesai

Di bawahnya, file log memiliki indikasi status blok yang diselamatkan sebelumnya dalam bentuk karakter yang tercantum di bawah ini:

? Blok tersebut belum dicoba
* Blok gagal yang tidak dipangkas
/ Blok gagal yang tidak dihapus
Blok bad sector gagal
+ Blok selesai

Mengembalikan File Gambar ke Blok baru

Setelah Anda selesai dengan proses pemulihan dan memiliki file gambar. Anda sekarang mungkin ingin memindahkannya ke drive baru dari drive yang rusak. Untuk memindahkan file gambar ke blok baru, pertama-tama sambungkan blok tersebut ke sistem dan kemudian identifikasi nama blok menggunakan lsblk memerintah.

Anggap saja memang demikian /dev/sdb , gunakan perintah berikut untuk menyalin gambar ke blok baru.

sudo penyelamatan -F pemulihan.img / dev / sdb logfile.log

Itu -F flag digunakan untuk menimpa blok baru jika ada data. Perlu diingat bahwa nama file log harus berbeda agar tetap terpisah dari file log yang disimpan sebelumnya.

Operasi di atas juga dapat dilakukan dengan menggunakan DD , perintah kuat lainnya yang digunakan untuk menyalin file.

sudo DD jika =pemulihan.img dari = / dev / sdb

Sebelum melakukan pemulihan, perlu diingat bahwa blok baru harus cukup besar untuk menampung seluruh blok yang dipulihkan; misalnya, jika blok pemulihan berukuran 5 GB, blok baru harus lebih besar dari 5 GB.

Jika file gambar yang dipulihkan menghasilkan banyak kesalahan, maka kesalahan tersebut dapat diperbaiki menggunakan fsck perintah di Linux sampai batas tertentu. Saat menggunakan Windows, Anda dapat menggunakan CHKDSK atau SFC perintah untuk melakukan ini. Namun, pemulihan tergantung pada jumlah kesalahan yang dihasilkan file rusak.

Kini, proses pemulihan dan restorasi telah selesai. Hal penting lainnya yang perlu diperhatikan adalah Anda dapat memulihkan blok yang rusak secara langsung di blok lain, alih-alih membuat file gambar lalu menyalinnya ke blok baru. Nah, di bagian selanjutnya, saya akan membahas proses ini secara detail.

Memulihkan Blok ke Blok Lain

Untuk memulihkan blok secara langsung ke blok baru, pertama-tama sambungkan blok tersebut ke sistem dan gunakan kembali lsblk perintah untuk mengidentifikasi nama blok. Nama blok yang salah dapat mengacaukan seluruh proses dan Anda mungkin kehilangan data.

Setelah mengidentifikasi blok sumber dan blok tujuan, gunakan perintah berikut untuk memulihkan blok:

sudo penyelamatan -D -F -r2 / dev / [ sumber ] / dev / [ tujuan ] cadangan.log

Mari kita asumsikan /dev/sdb adalah blok tujuan, jadi untuk menyalin /dev/sda direktori ke blok baru gunakan:

sudo penyelamatan -D -F -r2 / dev / sda / dev / sdb cadangan.log

Sekali lagi, lihat pertimbangan penting yang disebutkan di bagian sebelumnya sebelum mencoba proses ini.

Memulihkan Data Tertentu Dari File Gambar yang Dipulihkan

Dalam banyak kasus, tujuan pemulihan data adalah untuk menemukan file tertentu dari drive yang rusak. Untuk mengakses file tertentu, Anda perlu memasang file gambar. Di Linux, file gambar yang dipulihkan dapat dieksplorasi dengan menggunakan gunung memerintah.

Sebelum melakukan mount file gambar, buatlah folder atau direktori tempat Anda ingin mengekstrak konten file gambar tersebut.

mkdir PemulihanMount

Selanjutnya, mount file gambar menggunakan:

sudo gunung -HAI loop pemulihan.img ~ / PemulihanMount

Bendera -o menunjukkan opsi, sedangkan opsi loop digunakan untuk memperlakukan file gambar sebagai perangkat blok.

Anda sekarang memiliki akses ke konten file gambar, seperti yang ditampilkan pada tangkapan layar berikut.

Untuk melepas blok, gunakan jumlah memerintah.

sudo jumlah ~ / PemulihanMount

Fitur lanjutan

Untuk memulai pemulihan dari titik tertentu, gunakan -Saya bendera atau –posisi masukan . Seharusnya dalam byte, secara default 0 byte. Ini penting untuk melanjutkan penyalinan dari titik tertentu. Misalnya, jika Anda ingin memulai proses penyalinan dari titik 10 GB, gunakan perintah berikut.

sudo penyelamatan -i10GiB / dev / sda file gambar.img file log.log

Untuk menentukan ukuran maksimum perangkat input, -S bendera akan digunakan. Itu -S menandakan ukuran dan juga dapat digunakan sebagai -ukuran dalam byte. Jika alat gagal mengenali ukuran file masukan, gunakan opsi ini untuk menentukannya.

sudo penyelamatan -s10GiB / dev / sda file gambar.img file log.log

Itu -bertanya Opsi ini bisa sangat berguna, karena meminta konfirmasi blok input dan output sebelum memulai proses penyalinan. Seperti yang dibahas sebelumnya, sistem secara dinamis memberikan nama pada blok, dan nama tersebut berubah saat reboot. Jadi, dalam hal ini, opsi ini mungkin berguna.

sudo penyelamatan --bertanya / dev / sda file gambar.img file log.log

Selain itu, daftar beberapa opsi lain disebutkan di bawah:

-R -balik Untuk membalikkan arah penyalinan
-Q -lumayan Untuk menyembunyikan semua pesan keluaran
-di dalam –bertele-tele Untuk menguraikannya, semua pesan keluaran
-P –alokasi awal Untuk mengalokasikan penyimpanan terlebih dahulu untuk file output
-P –pratinjau data Tampilan baris data terbaru yang dibaca default adalah 3 baris

Bagaimana penyelamatan bekerja

Ddrescue menggunakan algoritma pemulihan yang kuat yang dibagi menjadi empat fase:

1. Menyalin

2. Pemangkasan

3. Mengikis

4. Mencoba lagi

Eksekusi algoritma ddrescue ditunjukkan pada gambar berikut.

Kesimpulan

Itu penyelamatan adalah alat pemulihan ampuh yang digunakan untuk memulihkan data dari drive yang rusak atau gagal ke drive lain dengan menyalin data. Itu dapat dengan mudah diinstal pada distribusi Linux apa pun dengan bantuan manajer paket default. Perhatikan pertimbangan penting sebelum menggunakan alat yang disebutkan dalam panduan ini. Proses menyalin data sederhana, unmount drive dan gunakan perintah ddrescue dengan nama drive sumber dan nama drive tujuan. Jangan lupa untuk menggunakan file log, karena akan sangat berguna untuk melanjutkan proses pemulihan.