O Clonezilla usa ddnos bastidores.
Sobre discos e partições
Um disco inteiro é como um dispositivo /dev/sda. Este é o primeiro disco, o segundo disco é /dev/sdb, o terceiro /dev/sdc, etc. discos mais antigos conectados através de um cabo IDE são nomeadas como hda, hdb... Um disco pode ter várias partições como /dev/sda1. A segunda partição no disco /dev/sdaé /dev/sda2e assim por diante. Uma imagem (cópia literal de bytes) pode ser feita a partir de uma partição e disco. Observe que os primeiros 512 bytes de um disco contêm o MBR (Master Boot Record).
Uma partição não deve ser montada ao criar ou restaurar imagens; caso contrário, poderá ocorrer perda de dados ao ler nela (criar uma imagem) ou comportamento inesperado e corrupção de dados se você estiver gravando nela (restaurando a partir de uma imagem).
Nos exemplos abaixo, /dev/sda1é a partição a partir da qual uma imagem deve ser criada.
Partições e dispositivos de disco /devsão graváveis apenas pelo superusuário (raiz) e pelos usuários do diskgrupo. Não gosto de executar tudo como root, por questões de segurança (caso você tenha digitado um erro de digitação), mudo o grupo temporariamente para mim, para poder ler e escrever nele:
sudo chgrp my_user_name /dev/sda1
Se você pular o comando acima, deverá prefixar os ddcomandos abaixo com sudo.
Fundamentos
O comando básico para criar uma imagem a partir de uma partição é:
dd if=/dev/sda1 of=disk.img
ifsignifica "arquivo de entrada", ofsignifica "arquivo de saída". Tudo no Linux é um arquivo, até dispositivos.
Para restaurar essa imagem, execute:
dd if=disk.img of=/dev/sda1
O pedido não importa, você também pode ter escrito o acima dd of=/dev/sda1 if=disk.img.
Imagens compactadas
Como as partições geralmente são grandes, é recomendável compactar os dados antes de gravá-los na imagem:
dd if=/dev/sda1 | gzip > disk.img.gz
Isso funciona porque, se offor omitido, a saída é gravada na "saída padrão", que é o canal no programa de compactação gzip. A saída disso é gravada em disk.img.
Para restaurar uma imagem compactada, execute:
gunzip -c disk.img.gz | dd of=/dev/sda1
Aqui gunzipestá o comando reverso do gzip. -cfaz com que a saída seja gravada na saída padrão, que é o canal no ddcomando. Como ifé omitida dd, a entrada é lida na "entrada padrão", que é a saída de gunzip.
Lendo uma imagem sem restaurá-la
Imagens não compactadas podem ser montadas para que você possa ler a partir dela. Se você compactou as imagens da sua partição, descompacte-as primeiro ( disk.img.gzserão removidas, disk.imgserão criadas. Certifique-se de ter espaço suficiente!):
gunzip disk.img.gz
Como alternativa, descompacte uma imagem sem tocar na própria imagem:
gunzip -c disk.img.gz > disk.img
Agora crie um diretório no qual o disco pode ser montado e monte a imagem somente leitura ( ro):
sudo mkdir /mnt/wind
sudo mount -o ro disk.img /mnt/wind
Agora você pode ver seus arquivos no /mnt/wind. Quando terminar, desmonte-o e remova o ponto de montagem obsoleto:
sudo umount /mnt/wind
sudo rmdir /mnt/wind
Menos tamanho, mais uso da CPU, maior duração de backup e restauração
Se o tempo não for um problema e você não tiver muito espaço de armazenamento, poderá usar o bzip2formato de compactação. Substitua simplesmente gzippor bzip2acima. É comum usar a .bz2extensão para arquivos compactados com bzip2, então faça isso.