Como criar uma imagem de disco utilizando o comando dd? Como efetuar a clonagem de um disco a partir de um Live CD Linux para fins de backup ou recuperação?
É possível utilizar o comando dd de forma simples para criar uma cópia de uma partição ou de um disco rígido completo. Vamos aprender como fazer uma imagem de disco com o comando dd na sua máquina Linux ou Unix.
O que é uma imagem de disco dd?
A clonagem de disco é simplesmente o processo de criar uma imagem de um disco inteiro. Isso pode ser útil para copiar discos, fazer backups, recuperação e muito mais. O comando dd é uma ferramenta fácil de usar para criar tais clones em seus sistemas Linux, BSD, macOS ou sistemas semelhantes ao Unix.
ATENÇÃO! Estes exemplos podem causar a falha do seu computador se forem executados. Deve ter muito cuidado ao usar o comando dd, pois pode resultar na destruição de dados. Lembre-se da ordem do ficheiro de entrada (if=) e do ficheiro de saída (of=). Normalmente, inicializamos a partir de uma unidade USB ou DVD ao vivo e criamos imagens de disco. No entanto, se tiver vários discos, é possível fazê-lo online.
Como clonar um disco rígido inteiro ?
A sintaxe para criar uma imagem de disco com o comando dd é a seguinte:
dd if=/dev/dispositivo-de-entrada-aqui of=/dev/dispositivo-de-saída-aqui bs=64K conv=noerror,sync
Para clonar /dev/sdc (250G) em /dev/sdd (250G) no Linux, insira o seguinte comando:
dd if=/dev/sdc of=/dev/sdd bs=64K conv=noerror,sync
Neste exemplo, vou clonar /dev/ada0 (250G) em /dev/adb0 (250G) no FreeBSD e criar uma imagem usando o dd. Por exemplo:
dd if=/dev/ada0 of=/dev/adb0 bs=64K conv=noerror,sync
Onde,
if=/dev/arquivo
: Dispositivo/arquivo de entrada.of=/dev/arquivo
: Dispositivo/arquivo de saída.bs=64k
: Define o tamanho de bloco para 64k. Pode usar 128k ou qualquer outro valor.conv=noerror
: Indica ao dd que deve continuar a operação, ignorando todos os erros de leitura.sync
: Adiciona blocos de entrada com zeros se ocorrerem erros de leitura, para manter a sincronização dos deslocamentos de dados.
Como clonar uma partição e criar uma imagem de disco ?
Para clonar /dev/sdc1 em /dev/sdd1 com o comando dd e criar uma imagem, execute o seguinte comando:
dd if=/dev/sdc1 of=/dev/sdd1 bs=128K conv=noerror,sync
Exemplo de saída:
15874+0 registos lidos
15873+0 registos escritos
1040252928 bytes transferidos em 3.805977 segundos (273320858 bytes/segundo)
Neste caso, o comando dd está copiando a partição /dev/sdc1 para /dev/sdd1, usando um tamanho de bloco de 128K e ignorando erros de leitura, enquanto mantém a sincronização dos dados.
Criar uma imagem de disco com o comando dd usando um Live CD/DVD ou uma unidade USB:
- Inicialize o seu computador a partir do CD/DVD ao vivo ou da unidade USB.
- Abra um terminal ou emulador de terminal.
- Utilize o comando dd para criar uma imagem do disco desejado. Por exemplo, para criar uma imagem do disco rígido /dev/sda e guardar a imagem num dispositivo USB externo, pode usar o seguinte comando (certifique-se de ter as permissões adequadas e substitua /dev/sda pelo dispositivo que deseja copiar):
dd if=/dev/sda of=/media/unidade-usb/nome-do-ficheiro-de-imagem.dd bs=64K conv=noerror,sync
Certifique-se de substituir /media/unidade-usb/nome-do-ficheiro-de-imagem.dd
pelo caminho completo e nome do ficheiro de destino na sua unidade USB.
- Aguarde até que o comando dd termine a criação da imagem do disco. Isso pode demorar algum tempo, dependendo do tamanho do disco.
- Após a conclusão, terá uma imagem de disco no seu dispositivo USB ou na localização especificada. Certifique-se de ejetar o dispositivo USB com segurança ou encerrar o ambiente ao vivo adequadamente, caso contrário, a imagem do disco pode ficar corrompida.
Lembre-se de que o comando dd pode ser perigoso se usado incorrectamente, pois pode apagar dados. Garanta que está a copiar o dispositivo correto e tenha cuidado ao realizar operações de disco.
Como restaurar o sistema a partir de uma imagem dd ?
A sintaxe é a seguinte:
gunzip -c IMAGEM.AQUI-GZ | dd of=/dev/DISPOSITIVO-DESTINO-AQUI
Por exemplo:
gunzip -c centos-core-7.gz | dd of=/dev/da0
Como restaurar uma imagem a partir do sistema local:
- Certifique-se de que a imagem de destino está presente localmente no seu sistema.
- Abra um terminal ou prompt de comando.
- Identifique o dispositivo de destino onde você deseja restaurar a imagem. Use o comando
lsblk
oufdisk -l
para listar os dispositivos disponíveis. Certifique-se de ter a certeza do dispositivo de destino para evitar a perda de dados. - Use o comando
dd
para restaurar a imagem. A sintaxe é semelhante à criação de uma imagem, com a entrada (if) sendo a imagem e a saída (of) sendo o dispositivo de destino. Por exemplo:
dd if=imagem.dd of=/dev/dispositivo-de-destino bs=64K conv=noerror,sync
Substitua “imagem.dd” pelo caminho real da sua imagem e “/dev/dispositivo-de-destino” pelo dispositivo onde deseja restaurar a imagem.
- Aguarde até que o comando
dd
seja concluído. Isso pode levar algum tempo, dependendo do tamanho da imagem e da velocidade de gravação do dispositivo. - Após a conclusão, a imagem estará restaurada no dispositivo de destino.
- Você pode então reiniciar o sistema usando a imagem restaurada, se for um sistema de inicialização.
Tenha muito cuidado ao usar o comando dd
para restaurar uma imagem, pois erros podem resultar na perda de dados. Certifique-se de que está selecionando o dispositivo correto antes de executar o comando.
Em resumo, espero que este tutorial breve seja útil para aqueles que precisam realizar a clonagem de discos e partições no ambiente Linux, bem como para criar imagens de disco usando o comando dd. Para obter informações adicionais, sugiro consultar as páginas do manual relevantes por meio do comando “man” ou “help”:
man dd
Essas páginas do manual oferecem detalhes aprofundados sobre o uso e as opções do comando “dd”.