Uma das maneiras de verificar se existem bad sectors num determinado dispositivo no Linux é usando o comando badblock como root.
Para isto, basta:
badblocks -v /dev/<dipositivo>
Caso o disco esteja ok, o resultado será semelhante a:
# badblocks -v /dev/sda2 Checking blocks 0 to 0 Checking for bad blocks (read-only test): done Pass completed, 0 bad blocks found. (0/0/0 errors)
Caso tenha algum erro, o resultado será semelhante a:
# badblocks -v /dev/sda1 Checking blocks 0 to 248831 Checking for bad blocks (read-only test): 52 53 54 248572 248573 248574 248575 248576 248577 248578 248579 248580 248581 248582 248583 248584 248585 248586 248587 248588 248589 248590 248591 248592 248593 248594 248595 248608 248609 248610 248611 248636 248637 248638 248639 done Pass completed, 35 bad blocks found. (35/0/0 errors)