O Clonezilla usa dd
nos bastidores.
Sobre discos e partições
Um disco inteiro é um dispositivo como /dev/sda
. Este é o primeiro disco, o segundo disco é /dev/sdb
, o terceiro /dev/sdc
, etc. Os discos mais antigos conectados por um cabo IDE são nomeados como hda
, hdb
, ... Um disco pode ter várias partições como %código%. A segunda partição no disco /dev/sda1
é /dev/sda
e assim por diante. Uma imagem (cópia literal de bytes) pode ser feita a partir de uma partição e um disco. Note 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 (criando uma imagem) ou comportamento inesperado e corrupção de dados se você estiver gravando nela (restaurando de uma imagem). / p>
Nos exemplos abaixo, /dev/sda2
é a partição da qual uma imagem deve ser criada.
Partições e dispositivos de disco em /dev/sda1
só podem ser gravados pelo superusuário (root) e pelos usuários do grupo /dev
. Eu não gosto de rodar tudo como root, então por segurança (caso você tenha cometido um erro de digitação por exemplo), eu mudo o grupo temporário para mim mesmo, então eu posso ler e escrever para ele:
sudo chgrp my_user_name /dev/sda1
Se você pular o comando acima, terá que prefixar os comandos disk
abaixo com dd
.
Noções básicas
O comando básico para criar uma imagem a partir de uma partição é:
dd if=/dev/sda1 of=disk.img
sudo
significa "arquivo de entrada", if
significa "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ê poderia ter escrito o acima como of
também.
Imagens comprimidas
Como as partições são geralmente grandes, recomenda-se compactar os dados antes de gravá-los na imagem:
dd if=/dev/sda1 | gzip > disk.img.gz
Isso funciona porque se dd of=/dev/sda1 if=disk.img
for omitido, a saída será gravada em "saída padrão", que é o canal para o programa de compactação of
. A saída disso é gravada em gzip
.
Para restaurar essa imagem compactada, execute:
gunzip -c disk.img.gz | dd of=/dev/sda1
Aqui, disk.img
é o comando reverso do gzip. gunzip
faz com que a saída seja gravada na saída padrão, que é o canal para o comando -c
. Como dd
é omitido em if
, a entrada é lida de "entrada padrão", que é a saída de dd
.
Leitura de uma imagem sem restaurá-la
Imagens não compactadas podem ser montadas para que você possa ler a partir dela. Se você tiver compactado suas imagens de partição, descompacte-as primeiro ( gunzip
será removido, disk.img.gz
será criado. Certifique-se de ter espaço suficiente!):
gunzip disk.img.gz
Alternativamente, 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 possa ser montado e monte a imagem como somente leitura ( disk.img
):
sudo mkdir /mnt/wind
sudo mount -o ro disk.img /mnt/wind
Agora você pode ver seus arquivos em ro
. 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 tempo 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 formato de compactação /mnt/wind
. Simplesmente substitua bzip2
por gzip
no acima. É comum usar a extensão bzip2
para arquivos compactados com bzip2, portanto, faça isso.