Copiei muitas fotos em um disco rígido externo de um computador antigo usado por uma pessoa idosa e provavelmente infectado por malwares. Coloquei as fotos em outro disco rígido. Agora meu disco rígido externo está completamente vazio, mas estou paranóico e gostaria de ter certeza de que não há nenhum malware ou código malicioso na unidade.
Portanto, gostaria de preenchê-lo com zeros, mas sem destruir o sistema de arquivos ou a tabela de partições. De certa forma, gostaria de ter meu disco de volta como se tivesse acabado de comprá-lo.
É possível fazer isso e existe um comando Linux para fazer isso?
Meu disco rígido está formatado em NTFS com uma tabela de partições msdos(mbr).
Resposta fácil:
Isso fará exatamente o que você pediu: sobrescrever todo o espaço disponível para arquivos no sistema de arquivos com zeros.
Resposta mais complexa:
Portanto, recomendo que você apenas destrua o dispositivo (ou seja, zere o dispositivo, incluindo MBR e sistema de arquivos) e recrie a tabela de partições e
mkfs.ntfs -f -L LABEL -I
EDITAR
Como @Nyos apontou nos comentários, se o driver NTFS não montar a sincronização (não conheço os padrões), é uma boa ideia inserir um extra
sync
antes do arquivorm
. A versão atual (a partir do Ubuntu 18.04 totalmente corrigida para 2020-05-02) não aloca bloco atrasado, portanto,sync
não é estritamente necessário, pois todos os blocos alocados serão gravados emumount
, mas não sabemos o futuro nem eu leia o código-fonte completo.Na mesma nota: se o driver NTFS obtiver suporte a arquivos esparsos, talvez seja necessário usar
/dev/urandom
em vez de/dev/zero
para evitar uma gravação (quase) infinita.Embora isso não responda à sua pergunta ... no entanto:
Primeiro, é uma péssima ideia zerar um disco. Isso é verdade para discos "tradicionais" e ainda mais para discos de estado sólido. Zerar um disco é trivial (basta criar um arquivo e preenchê-lo, Eugen Rieck fornece a receita exata), mas leva muito tempo e desgasta o disco. Os ciclos de gravação não são infinitos, em qualquer tipo de disco rígido.
Além disso, observe que você nem mesmo tem garantia de que a substituição realmente funcione conforme o esperado. Para sua finalidade, a diferença não será perceptível, mas para outras finalidades (pense no apagamento seguro de dados confidenciais), a abordagem não é totalmente confiável. Isso ocorre porque você não tem como saber o que acontece quando você sobrescreve algo graças ao nivelamento de desgaste e realocação. As unidades fazem muitas coisas sem que ninguém (incluindo o sistema operacional!) saiba ou mesmo tenha uma maneira de dizer, muito menos mudar. Se, por exemplo, um setor foi realocado porque o controlador não estava satisfeito com o número de tentativas, ou o CRC ou o que quer que seja, você pode fazer o que quiser daqui para frente, simplesmente não conseguirá mais acessar aquele setor. Nunca mais. Ainda assim, os dados, ou o que sobrou deles (e você não pode saber) ficam lá,
Em segundo lugar, ao operar no modo de paranóia total, é uma péssima ideia manter o sistema de arquivos (e o MBR) por perto, especialmente quando o disco está "vazio". Além do UUID do sistema de arquivos, você não perderá nada apenas criando um novo sistema de arquivos (o que pode ser um pouco incômodo em algumas situações, mas também é fácil de corrigir). Você, no entanto, ganha a certeza de que não há mais nada em lugares onde você não espera (MBR, por exemplo).
Em terceiro lugar, é uma má ideia zerar e reutilizar um sistema de arquivos "vazio" que, na realidade, não está vazio. É ruim em termos de desempenho quando você pode simplesmente criar um novo FS (sem entradas de diário de alteração obsoletas, itens invisíveis, fluxos esquecidos, atributos, MFTs fragmentados...) do zero. A recriação de tudo do zero não é apenas muito mais segura, mas também muito mais rápida e provavelmente resultará em um melhor desempenho geral no futuro.
tl;dr
A maioria dos dispositivos tem uma opção dedicada de exclusão segura ou "redefinição de fábrica" (que é a mesma), que é suportada pela ferramenta de gerenciamento que acompanha ou com alguma outra ferramenta por meio de um comando ATA padrão. A unidade usará o método mais eficiente e menos destrutivo (algumas unidades realmente sobrescrevem o disco completo por falta de suporte real ao recurso, mas a maioria apenas despeja a chave de criptografia ou embaralhamento de bits, que funciona quase instantaneamente, independentemente do tamanho do disco).
hdparm
que está disponível em praticamente todas as distribuições Linux prontas para uso, tem uma opção--security-erase
para esse propósito exato.Isso lhe dará um disco "como se tivesse acabado de comprar" , exceto por ter sido usado por um tempo. Ele fará isso da maneira mais rápida (dentro do que é tecnicamente possível) e da maneira menos prejudicial ao disco. Depois disso, particione-o e crie um sistema de arquivos, pronto.