Bagaimana cara memaksa remap sektor yang dilaporkan dalam SMART C5 (Hitungan Sektor Saat Ini)?


38

Nilai SMART C5 dari Hard Drive Samsung HM640JJ saya (dalam laptop HP Pavilion dv6) adalah "status kuning = hati-hati"

C5 adalah 10 kemarin, dan 21 hari ini.

C4 (Reallocation Event Count) = 0 dan 05 (Reallocated Sectors Count) = 0

Bagaimana saya bisa memaksa firmware untuk merealokasi mereka?

  • Saya menghapus partisi, membuatnya kembali dan memformat seluruh drive.
  • Saya berlari chkdsk /r /f
  • Saya menjalankan utilitas pemeriksaan disk BIOS dan alat diagnosa / perbaikan lainnya

Saya menggunakan bootrite spinrite6 pada level 2 untuk melakukan ini .... grc.com/intro.htm
Moab

Jawaban:


118

Jawaban singkat: Tulis sesuatu yang baru di sektor ini (bahkan nol - yang formatnya panjang).

Jawaban panjang

Hard drive saat ini mencoba menyembunyikan sektor buruk dari komputer host. Komputer host hanya meminta drive untuk mengembalikan konten nomor sektor tertentu. Biasanya drive membaca sektor, mengembalikannya ke mesin host, dan semuanya baik-baik saja.

Hard drive tahu apakah nilai yang dibacanya valid atau tidak, karena drive menggunakan kode koreksi kesalahan (ECC) untuk memvalidasi bahwa konten yang dibacanya benar. Jika drive mendeteksi bahwa isi sektor tidak valid, drive akan mencoba membaca lagi. Harapannya adalah jika hanya membacanya lagi, itu mungkin mendapatkan konten sektor yang benar. Itu akan terus mencoba lagi sampai mendapat nilai yang baik, atau sudah mencapai batas waktunya (secara resmi dikenal sebagai batas waktu penyelesaian Perintah, atau CCTL ).

Selama percobaan ini, drive akan tampak mati; karena tidak lagi menanggapi perintah .

Sektor Cadangan

Sebagian besar drive modern berisi sejumlah sektor "cadangan" (mis. 1.024 sektor cadangan). Jika drive mengenali suatu sektor sebagai buruk, itu akan berhenti menggunakannya. Setiap permintaan untuk membaca atau menulis ke sektor yang rusak akan dialihkan ke sektor cadangan. Ini menandai sektor buruk, dan realokasi datanya ke sektor cadangan, disebut Acara Realokasi . Dan jumlah total sektor yang telah dialokasikan kembali (dan berapa banyak sektor cadangan Anda yang sudah habis) adalah Hitungan Sektor yang Direalokasi .

Dalam contoh ini dari salah satu hard drive saya sendiri, 64 sektor ditemukan buruk. Itu berarti bahwa 64 sektor cadangan drive telah digunakan:

ID                             Current  Worst  Threshold  Raw  
=============================  =======  =====  =========  ===
(05) Reallocated Sector Count  192      192    140        64

Pada hard drive yang sama ini, ada 4 Acara Realokasi . Ini berarti bahwa ada empat kesempatan di mana drive menandai sektor sebagai buruk, dan menggunakan sektor cadangan sebagai gantinya.

ID                             Current  Worst  Threshold  Raw  
=============================  =======  =====  =========  ===
(05) Reallocated Sector Count  192      192    140         64
(C4) Reallocated Event Count   196      196    0            4

Bagaimana jika tidak pernah bisa membaca data?

Tindakan membaca sektor ini, menghabiskan suku cadang, semuanya di belakang komputer adalah hal yang baik. Ini berarti sistem operasi host tidak harus berurusan dengan masalah kegagalan sektor. Drive itu sendiri dapat menangani detail itu sendiri.

Obrolan Bonus : Di masa lalu, hard drive Anda dikirim dengan stiker yang diikat padanya. Stiker ini berisi Daftar Cacat Pabrik ; daftar semua titik buruk yang dikenal pada drive.

masukkan deskripsi gambar di sini

Jika Anda melakukan format drive tingkat rendah, Anda harus menggunakan alat untuk mengetikkan semua lokasi Sektor-Kepala-Sektor dari titik-titik buruk.
Drive SCSI memiliki perintah,, IOCTL_DISK_REASSIGN_BLOCKSuntuk memberitahu mereka untuk merealokasi tempat yang buruk pada drive setelah sistem operasi mendeteksi itu. Dalam drive IDE ini semua terjadi secara otomatis, tanpa perlu intervensi sistem operasi.

Idealnya drive akan mengenali sektor gagal, memindahkan data ke sektor cadangan, dan tidak pernah menggunakan sektor asli lagi. Tetapi apa yang terjadi jika drive belum dapat membaca sektor ini dengan sukses?

Ini adalah apa Pending Sectors. Drive telah mendeteksi bahwa suatu sektor gagal, dan perlu dipetakan kembali ke cadangan. Tetapi tidak dapat melakukan itu sampai ia berhasil membaca data. Ketika drive mengetahui bahwa suatu sektor buruk, dan perlu dipetakan kembali, tetapi belum dapat melakukannya karena menunggu untuk mendapatkan pembacaan yang baik dari sektor tersebut: itu disebut Hitungan Sektor Tertunda :

ID                             Current  Worst  Threshold  Raw  
=============================  =======  =====  =========  ====
(05) Reallocated Sector Count  192      192    140          64
(C4) Reallocated Event Count   196      196    0             4
(C5) Current Pending Sector    100      100    0             2

Hard drive saya memiliki 2 sektor yang dikenal sebagai drive buruk, tetapi belum dapat dialokasikan kembali. Jika Anda membaca salah satu dari 'Sektor tertunda' ini, drive kemungkinan akan mencoba lagi (dan coba lagi, dan coba lagi), dan akhirnya mengembalikan kesalahan baca ke sistem operasi host:

masukkan deskripsi gambar di sini

Menyerah pada sektor yang tertunda dan itu akan dialokasikan kembali

Ada dua cara yang akhirnya drive dapat realokasi sektor ini, dan mengkonsumsi sektor cadangan lain:

  • akhirnya terbaca dengan baik
  • Anda tidak peduli apa yang ada di sektor ini lagi

Jika drive akhirnya membaca sektor, maka ia tahu bahwa ia dapat merealokasi sektor tersebut.

Cara lain drive dapat merealokasi sektor ini adalah jika Anda memberi tahu bahwa isi sektor itu tidak relevan; Anda tidak peduli apa yang ada di dalamnya lagi. Bagaimana kamu melakukannya?

Dengan menulis sesuatu yang baru di sektor ini.

Setiap kali Anda membaca dari, atau menulis, sektor pada hard drive, Anda harus membaca / menulis seluruh sektor 512-byte 1 . Anda tidak dapat menulis hanya bagian dari suatu sektor. Ketika OS menulis data ke suatu sektor, ia harus menentukan seluruh 512-byte. Jika Anda memberi tahu hard drive bahwa Anda ingin konten baru ini menggantikan bad sector ini, drive tersebut kemudian tahu bahwa Anda bahkan tidak peduli dengan apa yang saat ini ada di bad sector. Kemudian dapat merealokasi sektor buruk ke salah satu suku cadang, dan sektor ini tidak lagi tertunda .

Inilah sebabnya mengapa ketika orang bertanya tentang memiliki beberapa Current Pending Sectors, saran umum adalah menggunakan alat (seperti Data Digital LifeGuard Western) untuk menulis semua nol untuk drive.

masukkan deskripsi gambar di sini

Dengan menulis nol untuk setiap sektor pada drive, Anda memberi tahu drive tersebut bahwa akhirnya dapat merealokasi semua sektor yang tertunda sial itu . Setelah penghapusan, semua Anda Pending Sectorsakan menjadi Reallocated Sectors:

ID                             Current  Worst  Threshold  Raw  
=============================  =======  =====  =========  ====
(05) Reallocated Sector Count  192      192    140          66
(C4) Reallocated Event Count   196      196    0             5
(C5) Current Pending Sector    100      100    0             0

Catatan: Ini tidak sepenuhnya diperlukan untuk menggunakan alat "tingkat rendah" seperti Data Digital LifeGuard milik Western Digital. Jika Anda menginstruksikan Windows melakukan format penuh (yaitu format non- Quick ) volume, itu akan menulis nol untuk setiap sektor dalam volume.

Sistem pengarsipan OS mendukung penandaan sektor sebagai buruk

Berbekal pengetahuan ini, kami akan mengeksplorasi skenario yang umumnya membingungkan.

Sebelum munculnya Integrated Drive Electronics (IDE), sistem operasi host bertanggung jawab untuk mendeteksi bad sector, mencoba ulang membaca, memindahkan data ke sektor lain, dan menandai sektor lama sebagai buruk.

Jika Anda menjalankan chkdsk /r c:menggunakan sistem operasi host, ia akan mengenali bahwa sektor-sektor yang "tertunda" buruk, dan menandainya sebagai buruk itu sendiri, dan tidak pernah mencoba menggunakannya lagi:

> C:\Windows\system32>chkdsk /r c:
The type of the file system is NTFS.
Volume label is OS.

        12 KB in bad sectors.

Jadi dengan asumsi hard drive sektor 512-byte, 12 KB dari 'Pending Sectors' atau dalam contoh ini 12KB ditandai oleh OS sebagai 'bad sector', yang akan sesuai dengan desimal 24 atau 0x18 heksadesimal seperti yang akan ditunjukkan oleh utilitas disk SMART seperti Informasi Crystal Disk:

ID   Attribute Name            Current  Worst  Threshold  Raw  
=============================  =======  =====  =========  ====
(C5) Current Pending Sector    100      100    0            18

Catatan : Utilitas LifeGuard Data Digital Digital v1.31 (terbaru pada 8/31/2017) tampaknya tidak menunjukkan nilai penghitung SMART 'Raw' dengan benar.

Sekarang jika Anda melakukan format penuh (yang menulis nol untuk setiap sektor dalam volume) :

masukkan deskripsi gambar di sini

Itu berarti semua sektor yang Pendingakan dialokasikan kembali. Sekarang aman bagi sistem pengarsipan untuk menggunakan sektor-sektor itu lagi. Untuk menginstruksikan sistem pengarsipan bahwa sektor-sektor itu tidak lagi "buruk" , Anda melakukan opsi di mana ia mengevaluasi kembali sektor-sektor buruk:

>chkdsk c: /B

di mana dokumentasi perintah mengatakan

/B              NTFS only: Re-evaluates bad clusters on the volume
                (implies /R)

Atau

Menurut: https://technet.microsoft.com/en-us/library/cc730714(v=ws.11).aspx

/B              NTFS only: Clears the list of bad clusters on the volume and 
                  rescans all allocated and free clusters for errors. /b includes
                  the functionality of /r. Use this parameter after imaging a
                  volume to a new hard disk drive.

Ini adalah keseluruhan penulisan lotta, dan screenshot keseluruhan lotta, untuk sesuatu yang tidak akan pernah dibaca.


Saya memiliki file 200MB yang memiliki masalah pada 87%. Saya mendapat 3 sektor yang tertunda. Saya mencoba hashing file untuk mendapatkan bacaan yang baik dan mengklaim sektor yang dialokasikan kembali, tetapi mereka tidak mendapatkan realokasi! Hashing hasil: ok, gagal, ok, ok, gagal, gagal. Setiap kali OS menghasilkan beberapa Kesalahan Disk di penampil acara, dan pada hashings ok, itu tergantung selama setengah menit pada 87%. Semua hash sama. C5 masih 3 dan C4 masih 0. Apa pendapat Anda tentang ini?
Mark Jeronimus

@ MarkJeronimus Cobalah menggunakan penghapus file, yang akan menulis semua nol (atau semua data acak) ke file. Itu seharusnya membuat Anda sadar bahwa Anda tidak peduli lagi dengan sektor-sektor itu.
Ian Boyd

Saya melakukan format penuh, tetapi masih tidak ada perubahan.
Mark Jeronimus

2
Satu hal yang saya tidak mengerti: apakah mungkin untuk (a) menunjukkan file mana yang mengandung sektor C5 saat ini, dan (b) 'nuke' sektor-sektor tersebut, yaitu memindahkannya ke C6, dan berhenti mencoba membacanya? Saya tidak ingin HDD saya macet dalam siklus baca yang gagal tanpa akhir; lebih suka mematikan sektor-sektor tersebut dan menghapus file yang dimaksud (secara manual mengembalikannya dari beberapa sumber lain jika penting).
MM

1
Saya tidak ingin nol seluruh drive, hanya bekerja di sekitar bagian yang buruk. Akan melihat program itu, terima kasih
MM

5

Anda tidak perlu melakukan apa pun - belum. Hitungan realokasi berarti "disk menemukan sektor yang rusak dan berhasil mengalokasikannya kembali". Firmware sudah menyelesaikan masalah.

Anda hanya perlu menyadari bahwa drive mulai gagal. Di beberapa titik di masa depan, drive tidak akan memiliki sektor cadangan tersisa untuk realokasi dan Anda akan kehilangan data. Jika beberapa blok penting hilang, Anda mungkin kehilangan semua data pada drive.

Jadi awasi nilai ini atau beli drive baru segera sehingga Anda bisa melupakannya.


3

Saya memiliki pengalaman yang baik dengan metode yang dijelaskan di sini https://www.smartmontools.org/wiki/BadBlockHowto . Disk saya membuat suara dan berhenti bekerja jadi saya menggunakan laporan pintar dan rumus untuk menghitung blok buruk dan menggunakan dd untuk menghapusnya. Saya beruntung karena pintar masih melaporkan hitungan sektor saat ini tetapi disk bekerja sejak 2 tahun atau lebih. Saya memang membeli pengganti tetapi saya tidak pernah menggunakannya. Sepertinya saya pintar itu tidak akurat juga.


oflag = opsi langsung untuk dd ketika menulis nol ke lokasi yang buruk untuk memaksa realokasi (seperti yang disarankan dalam tautan itu) adalah bagian yang saya cari. Terima kasih!
Anton

2

Mungkin Anda tidak tahu alat ini: HD Sentinel

Hard Disk Sentinel (HDSentinel) adalah perangkat lunak pemantauan dan analisis SSD dan multi-OS. Tujuannya adalah untuk menemukan, menguji, mendiagnosis, dan memperbaiki masalah hard disk drive, melaporkan dan menampilkan kesehatan SSD dan HDD, penurunan kinerja dan kegagalan. Hard Disk Sentinel memberikan deskripsi tekstual lengkap, tips dan menampilkan / melaporkan informasi paling komprehensif tentang hard disk dan solid state disk di dalam komputer dan di dalam selungkup eksternal (hard disk USB / hard disk e-SATA). Banyak opsi pemberitahuan dan laporan yang berbeda tersedia untuk memastikan keamanan maksimum data berharga Anda.

Ini tampaknya menjadi alat yang hebat untuk melakukan tindakan seperti itu. Tapi hati-hati, beberapa opsi yang dijalankan dapat sepenuhnya menghancurkan data.


1

Anda perlu menggunakan alat yang menulis ke setiap sektor drive. Kalau tidak, tidak ada cara untuk melakukannya. Jika drive mengalokasikan sektor cadangan dan memetakan kembali, data apa yang harus dimasukkan ke sektor cadangan? Ia tidak tahu, karena usahanya untuk membaca dari sektor yang ada gagal. Hanya operasi tulis yang dapat menghapus kesalahan.


Memformat seluruh hard drive adalah operasi penulisan untuk setiap sektor? Saya sudah memformat drive (perintah format berbasis windows, tidak ada 'format cepat'). Terima kasih
edteke

2
Format cepat bukan operasi penulisan untuk setiap sektor, format biasa biasanya. Anda selalu dapat menggunakan DBaN . Apakah format reguler setidaknya mengurangi hitungan?
David Schwartz

Saya melakukan format reguler (bukan format cepat), saya mengharapkan penghitungan mundur atau remap setelah format, tetapi jumlahnya sama. Terima kasih
edteke

Sebenarnya sangat aneh. Apakah partisi yang Anda format ukuran seluruh drive?
David Schwartz

@edgh: Format reguler tidak membantu ketika Anda memiliki kesalahan seperti itu. Saya sarankan Anda mencoba metode saya.
Gigamegs

1

Zero write, atau dikenal sebagai Format Level Rendah. Anda hanya dapat melakukan ini dengan utilitas disk pabrikan biasanya. Jika ada kegagalan hard drive yang menyebabkan kesalahan ini, mungkin akan segera kembali.


1

Coba Spinrite 6 atau HDD bootable regenerator CD. Mereka memang menulis tes permukaan sehingga harus menghapus sektor buruk yang tertunda dan menambah jumlah yang dialokasikan kembali.


0

Untuk menambahkan solusi lain, saya baru-baru ini menggunakan Victoria untuk memperbaiki 2 disk yang gagal dengan sektor-sektor yang tertunda, namun disk tidak akan memetakannya kembali secara otomatis.

Victoria adalah antarmuka grafis tingkat rendah ke disk Anda, dan termasuk (jika Anda benar-benar ingin!) Pengeditan byte demi byte yang sebenarnya dari disk, memaksa sektor memetakan kembali pada kegagalan, mendukung drive USB dan USB-2-sata murah China-bay-sata adaptor, mengubah set pabrik atribut dan fitur pintar, dan banyak lagi.

Kelemahan - ini dikembangkan oleh pengembang Rusia, dan saya meninggalkan Anda untuk membuka kotak Pandora itu jika Anda memiliki masalah dengannya ...

Dengan Victoria, saya meraih sektor pertama yang gagal memetakan kembali, menjalankan pemindaian "Baca" dari masing-masing sektor setelah itu dengan memetakan kekuatan. Saya kemudian menjalankan "Verifikasi" dari seluruh disk, jalankan kembali pemeriksaan pintar, dan sekarang baik-baik saja ...

... Tapi, saya punya disk cadangan, jadi saya sedang dalam proses menukar mereka sekarang. Ini sedikit menakutkan, karena saya juga berada di antara solusi cadangan, sepanjang waktu!

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.