dd — O Canivete Suíço do Linux para Clonagem e Backup de Discos

Um guia definitivo, sem firulas, para quem quer clonar discos, fazer backups brutos, restaurar imagens e apagar dados com segurança e precisão.

O que é o dd?

O dd é uma ferramenta de linha de comando do Unix/Linux usada para copiar e converter blocos de dados. Ele opera em um nível extremamente baixo: setor por setor, bit a bit. Isso significa que ele pode ser usado para copiar discos inteiros, partições, imagens de sistemas, pendrives, CDs, ou qualquer outro dispositivo de bloco.

O nome vem de “Data Duplicator”, mas alguns dizem que também significa “Data Destroyer” — dependendo de como (ou em quem) você usa.


Primeiros passos: descubra onde está o que

Antes de usar o dd, é essencial identificar corretamente os dispositivos de origem e destino. Use:

sudo fdisk -l
lsblk

Esses comandos mostram todos os discos e partições conectados ao sistema. Confirme o nome correto de cada um — um erro aqui pode significar perder dados valiosos ou sobrescrever o disco errado.


Teste de leitura sem gravar nada

Este comando testa se um disco está legível sem gravar absolutamente nada em lugar nenhum:

sudo dd if=/dev/sdX of=/dev/null bs=4M status=progress

Troque /dev/sdX pelo seu disco. O of=/dev/null descarta a saída. Ideal para testes de leitura ou diagnóstico de setores com falha.


Clonando um disco inteiro

sudo dd if=/dev/sdX of=/dev/sdY bs=4M status=progress

Esse comando faz uma cópia bit a bit de um disco inteiro. Útil para replicar sistemas operacionais, fazer backup exato de um disco ou migrar para um novo hardware.

  • if= (input file): o disco de origem
  • of= (output file): o disco de destino
  • bs= (block size): quanto maior, mais rápido (4M é um bom valor)
  • status=progress: mostra o andamento da operação

Importante: O disco de destino deve ter tamanho igual ou superior ao de origem.


Criando uma imagem de disco para backup

sudo dd if=/dev/sdX of=~/imagem_hdd.img bs=4M status=progress

Cria uma imagem .img do disco, útil para armazenar cópias completas em servidores, repositórios de backup, NAS, etc.


Restaurando uma imagem para o disco

sudo dd if=~/imagem_hdd.img of=/dev/sdX bs=4M status=progress

Isso regrava o conteúdo da imagem diretamente no disco. Funciona para recuperar um sistema previamente salvo, ou replicar uma instalação rapidamente.


Clonando uma partição específica

sudo dd if=/dev/sdX1 of=~/particao.img bs=4M status=progress

Quando você quer salvar apenas uma partição específica (por exemplo, /dev/sda1), e não o disco todo. Pode ser usado para backups seletivos.


Criando uma ISO de um CD/DVD

dd if=/dev/cdrom of=~/imagem.iso bs=2M status=progress

Esse comando copia o conteúdo bruto de um CD/DVD para uma imagem .iso, ideal para arquivamento ou regravação posterior.


Apagando dados com segurança (zerando o disco)

sudo dd if=/dev/zero of=/dev/sdX bs=4M status=progress

Substitui todos os blocos por zeros. Essa é uma forma básica de apagar dados de maneira “não reversível por usuário comum”.


Apagando com dados aleatórios (mais seguro)

sudo dd if=/dev/urandom of=/dev/sdX bs=4M status=progress

Aqui, os dados do disco são sobrescritos com bytes aleatórios, tornando mais difícil a recuperação até com ferramentas forenses. Leva bem mais tempo, mas é mais seguro.


Compactando a imagem com gzip

Para economizar espaço em disco:

sudo dd if=/dev/sdX bs=4M | gzip > backup.img.gz

E para restaurar:

gunzip -c backup.img.gz | sudo dd of=/dev/sdX bs=4M

Essa técnica é muito útil para manter backups comprimidos, especialmente em servidores de armazenamento ou sistemas remotos.


Medindo velocidade de escrita no disco

sudo dd if=/dev/zero of=test bs=1G count=1 oflag=direct

Cria um arquivo de 1GB diretamente no disco, sem cache, e mede a velocidade de gravação real. Ideal para diagnósticos de performance.


Clonando pendrive com boot (modo tolerante a erros)

sudo dd if=/dev/sdX of=/dev/sdY bs=512 status=progress conv=noerror,sync
  • noerror: ignora blocos com erro de leitura
  • sync: insere blocos zerados no lugar dos corrompidos para manter alinhamento

Esse comando é excelente para recuperar mídias problemáticas ou clonar pendrives que ainda funcionam parcialmente.


Segurança extra: evitar erros com alias

Se você é o tipo de usuário que digita rápido demais e quer evitar desastres com dd, crie um alias de segurança:

alias dd='echo "USE COM CUIDADO, KEMPER!"'

Isso evita execução acidental. Para usar o dd real, basta chamar com o caminho completo: /bin/dd.


Conclusão

O dd é uma ferramenta poderosa, mas exige responsabilidade absoluta no uso. Ele não pergunta nada. Um caractere errado pode significar perder um servidor inteiro. Por isso, trate com o devido respeito.

Se você trabalha com servidores, backups, migração de sistemas ou recuperação de dados, o dd merece um lugar fixo no seu cinto de ferramentas.

Rolar para cima