tente o ddrescue em vez do dd - tenta mais com erros
Então eu tenho um disco rígido que está falhando. Eu quero apagar os dados nele antes de enviá-lo para substituição. Estou tentando usar dd if=/dev/zero of=/dev/sdXX
, mas ele pára no primeiro erro de gravação. Como posso substituir a unidade por zeros, ignorando erros de gravação? conv=noerror
parece afetar apenas o arquivo de entrada.
Parâmetros usados com o ddrescue para apagar a unidade /dev/sdb
(preenchida com zeros de /dev/zero
) e registrar a saída no arquivo log.txt
:
ddrescue --force /dev/zero /dev/sdb log.txt
Se você quiser apenas limpar o disco, tente dban
Do site:
O Darik's Boot e Nuke ("DBAN") é um disco de inicialização independente que limpa com segurança os discos rígidos da maioria dos computadores. O DBAN excluirá automática e completamente o conteúdo de qualquer disco rígido que ele possa detectar, o que o torna um utilitário adequado para a destruição de dados em massa ou de emergência.
Para o registro, o dd também tem uma opção conv=noerror
para ignorar os erros. Se você tivesse erros em um arquivo de entrada (quando não estiver usando /dev/zero
, você usaria conv=noerror,notrunc
ou conv=noerror,sync
para evitar que o dd trunque o arquivo de saída onde existem erros no arquivo de entrada. Para sua consulta, você pode tentar este comando:
dd if=/dev/zero of=/dev/sdXX conv=noerror
Para acelerar o processo e potencialmente evitar que a unidade morra no meio do passo, você também pode tentar aumentar o tamanho do byte a partir do padrão 512 (o que faz o dd ler setor por setor, que é lento) para algo maior como como 4K (que é oito vezes maior):
dd if=/dev/zero of=/dev/sdXX bs=4K conv=noerror
Observação: com um tamanho de byte maior, os erros ignorados podem deixar seções de dados legíveis um pouco menores que o tamanho do byte escolhido, mas ainda é improvável que alguém consiga obter algo dessas seções depois que o disco inteiro tiver sido percorrer o processo.
Além disso, tenho certeza de que os fabricantes de discos rígidos descartam adequadamente os discos rígidos que são devolvidos para substituição da garantia, caso a unidade falhe antes que você possa concluir totalmente o processo de sobregravação.
Definitivamente, não é uma solução de usuário avançado, mas se os erros de gravação forem raros, talvez você queira continuar manualmente após a ocorrência deles.
Você poderia, teoricamente, criar scripts para fazer isso automaticamente, mas não é tão trivial, e eu prefiro escrever uma ferramenta para fazer o truque do que me preocupar com o script dd.
seek=BLOCKS
skip BLOCKS obs-sized blocks at start of output
Tags dd secure-erase bad-sectors