Para cada número de bloqueio incorreto, primeiro use dd
para verificar se está ruim (e você não cometeu algum erro em algum lugar):
sudo dd if=/dev/sda1 skip=##### count=1 of=/dev/null iflag=direct bs=1024
Se isso voltar com um erro, você está procurando no lugar certo ... agora é hora de corrigi-lo:
sudo dd if=/dev/zero of=/dev/sda1 seek=###### count=1 oflag=direct bs=1024
Se o segundo voltar sem um erro, você deve ser capaz de repetir o primeiro comando e também não deve ocorrer erro agora. Repita para cada número de bloco incorreto listado no arquivo.
Certifique-se de digitar os comandos exatamente como mostrado (substituindo o número do bloco pelo ####) ou você pode destruir seus dados
Você também pode querer executar sudo smartctl -a /dev/sda
para ler o status SMART da unidade. De nota são os valores brutos para a contagem realocada e pendente. Se você corrigiu todos os setores defeituosos, a contagem pendente terá retornado a zero. Se eles foram remapeados, a contagem realocada terá subido. Se isso for mais do que um punhado, você provavelmente desejará substituir a unidade, já que ela provavelmente ficará pior. Se a contagem realocada não subiu, então não há nada fisicamente errado com a unidade.
Neste ponto, você também deve inicializar no modo de recuperação e executar um fsck
completo no volume para garantir a finalização.