Para verificar y reparar sectores dañados del disco duro esta el comando
badblocks
Con este comando se puede analizar el disco duro sin perder datos,tiene que estar desmontado para que funcione bien.
Se usa de la siguiente forma
badblocks -svnf /ruta/del disco duro
Ejemplo de una particion
sudo badblocks -svnf /dev/sda1
La particion analizada sda1 era de 50gb tardo unas 8 horas ,era una primaria que podia desmontar,analizo , recupero los datos y dejo sin uso los sectores dañados.