dd
não se importa com o que os dados copiados significam. Tabelas de partição, conteúdo de partições, fragmentos de arquivos, espaço vazio no sistema de arquivos, são todos os bytes. dd if=/dev/sda of=/dev/sdb
torna /dev/sdb
uma cópia exata de /dev/sda
, contanto que sdb
seja pelo menos tão grande quanto sda
(além de alguns itens indesejados que não estarão diretamente acessíveis se sdb
for maior). / p>
Toda a magia está nos dispositivos de bloco sdX
. dd
é apenas uma ferramenta para copiar bytes.
Isso não significa que dd
seja a melhor ferramenta para o trabalho. É um tanto propenso a erros e normalmente não é a coisa mais rápida por aí. Eu encontrei cat
para ser mais rápido ao copiar entre discos diferentes . dd
pode perder dados de maneiras pouco intuitivas (embora eu pense que um sistema Linux moderno é seguro a esse respeito). Usar cat
tem a vantagem adicional de haver menos risco de destruir seus dados em um erro de digitação (como trocar if
e of
): a saída é especificada pelo familiar operador de redirecionamento de shell (é possível usar essa sintaxe para dd
também, a propósito).
cat /dev/sda >/dev/sdb
Se o outro disco for maior, você poderá criar uma imagem do disco em um arquivo:
cat /dev/sda >/path/to/disk.img
Essa imagem de disco não pode ser usada diretamente: você não pode inicializar. Mas copiá-lo de volta para um disco produzirá uma cópia byte a byte do original, já que todo o conteúdo foi copiado nas duas vezes. Você também pode fazer uma montagem de loopback para acessar os arquivos dela. Você pode fazer um dispositivo de loop com partições, mas O Ubuntu só teve as ferramentas para isso nas versões recentes . Se você quiser apenas preservar seus dados, basta copiar as partições individualmente e armazená-las em arquivos individuais.