2012-01-30 20:59:25 +0000 2012-01-30 20:59:25 +0000
38
38

Come forzare una rimappatura dei settori riportati in S.M.A.R.T C5 (Current Pending Sector Count)?

Il valore S.M.A.R.T C5 del mio hard disk Samsung HM640JJ (in un portatile HP Pavilion dv6) è “yellow status = caution”

C5 era 10 ieri, ed è 21 oggi.

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

come posso forzare il firmware a riallocarli?

  • Ho rimosso le partizioni, le ho ricreate di nuovo e ho formattato l'intero disco.
  • Ho eseguito chkdsk /r /f
  • Ho eseguito il BIOS disk check utility e altri strumenti di diagnosi/riparazione

Risposte (8)

120
120
120
2013-12-15 18:06:48 +0000

Risposta breve: Scrivere qualcosa di nuovo nel settore (anche degli zeri - cosa che fa un formato lungo).

Risposta lunga

I dischi rigidi oggi cercano di nascondere i settori difettosi al computer ospite. Il computer host chiede semplicemente all'unità di restituire il contenuto di un particolare numero di settore. Normalmente il disco legge il settore, lo restituisce al computer host e tutto va bene.

Il disco rigido sa se il valore letto è valido o no, perché l'unità usa Error-correcting code (ECC) per convalidare che il contenuto letto sia corretto. Se l'unità rileva che il contenuto del settore non è valido, riprova la lettura. La speranza è che se semplicemente lo legge di nuovo, potrebbe ottenere il contenuto corretto del settore. Continuerà a riprovare finché non otterrà un buon valore, o avrà raggiunto il suo limite di tempo (formalmente conosciuto come il Command completion time limit, o CCTL _).

Durante questi tentativi, l'unità apparirà morta; poiché non risponde più ai comandi .

Settori di riserva

La maggior parte delle unità moderne contiene un certo numero di settori di riserva (ad esempio 1.024 settori di riserva). Se il drive riconosce un settore come cattivo, smetterà di usarlo. Qualsiasi richiesta di leggere o scrivere su quel settore danneggiato sarà trasparentemente reindirizzata a un settore di riserva. Questa marcatura di un settore danneggiato, e la riallocazione dei suoi dati in un settore di riserva, è chiamata un Evento di riallocazione. E il numero totale di settori che sono stati riallocati (e quindi quanti dei vostri settori di riserva sono stati utilizzati) è il Conteggio dei settori riallocati.

In questo esempio da uno dei miei dischi rigidi, 64 settori sono stati trovati difettosi. Ciò significa che 64 dei settori di riserva del disco sono stati chiamati in uso:

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

Su questo stesso disco rigido, ci sono stati 4 Eventi di riallocazione. Questo significa che ci sono state quattro occasioni in cui l'unità ha contrassegnato i settori come cattivi, e ha usato invece i settori di riserva.

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

E se non potesse mai leggere i dati?

Queste azioni di rilettura dei settori, consumando i settori di riserva, tutto alle spalle del computer è una buona cosa. Significa che il sistema operativo host non deve occuparsi del problema dei settori difettosi. L'unità stessa può gestire questi dettagli da sola.

Bonus Chatter : Ai vecchi tempi, il tuo hard disk veniva spedito con un adesivo attaccato ad esso. Questo adesivo conteneva la Lista dei difetti di fabbrica; la lista di tutti i punti difettosi conosciuti sul disco.

Se eseguivi una formattazione di basso livello del disco, dovevi usare uno strumento per digitare tutte le posizioni Cylinder-Head-Sector dei punti difettosi.
I drive SCSI hanno un comando, IOCTL_DISK_REASSIGN_BLOCKS , per dire loro di riallocare un bad spot sul drive dopo che il sistema operativo lo ha rilevato. Nelle unità IDE tutto questo avviene automaticamente, senza il bisogno dell'intervento del sistema operativo.

Idealmente l'unità riconoscerebbe che il settore sta fallendo, sposterebbe i dati in un settore di riserva e non userebbe più il settore originale. Ma cosa succede se l'unità non è stata in grado di leggere il settore con successo?

Ecco cosa sono gli Pending Sectors. L'unità ha rilevato che un settore sta fallendo e deve essere rimappato in un settore di riserva. Ma non può farlo finché non può leggere con successo i dati. Quando l'unità sa che un settore è difettoso e deve essere rimappato, ma non può ancora farlo perché sta aspettando di ottenere una buona lettura dal settore: questo è chiamato Pending Sector Count :

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

Il mio disco rigido ha 2 settori che l'unità riconosce come cattivi, ma non possono ancora essere riallocati. Se si dovesse leggere uno di questi ‘Pending sectors’, l'unità probabilmente riproverebbe (e riprovare, e riprovare), e alla fine restituirebbe un errore di lettura al sistema operativo host:

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

Rinuncia al settore in sospeso e verrà riallocato

Ci sono due modi in cui l'unità può finalmente riallocare il settore, e consumare un altro settore di riserva:

  • finalmente ottiene una buona lettura
  • non ti interessa più cosa c'è nel settore

Se l'unità legge finalmente il settore, allora sa che può riassegnare il settore.

L'altro modo in cui l'unità può riallocare il settore è se gli fate sapere che il contenuto di quel settore è irrilevante; che non vi interessa più cosa c'è dentro. Come si fa?

Scrivendo qualcosa di nuovo nel settore.

Ogni volta che leggete da, o scrivete su, un settore su un disco rigido, dovete leggere/scrivere l'intero settore1 da 512 byte. Non potete scrivere solo parte di un settore. Quando il sistema operativo scrive dati in un settore, deve specificare i 512 byte interi. Se dite al disco rigido che volete che questi nuovi contenuti sostituiscano questo settore difettoso, il disco sa che non vi interessa cosa c'è attualmente nel settore difettoso. Può quindi **Riallocare un settore difettoso in uno dei ricambi, e il settore non è più Pendente.

Ecco perché quando la gente chiede di Avendo alcuni Current Pending Sectors, il consiglio comune è di usare uno strumento (come Data LifeGuard di Western Digital) per scrivere tutti gli zero sul disco.

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

        12 KB in bad sectors.

Scrivendo degli zeri su ogni settore del disco, si sta dicendo al disco che può finalmente riallocare tutti quei fastidiosi settori in sospeso. Dopo la cancellazione, tutti i vostri Pending Sectors diventeranno Reallocated Sectors:

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

Nota: Non è strettamente necessario usare uno strumento di “basso livello” come Data LifeGuard di Western Digital. Se ordinate a Windows di eseguire una formattazione completa (cioè non formattazione rapida) di un volume, esso scriverà degli zeri su ogni settore del volume.

Il sistema di archiviazione del sistema operativo supporta la marcatura dei settori come cattivi

Armati di questa conoscenza, esploreremo uno scenario comunemente confuso.

Prima dell'avvento dell’Integrated Drive Electronics (IDE), il sistema operativo host era responsabile di rilevare i settori danneggiati, riprovare la lettura, spostare i dati in un altro settore, e marcare i vecchi settori come danneggiati.

Se tu dovessi eseguire un chkdsk /r c: usando il sistema operativo host, esso riconoscerebbe che i settori “pendenti” sono cattivi, e li segnerebbe come cattivi lui stesso, e non cercherebbe mai più di usarli:

>chkdsk c: /B

Quindi assumendo un disco rigido con 512 byte di settore, 12 KB di ‘Pending Sectors’ o in questo esempio 12KB segnati dal SO come ‘settori cattivi’, ciò corrisponderebbe al decimale 24 o all'esadecimale 0x18 come sarebbe mostrato da una S. M.A.R.T. come Crystal Disk Information:

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

Nota : L'utility Data LifeGuard v1.31 di Western Digital (ultima al 31/08/2017) non sembra mostrare correttamente i valori attuali del contatore S.M.A.R.T. ‘Raw’.

Ora se si esegue una formattazione completa (che scrive degli zeri su ogni settore del volume):

/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.

Questo significa che tutti quei settori che erano Pending stanno per essere riallocati. Ora è sicuro per il sistema di archiviazione usare di nuovo quei settori. Per istruire il sistema di archiviazione che quei settori non sono più “cattivi”, si esegue un'opzione in cui esso rivaluta i settori cattivi:

dove la documentazione del comando dice

Or

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

Questo era un sacco di roba scritta, e un sacco di screenshot, per qualcosa che non sarà mai letto.

5
5
5
2012-09-11 10:05:04 +0000

Non c'è bisogno di fare nulla - ancora. Il conteggio della riallocazione significa “il disco ha trovato un settore difettoso e lo ha riallocato con successo”. Il firmware ha già risolto il problema.

Devi solo essere consapevole che il disco sta iniziando a fallire. Ad un certo punto nel futuro, il disco non avrà più settori di riserva per la riallocazione e si perderanno dati. Se qualche blocco importante viene perso, potreste perdere tutti i dati sul disco.

Quindi tenete d'occhio questo valore o comprate subito un nuovo disco per dimenticarvene.

3
3
3
2012-01-30 21:29:36 +0000

Ho avuto una buona esperienza con il metodo descritto qui https://www.smartmontools.org/wiki/BadBlockHowto . Il mio disco faceva rumore e smetteva di funzionare così ho usato smart report e la formula per calcolare il blocco cattivo e usare dd per cancellarlo. Sono stato fortunato perché smart sta ancora riportando un conteggio corrente dei settori ma il disco funziona da circa 2 anni. Ho comprato una sostituzione ma non l'ho mai usata. Mi sembra che anche smart non sia così accurato.

2
2
2
2012-10-18 08:38:52 +0000

Forse non conoscete questo strumento HD Sentinel

Hard Disk Sentinel (HDSentinel) è un software di monitoraggio e analisi di SSD e HDD multi-OS. Il suo obiettivo è quello di trovare, testare, diagnosticare e riparare i problemi dell'hard disk, segnalare e visualizzare la salute di SSD e HDD, il degrado delle prestazioni e i fallimenti. Hard Disk Sentinel fornisce una descrizione testuale completa, suggerimenti e visualizza/rappresenta le informazioni più complete sui dischi rigidi e i dischi a stato solido all'interno del computer e negli alloggiamenti esterni (dischi rigidi USB / dischi rigidi e-SATA). Sono disponibili molti diversi avvisi e opzioni di rapporto per garantire la massima sicurezza dei vostri preziosi dati.

Questo sembra essere un ottimo strumento per fare tali azioni. Ma fate attenzione, alcune opzioni di esecuzione possono distruggere completamente i dati.

1
1
1
2013-05-31 11:13:45 +0000

Prova Spinrite 6 o i CD avviabili di HDD regenerator. Fanno test di superficie di scrittura, quindi dovrebbero eliminare i settori difettosi in sospeso e aumentare il numero di riallocazioni.

1
1
1
2012-06-08 21:34:36 +0000

Zero write, altrimenti noto come Low Level Format. È possibile farlo solo con un'utilità disco del produttore, di solito. Se c'è un guasto al disco rigido che causa questo errore, potrebbe tornare quasi subito.

1
1
1
2012-01-30 21:22:33 +0000

Devi usare uno strumento che scriva su ogni settore del disco. Altrimenti non c'è modo di farlo. Se il disco ha allocato un settore di riserva e rimappato, quali dati dovrebbe mettere nel settore di riserva? Non ne ha idea, poiché il suo tentativo di leggere dal settore esistente è fallito. Solo un'operazione di scrittura può cancellare l'errore.

0
0
0
2019-10-30 15:48:58 +0000

Per aggiungere un'altra soluzione, recentemente ho usato Victoria per riparare 2 dischi che sono falliti con settori in sospeso, ma il disco non li rimappava automaticamente da solo.

Victoria è un'interfaccia grafica di basso livello per il tuo disco, e include (se lo vuoi davvero!) la modifica effettiva byte per byte del disco, la rimappatura forzata dei settori in caso di fallimento, supporta le unità USB e quegli economici adattatori USB-2-sata della China-bay, cambia gli attributi e le caratteristiche intelligenti impostati in fabbrica, e altro ancora.

Il lato negativo - è sviluppato da uno sviluppatore russo, e vi lascio aprire quel vaso di Pandora se avete problemi con esso…

Con Victoria, ho preso il primo settore che non è riuscito a rimappare, ho eseguito una scansione “Read” di ogni settore successivo con una rimappatura forzata. Ho poi eseguito una “Verifica” dell'intero disco, ho rieseguito il controllo intelligente e ora va bene…

…Ma, ho dei dischi di riserva, quindi sono in procinto di scambiarli ora. Questo è stato un po’ spaventoso, dato che sono anche tra le soluzioni di backup, di tutti i tempi!