Jadi saya punya hard drive yang gagal. Saya ingin menghapus data di dalamnya sebelum mengirimnya untuk penggantian. Saya mencoba menggunakan dd if=/dev/zero of=/dev/sdXX
, tetapi berhenti pada kesalahan tulis pertama. Bagaimana saya bisa menimpa drive dengan nol, mengabaikan kesalahan tulis? conv=noerror
tampaknya hanya mempengaruhi file input.
bad-sectors
dd
secure-erase
TestUser16418
sumber
sumber
badblocks
juga berhenti pada kesalahan? Mungkin Anda bisa menulis yang destruktif dengan itu?badblocks
untuk memastikan berapa banyak blok buruk yang ada sebelum saya mengembalikan disk pada hari Senin. Itu juga berhasil menghapus disk, tetapi butuh hampir 50 jam.Jawaban:
coba ddrescue daripada dd - itu mencoba lebih keras dengan kesalahan
sumber
Parameter yang saya gunakan dengan ddrescue untuk menghapus drive
/dev/sdb
(diisi dengan nol dari/dev/zero
) dan mencatat keluaran ke filelog.txt
:sumber
Jika Anda hanya ingin menghapus drive, coba dban
Dari situs:
Boot dan Nuke Darik ("DBAN") adalah disk boot mandiri yang dengan aman menyeka hard disk dari sebagian besar komputer. DBAN akan secara otomatis dan sepenuhnya menghapus isi hard disk apa pun yang dapat dideteksinya, yang menjadikannya utilitas yang tepat untuk penghancuran data massal atau darurat.
sumber
Sebagai catatan, dd juga memiliki opsi
conv=noerror
untuk melewati kesalahan. Jika Anda memiliki kesalahan pada file input, dan ketika tidak menggunakan/dev/zero
, Anda ingin menggunakanconv=noerror,notrunc
atauconv=noerror,sync
untuk mencegah dd memotong file output di mana kesalahan ada pada file input.Untuk permintaan Anda, Anda dapat mencoba perintah ini sebagai gantinya:
Untuk mempercepat proses, dan berpotensi menghindari drive sekarat di tengah jalan, Anda juga dapat mencoba meningkatkan ukuran byte dari default 512 (yang membuat dd membaca sektor per sektor, yang lambat) menjadi sesuatu yang lebih besar seperti 4K ( yang delapan kali lebih besar):
Catatan: Dengan ukuran byte yang lebih besar, kesalahan yang dilompati dapat meninggalkan bagian data yang dapat dibaca sedikit kurang dari ukuran byte yang Anda pilih, tetapi masih tidak mungkin ada orang yang bisa mendapatkan apa pun dari bagian tersebut setelah seluruh disk dijalankan melalui proses.
Selain itu, saya yakin produsen hard drive dengan benar membuang hard drive yang dikembalikan untuk penggantian garansi, jika drive gagal sebelum Anda dapat sepenuhnya menyelesaikan proses menimpa.
sumber
man dd
menunjukkan "noerror" berarti "lanjutkan setelah membaca kesalahan"Jelas bukan solusi pengguna daya, tetapi jika kesalahan penulisan jarang terjadi, Anda mungkin hanya ingin melanjutkan secara manual setelah kemunculannya.
Secara teoritis Anda dapat membuat skrip untuk melakukan sesuatu secara otomatis, tetapi itu tidak sepele, dan saya lebih suka menulis alat untuk melakukan trik daripada repot dengan skrip dd ..
sumber