Pertama, untuk perangkat lunak untuk penggunaan: Anda bisa mencoba menggunakan ddrescue
bukan dd
.
ddrescue
memiliki saklar untuk melakukan hanya sejumlah percobaan yang terbatas. Itu juga dapat menggunakan file log, jadi ini mencatat blok mana yang buruk. Jika nanti Anda merasa ingin melakukan lebih banyak percobaan, Anda dapat menggunakan file log yang sama untuk menjalankan ddrescue
lagi dengan opsi yang berbeda (seperti lebih banyak coba lagi) dan hanya akan mencoba lagi blok yang diperlukan.
Contoh penggunaan:
# ddrescue -n /dev/sda /dev/sdb rescue.log
# ddrescue -r1 /dev/sda /dev/sdb rescue.log
Dari halaman ddrescue
info:
-n, --no-scrape
Skip the scraping phase. Avoids spending a lot of time
trying to rescue the most difficult parts of the file.
-r, --retry-passes=<n>
Exit after given number of retry passes. Defaults to 0.
-1 means infinity. Every bad sector is tried only once
in each pass. To retry bad sectors detected on a previous
run, you must specify a non-zero number of retry passes.
Berikut adalah beberapa sumber tambahan untuk digunakan ddrescue
:
Edit
Dalam kasus HDD itu sendiri terlalu lama, Anda dapat mencoba untuk mengaktifkan fitur yang disebut TLER ( T ime L imited E rror R ecovery) atau CCTL ( C ommand C ompletion T ime L imit). Tidak semua HDD memilikinya, tetapi Anda dapat menggunakannya untuk membatasi waktu pada pengontrol HDD itu sendiri. Pendekatan ini dapat dikombinasikan dengan menggunakan ddrecue
, tentu saja.
Linux memiliki alat yang disebut smartctl
(dalam smartmontools
paket).
Untuk memeriksa pengaturan saat ini ("dinonaktifkan" berarti waktu yang tidak terbatas, yang tidak Anda inginkan):
# smartctl -l scterc /dev/sda
Untuk menetapkannya ke nilai tetap (5,0 detik dalam contoh ini. Menetapkannya ke 0 menonaktifkan TLER):
# smartctl -l scterc,50,50 /dev/sda
Sumber untuk TLER: http://en.wikipedia.org/wiki/TLER
Saya mendapatkan hasil yang baik dari disk yang tidak dapat dibaca dengan perangkat lunak ini.
http://www.cgsecurity.org/wiki/TestDisk
Ini selanjutnya adalah alat pemulihan yang solid juga. Itu bisa mendapatkan file bahkan jika tabel file Anda rusak atau jika mereka dihapus. Ini alat forensik yang bagus. Itu membuang hal-hal dengan cara yang benar-benar tidak terorganisir, tetapi Anda bisa memindahkan semua data.
http://www.cgsecurity.org/wiki/PhotoRec
sumber
Untuk opsi cepat dan cepat untuk menyelamatkan disk, Anda dapat menggunakan file skrip sh dan menjalankan file dengan sh. Ini berisi baris ini, ulangi saja
sudo ddrescue
dansleep 3
beberapa kali lagi. Tidur digunakan untuk membuat drive beristirahat beberapa detik:Opsi yang digunakan di atas:
-r0
: tanpa coba lagi-e +0
: keluar saat kesalahan pertama-T 1s
: keluar dengan 1 detik gagal dibaca-d
: I / O Langsung-n
: tidak ada gesekanAnda dapat menggunakan
-R
setelah selesai dengan opsi-A
sekali, yang akan membalikkan dan menghapus semua ukuran kesalahan dan mulai lagi mundur. Berarti itu akan membaca kesalahan secara berbeda.sumber
Tergantung pada ukuran hard drive Anda dan berapa banyak blok buruk yang dimilikinya. Biasanya saya membutuhkan waktu 20 menit untuk mencadangkan menggunakan DD 1 hd sehat. Dengan blok buruk saya baru saja pulih pagi ini, butuh waktu dua kali. Saya mengalami masalah menduplikasi (membuat cadangan disk) dengan sekitar 30 blok buruk. Hal pertama yang saya lakukan adalah membuat cadangan file menggunakan Filezilla biasa untuk membuat cadangan semua data yang baik. Saya perhatikan bahwa satu file besar tidak menyalin dengan benar (Berhenti di tengah dan memulai kembali transfer). Untungnya saya memiliki cadangan file yang sama sebelumnya. Untuk menduplikasi disk, maka saya harus menemukan blok buruk pada disk menggunakan prosedur ini:
Pertama, temukan disk masalah yang mengidentifikasi info HD menggunakan fdisk -l
2nd jika katakanlah disk Anda adalah / dev / sdb maka Anda perlu menjalankan perintah badblocks -v / dev / sdb itu akan mencantumkan semua Anda blok buruk pada drive. Untungnya akan ada beberapa. Jika tidak ada blok buruk yang ditemukan, maka blok drive Anda OK dan perlu mencari hal lain. Ukuran blok saya adalah 512 jadi saya menggunakan nomor default itu untuk menjalankan DD
3 setiap blok berukuran 512, jadi yang saya lakukan adalah mengatur bs = 512
Setiap kali saya menjalankan DD secara teratur seperti yang selalu saya lakukan, data saya, setelah kesalahan, akan keluar rusak. Jadi saya kemudian menggunakan parameter seperti yang dijelaskan pada halaman https://www.gnu.org/software/coreutils/manual/html_node/dd-invocation.html mencari bagian "Untuk gagal disk".
Butuh beberapa saat. Setiap blok buruk menemukan suara seperti membenturkan drive yang rusak. Itu menyalin blok demi blok, dan melalui semua blok buruk saya membuat suara yang sama. Jumlah kali membuat suara, adalah karena ia menemukan blok buruk lain dan memberitahu Anda tentang kesalahan tampilan pada pesan. Apa yang dilakukan oleh 'conv = noerror, sync' , adalah untuk menghapus pembacaan yang buruk dengan NUL, sementara 'iflag = fullblock' melayani pembacaan singkat, tetapi tetap menyinkronkan data Anda hingga akhir. Tidak ada korupsi sama sekali, itu hanya tidak menyalin blok yang salah dan mengisinya dengan NUL kosong.
Setelah penyalinan dengan DD selesai, saya hanya mengganti file yang buruk mengembalikan Filezilla dari cadangan masa lalu dan semuanya bekerja OK. Saya harap ini akan bermanfaat bagi orang lain yang mencoba membuat cadangan drive yang rusak.
CATATAN: Blok buruk saya di mana cukup dekat satu sama lain. Sekitar 4 blok sekaligus dalam kelompok yang terdeteksi buruk. Jika blok Anda ada di seluruh disk, beberapa file dapat terpengaruh. Untungnya, pada kasus saya, file 4gb basis data besar hanya terpengaruh.
sumber