Sospetti che il tuo disco fisso, SSD o USB si stia per rompere? Ebbene: Linux ci mette a disposizione alcuni strumenti utili per testare i dischi e assicurarci che i nostri dati non siano in pericolo. Il bello è che tutto funziona anche da Live CD/USB, quindi potremo facilmente utilizzare questi programmi anche per eseguire il test dei dischi presenti su un comune PC Windows. Nel corso di questa guida vedremo dunque come utilizzare gli strumenti forniti a corredo di Ubuntu oppure con un tool grafico aggiuntivo. E, per chi lavora sui server, testare lo stato di salute dei dischi da linea di comando
nota: in questa guida vedremo come eseguire un test dei dischi tramite Linux. Chi fosse alla ricerca di uno strumento più immediato per Windows, dovrebbe valutare queste alternative:
» Leggi: Esegui il test della superficie del tuo hard disk
Avviare da Live CD/USB
Se non avete Linux sul PC di cui volete testare i dischi, potete usare un Live CD/USB. Il bello di questo approccio è che non c'è nulla da installare: caricheremo temporaneamente Linux dal supporto esterno invece che dal disco fisso/SSD interno del PC, eseguiremo i nostri test e, al primo riavvio, sarà tutto come prima.
Allo scopo, potete masterizzare l'immagine ISO di Ubuntu su CD oppure trasferirla su chiavetta USB seguendo queste istruzioni:
» Leggi: Video-guida: come installare Ubuntu da chiavetta USB (Linux facile)
Effettuate quindi il boot del PC dal CD o USB appena preparato. Arrivati alla prima schermata, scegliete Italiano
e proseguite cliccando Prova Ubuntu
Vi troverete così davanti al desktop di Ubuntu, pronti per eseguire il test di salute dei dischi.
Metodo 1: Utility "Dischi"
Il metodo più veloce per testare un disco con Ubuntu è tramite l'utility Dischi. Mi piace perché non c'è nulla da installare: il programma è fornito a corredo del sistema operativo. Per avviarlo:
- cliccare sul pulsante con i 3x3 punti in basso a sinistra per aprire la dashboard
- digitare
dischi
per trovare e lanciare l'omonima applicazione
Sulla sinistra troviamo la lista di tutti i dischi collegati al PC (interni e USB). Selezionandone uno, verranno mostrati i dettagli nella sezione centrale.
Da notare che, in alcune circostanze, il valore Generale
riporta un messaggio apparentemente discordante: Il disco è OK, 11 settori danneggiati
. Questo significa soltanto che la diagnostica ha rilevato settori non più funzionanti, e, di conseguenza, ha spostato eventuali dati contenuti altrove e ha infine marcato tali settori come "non usare". Inteso: non è una bella cosa, ma fino a quando il numero è nell'ordine della decina, non c'è bisogno di allarmarsi.
La nostra attenzione deve invece focalizzarsi sui dischi evidenziati in rosso: per questi, l'utilità ha infatti ricevuto dal sistema di diagnostica integrato sul disco stesso (S.M.A.R.T.) il segnale che il disco è interessato da un problema grave.
Dopo aver selezionato il disco di nostro interesse, clicchiamo sul pulsante ⋮
in alto per aprire il menu, quindi scegliamo la voce Dati e test SMART...
La finestra di dialogo ci mostra alcune informazioni importanti. Nella parte alta, in rosso, troviamo la Valutazione generale
. Per i dischi che stanno per smettere di funzionare, come questo, la frase sarà sempre qualcosa di simile a TEST AUTOMATICO NON RIUSCITO
.
Dall'altro lato, vediamo l'indicazione Acceso
: riporta da quanto tempo è in funzione l'unità. Nel mio caso, si parla di quasi 6 anni: indipendentemente dal problema specifico, è un valore elevato per un disco di tipo "consumer" come questo, che dovrebbe quindi essere sostituito a prescindere dal manifestarsi di malfunzionamenti evidenti.
Subito più sotto, troviamo i dati restituiti dal meccanismo di diagnostica del disco
Per interpretarli, dobbiamo confrontare il numero presente nella colonna Valore
con quello della colonna Soglia
. In linea generale: se il primo numero è più alto del secondo, dobbiamo capire se è sintomo di un problema studiando il suggerimento a tooltip che compare spostando il cursore su ogni riga
Ad ogni modo: se l'utility segnala un disco "in rosso", è inutile approfondire. Dovremo invece fare immediatamente un backup e prepararci alla sostituzione.
Metodo 2: Test esteso
Il semplice fatto che un disco non venga segnalato "rosso" non significa necessariamente che sia in buono stato. Potrebbe infatti nascondere problemi non immediatamente evidenti.
Per testare l'unità in modo più approfondito, cliccare sul pulsante Test automatico
(in basso a sinistra), quindi scegliere Esteso
Questo test potrebbe richiedere più di 1 ora, ma ci fornirà un quadro completo circa lo stato di salute del disco.
Metodo 3: più controllo con gsmartcontrol
Se vogliamo qualche informazione in più circa lo stato di salute dei dischi, dobbiamo installare un'utility aggiuntiva chiamata gsmartcontrol. Allo scopo:
- cliccare sul pulsante con i 3x3 punti in basso a sinistra per aprire la dashboard
- digitare
software
per trovare e lanciare il componenteSoftware e aggiornamenti
- dalla tab
Software per Ubuntu
, spuntare la voceMantenuto dalla comunità (Universe)
- confermare ripetutamente
A questo punto:
- cliccare sul pulsante con i 3x3 punti in basso a sinistra per aprire la dashboard
- digitare
terminale
per trovare e lanciare il Terminale - impartire
sudo apt install gsmartcontrol -y
- al termine dell'operazione, aprire nuovamente la dashboard
- digitare
gsmartcontrol
per trovare e lanciare l'applicazione
Nella finestra principale, gsmartcontrol ci offre la lista delle unità disco collegate al PC
Facendo doppio click su una si apre il dettaglio del disco selezionato.
L'elemento forse più interessante ed il motivo per cui consiglio gsmartcontrol è che, nella tab Attributes
, ci mostra gli stessi valori già visti nell'utility Dischi, ma evidenziando chiaramente in varie tonalità di rosso quelle problematiche. In questo modo, è più facile focalizzare l'attenzione sui parametri che stanno fallendo
L'altra funzione utile di gsmartcontrol è la possibilità di leggere i log interni del disco selezionato passando alla tab Error log
. In questo modo, si può capire esattamente quali tipi di problematiche sono emerse. Nell'esempio qui sotto, ad esempio, è presente più volte l'errore Uncorrectable error in data
: alcuni dati sono quindi corrotti senza possibilità di recupero
Per il resto, gsmartcontrol offre l'accesso ad altre informazioni e ai test già esposti da dall'utility Dischi di Ubuntu.
Metodo 3: test del disco da linea di comando
Sui server, sprovvisti di interfaccia grafica, possiamo eseguire il test dei dischi tramite linea di comando. Le informazioni riportate sono le stesse già trattate e, a meno della minor immediatezza nella presentazione dei risultati, il livello di funzionalità è analogo.
Una volta davanti alla linea di comando, installiamo il pacchetto adibito:
sudo apt install smartmontools -y
Ora, lanciamo questo comando:
sudo fdisk -l | grep 'Disk /dev/sd' -A1
Otterremo così una lista di tutti i dischi presenti sul PC
Ci interessa ricavare il nome univoco dei vari dischi: sarà /dev/sda
per il primo disco, /dev/sdb
per il secondo, /dev/sdc
per il terzo e via dicendo. Nel mio caso, mi interessa testare il disco da 2 TB (1,84 TiB), ovvero /dev/sdd
.
Ottenuta questa informazione, siamo pronti a testare impartendo questo comando:
sudo smartctl -t short /dev/sdd
(ovviamente, sostituite a /dev/sdd
il nome del disco che volete testare sul vostro PC)
Questo avvierà il test breve, che dovrebbe durare solo pochi minuti. Prestate attenzione alla dicitura finale, Test will complete after
, seguito da una indicazione temporale (nel mio caso: Sat May 2 08:29:47 2020 UTC
): è l'orario al quale il sistema completerà il test e potremo così vedere i risultati. Aspettate dunque lo scoccare del minuto successivo (08:30
, nel mio caso) e richiamate il report impartendo:
sudo smartctl -a /dev/sdd
(ovviamente, sostituite a /dev/sdd
il nome del disco che avete appena testato)
La mole di informazioni restituita è davvero enorme. Per interpretare i risultati, dovremo leggere il responso alla ricerca di informazioni riguardanti la rilevazione di errori. Ad esempio: il mio disco riporta, alla sezione Self-test execution status
, l'errore The previous self-test completed having the read element of the test failed
: questo è un problema grave, poiché significa il disco non è riuscito a leggere alcuni dati.
Ancora più in basso, la sezione Vendor Specific SMART Attributes with Thresholds
ci riporta le stesse informazioni già incontrate durante l'analisi da interfaccia grafica (vedi sopra)
Infine, sotto la dicitura SMART Self-test log structure revision number
, troviamo il log degli ultimi errori. Nel mio caso, ci sono molteplici read failure
Oltre al test breve, appena trattato, possiamo eseguire anche un test più approfondito impartendo:
sudo smartctl -t long /dev/sdd
(ovviamente, sostituite a /dev/sdd
il nome del disco che volete testare sul vostro PC)
Parliamo di una verifica che richiederà più di 1 ora, ma che sarà sicuramente più esaustiva. Come prima, il comando terminerà mostrandoci l'orario di completamento dell'operazione. Scoccato il minuto successivo, potremo visualizzare il rapporto con
sudo smartctl -a /dev/sdd
(ovviamente, sostituite a /dev/sdd
il nome del disco che avete appena testato)
Conclusioni
In questo articolo abbiamo visto come testare un disco fisso, SSD o USB con Linux. L'operazione è chiaramente più semplice per chi già utilizzi il Pinguino sul proprio PC, ma può tornare utile anche per verificare sistemi Windows tramite il boot da Live CD/USB.
Come ultima raccomandazione, vi raccomando di agire prontamente e sostituire i dischi alla prima problematica segnalata dai tool presentati. In caso, invece, il responso sia positivo e tutto sembri in ottima salute, non smettete di fare backup quotidiani dei dati importanti: alcuni guasti potrebbero infatti sopraggiungere da un momento all'altro.