Você não quer usar badblocks
. Unidades modernas são SMART e são capazes de relatar erros e remapear quaisquer setores que sejam ruins para um pool de reposição. A unidade só pode remapear setores quando você tenta escrever para eles. Se o utilitário de disco informar que a unidade tem algumas realocações pendentes, você poderá forçá-las a gravar zeros em todo o disco:
sudo dd if=/dev/zero of=/dev/sda
Depois disso, não deve haver mais setores pendentes. Se os setores forem fisicamente danificados, a contagem de setores realocados aumentará. Se os dados tivessem sido simplesmente embaralhados, a escrita de zeros na mídia os corrigiu sem a necessidade de realocar o setor.
Se você acabar com setores que ainda estão pendentes ou offline_uncorrectable ou mais do que alguns setores realocados, é necessário substituir a unidade.