riparare i settori no, al massimo segnalarli come "danneggiati, e quindi non usarli più nella costruzione del FileSystem. Con mkfs -c mentre crea il filesystem controlla prima i blocchi (e penso che se sono danneggiati, non li scriva) e poi crea il FS.
ad esempio:
# mkfs.ext3 -c -j /dev/hda5
(credo) che crei un FS ext3 con journaling sulla partizione /dev/hda5 controllando i singoli settori.
invece di mkfs.ext3 si può anche usare mkfs. -t ext3 -c -j /dev/hda5
al posto di ext3 si possono indicare anche altri tipi di FS.
(anche mkfs.ext3, mkfs.reiserfs, mkfsreiserfs, ...)
Al posto di (od assieme) a mkfs si può usare badblocks
con una ricerca sul forum o su google/linux con oggetto mkfs, badblocks, con i vari man trovi parecchia documentazione.
Attento solo a non cancellare i dati sul disco, facendo il check con opzioni errate ...
lo puoi fare (credo) da una distribuzione Live tipo knoppix,
Se ben ricordo, mi pare che queste operazioni vadano fatte su disco "smontato", ma chiedi, non ne sono sicuro.
poi come estremo rimedio, esiste sempre la formattazione a basso livello. Guarda sul sito del produttore dell'HD, a volte c'è l'utility apposita ...