Backup com dd (dd backup without empty space)

Com a utilização do Raspberry tive a necessidade de preparar uma imagem base para clonar em outros dispositivos ou até mesmo para fins de backup. A melhor ferramenta para realizar essa operação é o dd, porém se não for definido a área que se deseja realizar o backup ele faz de todo o disco mesmo das áreas vazias (sem partição).

Este post mostra como verificar a área utilizada do disco (ou cartão de memória no caso do Raspberry) e realizar o backup somente dessas áreas. Adicionalmente mostra como realizar o backup e compactar com gzip.

Verificando área utilizada

Execute o comando abaixo substituindo o X pelo seu dispositivo

fdisk -l /dev/sdX

O retorno do comando será similar ao mostrado abaixo

fdisk


O retorno do comando mostra os blocos utilizados por cada partição bem como o bloco inicial, final e o tamanho do bloco.

Neste retorno a ultima partição /dev/sdb2 tem o seu final no bloco 6266879, desta forma o comando dd necessita realizar o backup até este bloco, porém por preciosismo faremos o backup de um bloco a mais.

Backup sem gzip

dd if=/dev/sdb bs=512 count=6266880 of=/path/to/imagefile.img

Backup com gzip

dd if=/dev/sdb bs=512 count=6266880 | gzip | dd of=/path/to/imagefile.img.gz

Nos 2 comandos acima utilizamos o tamanho do bloco (bs=) como 512 e a contagem como o último bloco a ser copiado.

Restauração sem gzip

dd if=/path/to/imagefile.img of=/dev/sdX

Restauração com gzip

dd if=/path/to/imagefile.img.gz | gunzip | dd of=/dev/sdX

Cópia dos dados de disco para disco

dd if=/dev/sdb bs=512 count=6266880 of=/dev/sdX
Helvio Junior (OSCE, OSCP, CEHv9)

Helvio Junior (OSCE, OSCP, CEHv9)

Consultor em Cyber Security em Ernst & Young (EY)
OSCE, OSCP, CEHv9, Pesquisador de Falhas de Segurança e Vulnerabilidades. Profissional com mais de 20 anos de experiência na área de TI, atualmente focado na área de segurança da informação ofensiva (Red Team), bug hunting, cyber threat hunting, criação e engenharia reversa de Malware.
Carreira baseada em sólidos conhecimentos técnicos nas principais tecnologias de TI: Penetration Testing, Clould Computing, Ambiente de alta criticidade e alta disponibilidade, Windows Servers e seus serviços, Linux Servers e seus serviços, VoIP com Asterisk, Redes, Cisco, HP, ISO 27002, Hacker ético (CEHv9) e Engenharia reversa.
Helvio Junior (OSCE, OSCP, CEHv9)
1 responder
  1. anderson cleiton
    anderson cleiton says:

    tenho um raspberry com o raspbien instalado ja funcionando perfeitamente.como faço para clonar ele
    obs: antes usava desktop com S.O ubuntu e eu clonava os hds com comando :sudo dd if=/dev/sda of=/dev/sda

    no raspbien eu baixei o e partiçao que esta o raspbien é o /dev/mmcblk0 botei um adaptador na porta usb para clonar-lo e ele esta com a particão /dev/sda ja dei o comando sudo dd if=/dev/mmcblk0 of=/dev/sda ei qu e não consigo clonar o que fazer

    obs: ele não da erro sei que demora para clonar mais a espera da clonagem esta um exagero .Por favor se tiver alguma dica ajude-me

    Responder

Deixe uma resposta

Want to join the discussion?
Feel free to contribute!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *