Depende se a imagem do disco é uma imagem completa do disco ou apenas uma partição.
Lavando a (s) divisória (ões)
Se o disco estiver em boas condições de funcionamento, você obterá melhor compactação se lavar o espaço vazio no disco com zeros. Se o disco estiver falhando, pule esta etapa.
Se você estiver visualizando um disco inteiro, desejará lavar cada uma das partições no disco.
CUIDADO: Tenha cuidado, você quer definir o of
para um arquivo na partição montada, NÃO A PARTE SEMPRE!
mkdir image_source
sudo mount /dev/sda1 image_source
dd if=/dev/zero of=image_source/wash.tmp bs=4M
rm image_source/wash.tmp
sudo umount image_source
Criando uma imagem de partição
mkdir image
sudo dd if=/dev/sda1 of=image/sda1_backup.img bs=4M
Em que sda
é o nome do dispositivo e 1
é o número da partição. Ajuste de acordo com o seu sistema, se você quiser criar uma imagem de um dispositivo ou partição diferente.
Criando uma imagem de disco inteira
mkdir image
sudo dd if=/dev/sda of=image/sda_backup.img bs=4M
Em que sda
é o nome do dispositivo. Ajuste de acordo com o seu sistema se você quiser criar uma imagem de um dispositivo diferente.
Compressão
Crie uma imagem "squashfs" que contenha a imagem totalmente descomprimida.
sudo apt-get install squashfs-tools
mksquashfs image squash.img
Streaming Compression
Para evitar criar um arquivo temporário separado no tamanho total do disco, é possível transmitir para uma imagem do squashfs.
mkdir empty-dir
mksquashfs empty-dir squash.img -p 'sda_backup.img f 444 root root dd if=/dev/sda bs=4M'
Montando uma imagem de partição compactada
Primeiro, monte a imagem do squashfs e monte a imagem da partição armazenada na imagem do squashfs montada.
mkdir squash_mount
sudo mount squash.img squash_mount
Agora você tem a imagem compactada montada, monte a própria imagem (que está dentro da imagem do squashfs)
mkdir compressed_image
sudo mount squash_mount/sda1_backup.img compressed_image
Agora, sua imagem está montada em compressed_image
.
EDIT: Se você quisesse simplesmente restaurar a imagem do disco em uma partição neste momento (em vez de montá-la para navegar / ler o conteúdo), apenas dd
da imagem em squash_mount/sda1_backup.img
no destino, em vez de fazer mount
.
Montando uma imagem de disco cheia e compactada
Isso requer que você use um pacote chamado kpartx. O kpartx permite montar partições individuais em uma imagem de disco completa.
sudo apt-get install kpartx
Primeiro, monte sua partição esmagada que contém a imagem completa do disco
mkdir compressed_image
sudo mount squash.img compressed_image
Agora, você precisa criar dispositivos para cada uma das partições na imagem completa do disco:
sudo kpartx -a compressed_image/sda_backup.img
Isso criará dispositivos para as partições na imagem completa do disco em /dev/mapper/loopNpP
, onde N é o número designado para o dispositivo de loopback e P é o número da partição . Por exemplo: /dev/mapper/loop0p1
.
Agora você tem uma maneira de montar as partições individuais na imagem completa do disco:
mkdir fulldisk_part1
sudo mount /dev/mapper/loop0p1 fulldisk_part1