>Para checar se existem badblocks no seu HD existe o programa badblocks.
O programa é bem interessante e prático, mas tem que ser utilizado com o devido cuidado para não apagar os seus dados.
Método read-only
Este é o método mais seguro que eu conheço, apenas lê os dados e pode ser utilizado num disco que está montado. Simplesmente verifica cada bloco que pode ser lido, não testa por erros de escrita.
sudo badblocks -sv -c 1024 /dev/sda
Método read-write
Método “non-destructive” que testa cada bloco lendo, escrevendo e verificando.
sudo badblocks -nsv -c 10240 /dev/sda
Método write test
Esse comando vai apagar todos os dados da unidade escolhida, use com cuidado. Ele vai escrever em cada bloco e verificar por erros.
sudo badblocks -wsv -c 10240 /dev/sda
Exemplo do resultado usando o método read-only:
badblocks -s -v -c 10240 /dev/sda
Checking blocks 0 to 195360983
Checking for bad blocks (read-only test): done
Pass completed, 0 bad blocks found.”
Em uma rápida análise dos parâmetros:
* -s = mostrar progresso
* -v = verbose mode
* -c 10240 = checar 10k blocos por vez
* -n = non-destructive read-write
* -w = destructive write-mode
Eu sugiro dar uma olhada no manual do badblocks antes de testar o programa, esses exemplos foram os que eu usei, mas uma rápida olhada no manual da para checar por algo próprio a sua necessidade.
Fonte: Essa dica foi retirada do blog Manual Linux