Desejo clonar um disco grande (um SSD de 500 GB, vale o que vale) e estou inclinado a usar cat
, como sugerido por Gilles aqui . Mas o que me deu uma pausa é que eu realmente não sei o que cat
faz em cima de erros de leitura. Eu sei como dd
se comporta nesses casos, ou seja , o comando
dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync status=progress
não para por erros na leitura e preenche o erro de leitura com zeros (a sync
opção) para que os dados permaneçam sincronizados. Infelizmente, ele faz isso preenchendo os zeros no final do bloco a ser escrito, de modo que um único erro em uma leitura inicial de 512 bytes atrapalhe todos os 64K de dados (ainda pior com tamanhos de bloco maiores e mais rápidos).
Então estou me perguntando: posso fazer melhor/diferente com cat
? Ou devo passar para o Clonezilla ?
cat
pára se encontrar um erro de leitura ou gravação.Se você estiver preocupado com a possibilidade de haver setores ilegíveis em sua unidade de origem, consulte ferramentas como
ddrescue
.Se não houver setores ruins ou difíceis de ler,
Eu recomendaria Clonezilla . É mais seguro porque existem postos de controle (perguntas se você deseja continuar)
cat
e assumadd
queddrescue
você sabe exatamente o que fazer e que verifica duas vezes antes de pressionar a tecla Enter. "Eles fazem o que você manda sem questionar, mesmo que você diga para limparem as fotos da família."Além disso, o Clonezilla é inteligente o suficiente para copiar apenas os blocos usados (e pular os blocos livres), o que torna a clonagem muito mais rápida.
Se você espera setores ruins ou difíceis de ler,
Eu concordo com @StevenKitt que
ddrescue
é uma boa ferramenta. As páginas de informações contêm um bom tutorial,