Eu não recomendo, de forma nenhuma, utilizar um HD com badblocks. Mesmo isolados, cada setor defeituoso pode dar origem a fragmentos que ficam "voando" dentro da unidade, o que, com o tempo, acaba fazendo com que os badblocks se multipliquem. Assim, eu entendo que o melhor é se programar para substituir o disco defeituoso o quanto antes.
Além dos comandos que o @jrkamil sugeriu no link, você também pode usar o "fsck -c" para identificar e isolar setores ruins numa partição em uso. Use isso para facilitar o processo de transferência de seus dados para a nova unidade; mas tenha em mente que nada impede que alguns dos seus dados estejam armazenados em blocos defeituosos, e por isso pode não ser possível recuperá-los. Esse processo é MUITO demorado, ainda mais se realmente houverem blocos defeituosos.