Thalacinus,
Até onde saiba, não é possível recuperar bad blocks; eles são defeitos físicos no disco e sinal que a troca está iminente. A maior parte das ferramentas de correção ( pelo menos no Windows, no Linux não sei dizer) limita-se a marcar esses blocks como "inutilizados", de modo que nada venha a ser gravado novamente neles, mas não os recupera.
Quando um HD começa a apresentar bad blocks, é hora de um backup urgente e troca do disco, pois ele não é mais confiável. Pior, o número de defeitos tende a aumentar rapidamente (especialmente se causados por cabeçotes desalinhados ou defeituosos), a ponto de em pouco tempo (às vezes meses, às vezes dias) o disco ser completamente perdido.
Minha recomendação é essa: faça backup já e considere um HD novo.
VB5