Cerca questo argomento e Google ti suggerirà « smartctl fix bad sectors ». Quel suggerimento descrive qualcosa che lo strumento non fa, ed è nello scarto tra ciò che le persone si aspettano e ciò che SMART fornisce realmente che i dati vanno persi.
smartctl riporta, non ripara
La documentazione non lascia spazio a interpretazioni: smartctl "non calcola nessuno dei valori degli attributi, delle soglie o dei tipi, si limita a riportarli dai dati SMART presenti sul dispositivo."
È un'utilità di monitoraggio e di reportistica. Non esiste alcuna opzione che ripari un settore, perché riparare non è qualcosa che fa uno strumento diagnostico. Quando un disco rialloca un settore danneggiato, è il firmware a farlo, silenziosamente, usando una riserva presa dal proprio pool di scorta.
Questo ha conseguenze pratiche. Qualsiasi utilità che pubblicizzi di "riparare" i settori danneggiati sta facendo una di due cose: riscriverli, il che distrugge in modo permanente qualunque cosa vi si trovasse, oppure forzare la mano al firmware verso la riallocazione. Nessuna delle due recupera il tuo file. Se i dati contano ancora, scrivere sul disco è l'ultima cosa che vuoi fare.
I cinque attributi che vale la pena leggere
Backblaze gestisce uno dei più ampi set di dati pubblicati sui guasti dei dischi, e monitora cinque attributi SMART per la previsione:
| ID | Attributo |
|---|---|
| 5 | Reallocated Sectors Count |
| 187 | Reported Uncorrectable Errors |
| 188 | Command Timeout |
| 197 | Current Pending Sector Count |
| 198 | Uncorrectable Sector Count |
Il loro confronto pubblicato: il 76,7 % dei dischi guasti aveva almeno uno di questi attributi sopra lo zero, contro il 4,2 % dei dischi in servizio. È questa separazione che li rende degni di essere controllati.
I due più comunemente fraintesi sono il 197 e il 5, e vale la pena capire la differenza tra loro.
197, Current Pending Sector Count, è l'elenco provvisorio. Si tratta di settori che il disco ha faticato a leggere e che ha messo in prova. Non sono ancora condannati. Se una lettura successiva riesce, il conteggio può tornare a scendere.
5, Reallocated Sectors Count, è il registro permanente. Si tratta di settori su cui il disco ha rinunciato e che ha scambiato con quelli di riserva. Questo numero può solo salire.
Quindi un 197 diverso da zero è l'avvertimento più precoce, e quello su cui vale la pena agire, perché dice che il disco sta attualmente faticando a leggere qualcosa. E quel qualcosa potrebbe benissimo essere il tuo file.

Come leggere l'output senza fraintenderlo
Tre comandi coprono il terreno pratico:
smartctl -H /dev/sda # overall health status
smartctl -A /dev/sda # the attribute table
smartctl -l selftest /dev/sda # results of past self-tests
Su -H, il significato documentato di un errore è specifico e urgente: "o che il dispositivo è già guasto, oppure che sta prevedendo il proprio guasto entro le 24 ore successive." Ventiquattro ore non sono una finestra di manutenzione. Significano copiare adesso ciò che conta.
Su -A, ogni attributo porta con sé un valore Raw, un valore Normalized e una Threshold (soglia). La regola documentata è che se il valore normalizzato è minore o uguale alla soglia, l'attributo è in errore. Le persone leggono abitualmente la colonna raw e si spaventano, oppure la leggono e si tranquillizzano, senza confrontarla con la soglia. Il valore raw da solo non ti dice se un attributo è in errore.
Per eseguire i test veri e propri:
smartctl -t short /dev/sda # usually under ten minutes
smartctl -t long /dev/sda # tens of minutes, more thorough
Il test breve verifica le prestazioni elettriche e meccaniche insieme a quelle in lettura. Il test esteso ne è la versione più lunga e più approfondita. In entrambi i casi il comando lancia il test e restituisce il controllo; l'esito lo leggi dopo con -l selftest, che mostra il tipo e lo stato finale di ciascuno degli autotest più recenti.
Il numero che nessuno cita: 23,3 %
Ecco la parte che dovrebbe cambiare il modo in cui reagisci a un rapporto pulito.
Secondo le cifre stesse di Backblaze, se il 76,7 % dei dischi guasti mostrava un avvertimento, allora il 23,3 % dei dischi guasti non ne mostrava proprio nessuno. Quasi un guasto su quattro arriva con SMART che non segnala nulla di anomalo.
SMART è un avvertimento precoce utile che resta però in silenzio circa un quarto delle volte. È la prova di un problema quando parla, e non è la prova di buona salute quando tace. Un controllo superato significa che non è ancora stato rilevato nulla di male. Non significa che il disco stia bene, e non sostituisce l'avere una seconda copia.
Cosa fare quando i numeri sono cattivi
L'ordine conta, e il primo passo è quello che le persone saltano.
Smetti di scrivere sul disco. Ogni scrittura è un'occasione per sovrascrivere qualcosa di recuperabile e altro lavoro per un meccanismo che è già in difficoltà.
Crea l'immagine prima di indagare. Lavora da una copia a livello di settore, non dal disco difettoso. Tentativi di lettura ripetuti su un disco con settori pending mettono sotto sforzo esattamente il punto già debole, e ogni nuovo tentativo è un'occasione perché un settore marginale diventi illeggibile. Trattiamo il procedimento in clonare un disco difettoso con ddrescue.
Poi recupera dall'immagine. Una volta che hai una copia, puoi riprovare quante volte vuoi senza mettere a rischio l'originale.
Recuperare da un'immagine o da un disco ancora leggibile
Si applica una volta che il disco è abbastanza stabile da essere letto o che ne hai fatto una copia. Non ripara i settori danneggiati e nessun software può farlo, perché la riallocazione è gestita dal firmware del disco.
La versione breve
smartctl ti dice ciò che il disco riporta su sé stesso. Non ripara mai nulla, quindi tratta "fix bad sectors" come la descrizione di qualcos'altro. Leggi l'attributo 197 come l'avvertimento precoce e il 5 come il registro permanente, e confronta i valori normalizzati con le soglie invece di leggere i numeri raw da soli. Un -H in errore ti dà un orizzonte documentato di 24 ore. E un rapporto pulito non è un certificato di buona salute, perché all'incirca un guasto su quattro non è mai comparso in queste statistiche.
Il comportamento dei comandi e la semantica degli attributi sono tratti dalla documentazione di smartctl; le cifre di correlazione con i guasti (76,7 %, 4,2 %, 23,3 %) sono le statistiche pubblicate da Backblaze sulla propria flotta. Le cifre descrivono la loro popolazione di dischi e non sono una previsione per un singolo disco. I link commerciali portano l'attributo rel="sponsored nofollow"; può applicarsi una commissione di affiliazione senza alcun costo aggiuntivo per te.
Recupera i dati del tuo disco fisso → EaseUS
Scansione gratuita · file cancellati, formattati, persi · Windows & Mac


