Presumo che tu stia parlando di blocchi fisici danneggiati su un disco e non di file system corrotti.
Per verificare le condizioni fisiche del disco è consigliabile installarlo smartmontools
sudo apt-get install smartmontools
Questo funziona perché tutti i dischi moderni registrano il loro stato di integrità utilizzando un sistema chiamato SMART
Utilizzare il smartctrl
comando per leggere questo stato. Ad esempio per leggere tutti gli attributi dalla prima chiamata su disco
sudo smartctl --all /dev/sda
Fai attenzione a una linea che parla dello stato generale della salute. Una volta che questo indica un errore, è molto probabile che il disco si guasterà presto.
SMART overall-health self-assessment test result: PASSED
Altre righe che si desidera verificare sono il conteggio dei settori in sospeso e i settori riallocati.
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 48
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 2
Gli elenchi riallocati solitamente nel campo non elaborato indicano il numero di settori danneggiati scambiati dal disco con quelli di riserva funzionanti. In sospeso sono settori che potrebbero essere riallocati nel caso in cui la scrittura successiva non riesca.
È anche possibile attivare gli autotest del disco quando supportati dal modello
sudo smartctl -t long /dev/sda
Per forzare il controllo di tutti i settori, utilizzare badblocks
in una modalità in cui i dati vengono scritti. Fai attenzione che, sebbene in generale sia sicuro da eseguire, caricherà ulteriormente i tuoi dischi, il che potrebbe causare un errore. Avere sempre un backup dei tuoi dati.
sudo badblocks -svvn -c 262144 /dev/sda
Se il disco è stato completamente elaborato in questo modo, il controller del disco avrebbe dovuto sostituire tutti i blocchi danneggiati con quelli funzionanti e il conteggio riallocato verrà aumentato nel registro SMART.
-c
o il numero di blocchi che vengono testati contemporaneamente o in altre parole perché hai un valore così grande rispetto al valore predefinito di 64?