Jawaban:
ddrescue dapat dilanjutkan, tetapi membutuhkan file log untuk dapat melakukannya. File log akan mencatat kemajuan yang telah dibuat ddrescue sejauh ini, dan memulai ulang ddrescue akan membaca file log dan mulai dari mana ia tinggalkan.
File log akan menjadi parameter ketiga:
ddrescue /dev/sdd1 ./bye1t.dd_rescue.image ~/sdd1.log
Jika Anda sudah memulai menjalankan ddrescue tanpa file log dan membatalkannya, saat berikutnya ddrescue berjalan, itu akan mulai dari awal karena tidak memiliki catatan apa yang telah dipulihkan.
Catatan : ddrescue dan dd_rescue adalah program yang berbeda.
Bahkan jika Anda lupa menentukan logfile, mungkin ada harapan:
Jadi Anda tidak membaca tutorial dan memulai ddrescue tanpa logfile. Sekarang, dua hari kemudian, komputer Anda mogok dan Anda tidak bisa tahu berapa banyak data yang berhasil disimpan ddrescue. Dan yang lebih buruk, Anda tidak bisa melanjutkan penyelamatan; Anda harus memulainya dari awal.
Atau mungkin Anda mulai menyalin drive dd conv=noerror,sync
dan sekarang berada dalam situasi yang sama seperti dijelaskan di atas. Dalam hal ini, perhatikan bahwa Anda tidak dapat menggunakan salinan yang dibuat oleh dd kecuali jika itu dipanggil dengan sync
argumen konversi.
Jangan putus asa (belum). Dalam beberapa kasus, Ddrescue dapat menghasilkan perkiraan file log, dari file input dan salinan (sebagian), yang hampir sama baiknya dengan file log yang sebenarnya. Itu membuat ini hanya dengan mengasumsikan bahwa sektor yang mengandung semua nol tidak diselamatkan.
Namun, jika tujuan salinan adalah drive atau partisi, (atau file reguler dan pemotongan tidak diminta), kemungkinan besar Anda harus memulai ulang ddrescue dari awal. (Kali ini dengan file log, tentu saja). Alasannya adalah bahwa data lama mungkin ada di drive yang belum ditimpa, dan mungkin tidak dicoba tetapi tidak nol.
Misalnya, jika Anda pertama kali mencoba salah satu dari perintah ini:
ddrescue infile outfile
atau
dd if=infile of=outfile conv=noerror,sync
Anda bisa membuat perkiraan file log dengan perintah ini:
ddrescue --generate-mode infile outfile logfile
Seperti yang orang lain katakan, Anda harus selalu menentukan logfile sebagai parameter ketiga, yang akan memungkinkan dilanjutkan. Karena Anda tidak melakukan itu, itu tidak akan membantu Anda di sini. Jika Anda tahu kira-kira titik prosesnya, Anda dapat menggunakan --input-position
dan --output-position
parameter untuk memulai dari titik itu (pastikan untuk mengatur kedua parameter tersebut ke nilai yang sama, jika tidak, hasilnya akan rusak).
Karena Anda tidak menentukan file log sebagai parameter ketiga, melanjutkan kembali tidak dapat dilakukan secara otomatis. Anda bisa membuat file log dengan tangan jika Anda tahu sektor yang sudah diselamatkan, sintaksinya mudah. Cukup mulai penyelamatan boneka lain ke file lain sambil menentukan log dan biarkan ia membaca area yang berbeda. Kemudian edit log untuk mewakili area yang sudah diselamatkan di file pertama Anda. Sekarang jalankan kembali perintah Anda sebelumnya tetapi beri nama file log sebagai parameter ketiga. ddrescue kemudian akan dilanjutkan pada sektor yang belum dicoba pertama.
Per https://wiki.archlinux.org/index.php/Disk_cloning tampaknya dengan conv=noerror,sync
saklar, dd
sebenarnya menambahkan angka nol di akhir blok, tidak persis di mana kesalahan baca terjadi. Ini bertentangan dengan informasi dalam jawaban Miles Wolbe dari 2013-08-29.
Misalnya, jika urutan yang benar adalah 198123283
dan ada kesalahan baca di tengah itu akan menulis 198283000
, bukan 198000283
.
Jadi, jika benar-benar ada kesalahan pembacaan, metode yang diusulkan tidak akan akurat - akan ada area yang dapat dibaca yang akan berakhir diisi dengan nol, namun akan dianggap "diselamatkan".
Omong-omong, ini adalah praktik yang baik untuk memulai upaya pemulihan dengan mengisi drive tujuan dengan nol (atau setidaknya ruang kosong, yang dapat dilakukan dengan WinHex misalnya).