Cara memperbaiki Bad Sector hard-drive

17

Saya mencoba untuk memperbaiki hard drive saya menggunakan Ubuntu tetapi saya menemukan pesan kesalahan dan tidak tahu bagaimana melanjutkan. Saya perlu memperbaiki sektor buruk saya

fsck /dev/sdb  
fsck from util-linux 2.20.1  
e2fsck 1.42.5 (29-Jul-2012)  
fsck.ext2: Permission denied while trying to open /dev/sdb  
You must have r/w access to the filesystem or be root  
pengguna122095
sumber
1
Teks yang Anda tempel tampaknya tidak terkait dengan pertanyaan Anda - dapatkah Anda mengklarifikasi?
thomasrutter

Jawaban:

22

Sebuah bad sector pada drive adalah tanda kerusakan permanen drive. Kecuali Anda memiliki alasan untuk percaya bahwa drive Anda menandai sektor-sektor ini sebagai salah, Anda tidak dapat "memperbaikinya".

Ini berarti bahwa sebagian drive Anda rusak sejauh tidak dapat lagi dipercaya untuk dibaca dan / atau ditulis.

Sistem Anda dapat terus menggunakan drive dengan menandai sektor itu sebagai tidak dapat digunakan, tetapi Anda tetap dapat mempertimbangkan penggantian drive, karena sektor yang buruk dapat menjadi tanda bahwa lebih banyak sektor, atau keseluruhan drive, akan segera gagal.

Meskipun mungkin ada cara untuk memaksa drive untuk menghapus tanda sektor sebagai buruk, memungkinkan Anda untuk menggunakannya lagi, ini mungkin bukan ide yang baik. Sektor ini mungkin tetap baik, tetapi kemungkinan besar akan menjadi buruk lagi. Beberapa data mungkin hilang atau rusak tergantung pada bagaimana itu gagal.

Sekarang, untuk pesan kesalahan yang Anda tempelkan di pertanyaan Anda (pada saat saya menulis ini), kesalahan itu tidak ada hubungannya dengan bad sector. Itu berarti Anda tidak memiliki akses ke drive. Menjadi sudodapat memberi Anda akses, jadi:

sudo fsck /dev/sdb

Namun, ini mungkin masih bukan yang Anda inginkan, karena / dev / sdb merujuk ke seluruh drive, sedangkan fsckdirancang untuk bekerja pada sistem file , yang biasanya (tetapi tidak selalu, dan Anda mungkin memiliki pengecualian di sini) ditempatkan di partisi . Jika hal di atas tidak berhasil, Anda mungkin ingin melakukan ini ke partisi 1 di drive itu:

sudo fsck /dev/sdb1

Anda bisa mendapatkan daftar partisi per drive dengan:

sudo fdisk -l
thomasrutter
sumber
7
Ini mungkin hanya blok yang buruk. Itu tidak bisa membaca data, itu saja. Setelah memetakan ulang blok, drive kemungkinan bagus untuk tiga tahun ke depan. Demikian pengalaman saya.
Zan Lynx
HDD dengan sektor yang buruk jauh, jauh lebih besar kemungkinannya gagal setiap saat daripada HDD yang tidak pernah memiliki sektor yang buruk. Berapa banyak drive yang berdasarkan pengalaman Anda? Saya masih akan menyebutnya pertaruhan yang lebih besar.
thomasrutter
Lebih mungkin? Tentu. Tapi itu tidak segera hancur. Sangat tergantung pada mengapa blok itu menjadi buruk. Seperti yang saya katakan, saya memiliki drive yang perlahan memetakan beberapa blok buruk sepanjang hidup mereka dan terus bekerja.
Zan Lynx
it isn't immediately doomed- Anda tidak memiliki cara untuk mengetahui atau menjamin itu. Dalam beberapa kasus mungkin. So much depends on why that block went bad- tidak mungkin menemukan penyebabnya secara andal, tanpa membukanya dan menghancurkannya secara efektif. Seperti yang saya katakan, selalu ada peningkatan risiko. Jika Anda benar-benar baik-baik saja dengan risiko seperti itu saya tidak punya masalah dengan itu. Sebagian besar waktu, mungkin bahkan> 90% dari waktu, drive tidak akan cepat gagal setelah sektor buruk ditemukan dan dalam beberapa kasus bahkan mungkin berlangsung selama bertahun-tahun setelahnya. Simpan cadangan yang baik dan kegagalan di masa depan tidak akan banyak merugikan.
thomasrutter
1
Mengatakan "disk sudah terpasang" dan tidak melakukan apa-apa.
Dims
21

Singkatnya : Boot sistem penyelamatan dan gunakan badblock :

badblocks -svn /dev/sda

agar pengontrol hard disk ganti blok buruk dengan blok cadangan.

Saya telah menjawab pertanyaan yang sama secara rinci di sini .

pengguna228505
sumber
4
Anda mungkin ingin menggunakan ini secara tidak langsung dengan -copsi fsck . AFAIK menggunakan badblocksstandalone tidak akan pernah mengubah perilaku apa pun, itu hanya akan melaporkan di mana blok buruk berada. Tentu saja, firmware drive mungkin secara transparan mengubah perilakunya ketika diletakkan di bawah pola penggunaan karakteristik badblocks, tetapi tentunya ini akan tergantung pada drive?
amoe
1
Sebagai pengguna baru, Anda harus terlebih dahulu mendapatkan "reputasi" sebelum diizinkan melakukan aktivitas tertentu di situs ini. Jadi tidak mungkin untuk menduplikasi ini. Masih pertanyaan itu pantas dijawab. Karena blok buruk adalah masalah disk fisik (periksa nilai-nilai SMART, sistem file tidak terpengaruh secara langsung. Mungkin menderita korupsi karena kehilangan data. Jadi melakukan fsck juga merupakan ide yang baik. Karena pertanyaan awal adalah tentang bagaimana caranya "memperbaiki" blok buruk ini adalah jawabannya
user228505
@amoe dokumentasi mengandaikan perilaku akan berubah, di sini: "Jalankan sudo badblocks -n pada nama perangkat untuk menjalankannya sendiri dan melaporkan badblock tepat di terminal Anda. Anda dapat menggunakan opsi -w untuk menggunakan tes mode penulisan, tetapi jangan gunakan opsi -n dan -w bersamaan karena keduanya saling eksklusif. Anda seharusnya tidak pernah menggunakan opsi -w pada volume yang memiliki data, karena itu akan menghapus semuanya bersih. Gunakan yang lebih lambat -n opsi karena akan menjaga data Anda dalam kasus ini. Opsi -w baik untuk volume yang Anda tidak keberatan menghapus. "
Webwoman
13

Di masa lalu Anda dulu harus mencatat badblock yang ditulis pada drive dan masukkan yang ada di daftar cacat sebelum memformat drive, karena permukaan hard disk tidak pernah "sempurna", pabrikan bijak dalam hal ini karena orang-orang membeli disk akan melihat tabel cacat yang tercetak di disk dan membeli yang cacat paling sedikit ...

Sekarang gulir ke depan 20 atau lebih tahun dan produsen hard disk menyembunyikan fakta bahwa disk baru memiliki blok buruk dengan firmware, ketika Anda membeli disk baru itu kemungkinan besar sudah memiliki blok buruk, firmware akan mendeteksi badblock yang baru tumbuh dan memetakan mereka keluar dari satu set silinder cadangan yang dimilikinya, tetapi ini hanya terjadi ketika operasi penulisan terjadi pada sektor itu dan algoritma ECC mendeteksi kegagalan bit, baru kemudian akan memetakan blok keluar. Jadi kembali ke titik Anda dapat memaksa drive untuk memetakan badblock hanya dengan menggunakan DD, yaitu / [edit: contoh berikut diedit untuk mencegah kerusakan drive yang tidak disengaja: karakter wildcard dihapus, diganti dengan X]

dd if=/dev/zero of=/dev/sdX bs=1M 

jelas mengubah target = untuk mencerminkan drive yang Anda inginkan ke nol ini adalah cara tercepat untuk memetakan ulang drive yang cacat, ini juga cara tercepat untuk benar-benar membuang pengaturan Linux Anda dengan membuat drive target salah, jadi periksa, periksa kembali lalu periksa lagi, sebelum Anda menekan tombol enter. Anda dapat meningkatkan ukuran blocksize di perintah dd untuk mengoptimalkan baca / tulis dan mungkin membuat semuanya berjalan lebih cepat, tetapi ada pengembalian yang berkurang setelah satu poin. Saya menemukan apa pun antara 1M dan 8M paling cocok untuk saya

Anda bisa mendapatkan DD hanya menulis satu sektor, yang buruk ... untuk memetakannya kembali, sehingga Anda tidak perlu membuat cadangan drive Anda, tapi itu ketel ikan yang berbeda dan roulette Rusia jika Anda tidak tahu persis apa yang kamu lakukan .....

Perintah ini AKAN menghancurkan semua yang ada di hard drive Anda termasuk partisi apa pun. Tapi itu akan memaksa drive untuk memetakan sektor buruk yang mungkin dimilikinya.

Ini benar-benar ok untuk disk memiliki bad sector selama mereka tidak berada di boot sector, jika mereka kemudian drive tidak berguna, jika Anda melihat beberapa bulan kemudian bahwa drive Anda telah mengembangkan lebih banyak bad sector maka saatnya untuk mulai berbelanja pengganti.

Saya telah menghidupkan kembali ratusan drive seperti ini dan mereka telah hidup selama bertahun-tahun setelahnya, sektor yang buruk belum tentu lonceng kematian untuk drive.

Derek Brabrook
sumber
Saya telah menggunakan metode ini sebelumnya tetapi tidak pernah tahu mengapa itu berhasil. Dari segelintir drive yang paling berlangsung selama bertahun-tahun setelah dangkal menyeka drive seperti yang ditentukan.
MER
Ack !! Untuk yang belum tahu, JANGAN SALINAN DAN PASTE LINE. Shell Anda akan memperluas wildcard '?' dengan nama perangkat aktual di / dev. Jika Anda tidak sengaja menekan enter sebelum mengganti?, Anda mungkin dapat menghapus drive yang salah. Jika Anda memiliki lebih dari 1 perangkat, dd mungkin membuat kesalahan, tetapi saya tidak mau mengujinya di mesin saya.
TiberiusKirk