ACM Sistemi

Riparare settori danneggiati HDD con Linux

Anche su Linux, possiamo eseguire dei controlli ai nostri dischi. I due comandi che ci servono sono:

  • S.M.A.R.T. Monitoring Tools
  • fsck

S.M.A.R.T. Monitoring Tools è un set di utility che può essere utilizzato con tutti i tipi di dispositivi (P)ATA, Serial ATA e SCSI. Può essere installato facendo riferimento a dei repository delle maggiori distribuzioni Linux in circolazione. Esso contiene due programmi:

  • smartctl, una utility a riga di comando che può essere utilizzata direttamente per eseguire i task più comuni ed interagire con il sistema SMART;
  • smartd, un demone che controlla il sistema SMART e può essere utilizzato per rispondere tempestivamente alla rilevazione di guasti del disco rigido.
fsck (file system consistency check) è un tool presente nella stragrande maggioranza delle distribuzioni Linux, il quale effettua un controllo del nostro disco o partizione e va a correggere eventuali settori danneggiati ripristinando cosi la nostra distribuzione..

Supporta i più diffusi file system come ext2 / ext3 / ext4 / fat / fat32 / ntfs e può essere utilizzato anche per ripristinare hard disk esterni / interni anche con Microsoft Windows installato.

Come prima cosa, dobbiamo sapere quale disco dobbiamo controllare, quindi diamo il seguente comando

sudo fdisk -l

L’output che avremmo sarebbe questo:

Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 1242056703 1242054656 592,3G 83 Linux
/dev/sda2 1242058750 1250263039 8204290 3,9G 5 Extended
/dev/sda5 1242058752 1250263039 8204288 3,9G 82 Linux swap / Solaris

Sappiamo che il disco è SDA1, quindi eseguiamo il controllo del disco, digitando il seguente comando:

sudo smartctl -a /dev/sda1

L’output che uscirà ci darà svariate informazioni, tra qui, il numero di serie, il modello, firmware e tanto altro, nonchè le specifiche SMART, con i valori riscontrati e quelli standard. Se tutto è OK in fondo avremmo:

SMART Error Log Version: 1
No Errors Logged

Se riscontriamo errori, allora eseguiamo fsck da root seguito dal disco da rilevare, quindi digitiamo il seguente comando:

sudo fsck /dev/sdb1

dopo aver effettuato la scansione confermiamo l’eventuale correzione di dati / settori.
In questa pagina troverete tutti le opzioni di comando disponibili in fsck.