Lo mejor que puedes hacer es
-
Copie todos los archivos de todas las particiones conservando los metadatos
mkdir -p myimage/partition1
mkdir myimage/partition2
sudo cp -rf --preserve=all /media/mount_point_partition1/* myimage/partition1/
sudo cp -rf --preserve=all /media/mount_point_partition2/* myimage/partition2/
-
Extraiga el MBR
sudo dd if=/dev/sdX of=myimage/mbr.img bs=446 count=1
reemplazar
/dev/sdX
con el dispositivo correspondiente. -
Particione el disco de destino en particiones con tamaños mayores que los datos copiados y debe tener el mismo formato y las mismas banderas usando
gparted
. Google cómo particionar un disco. -
Monte el disco recién formateado y particionado. En la mayoría de las computadoras, solo necesita conectar el disco y puede encontrar las particiones montadas en
/media
carpeta. -
Copie los datos copiados previamente a las particiones de destino usando los siguientes comandos
sudo cp -rf --preserve=all myimage/partition1/* /media/mount_point_partition1/
sudo cp -rf --preserve=all myimage/partition2/* /media/mount_point_partition2/
-
Copie de nuevo el MBR
sudo dd if=myimage/mbr.img of=/dev/sdX bs=446 count=1
¡Ahora disfruta de tu nuevo disco!
Una manera bastante buena y simple de lidiar con esto es simplemente canalizarlo a través de gzip, algo como esto:
# dd if=/dev/sdb | gzip > backup.img.gz
De esta manera, su imagen se comprimirá y lo más probable es que el espacio no utilizado se reduzca a casi nada.
Usaría esto para restaurar dicha imagen:
# cat backup.img.gz | gunzip | dd of=/dev/sdb
Una nota:si tenía muchos archivos que se eliminaron recientemente, el tamaño de la imagen puede ser aún grande (la eliminación del archivo no necesariamente pone a cero los sectores subyacentes). Puede borrar el espacio libre creando y eliminando inmediatamente un archivo grande que contenga ceros:
# cd /media/flashdrive
# dd if=/dev/zero of=bigfile bs=1M # let it run and quit by disk full error
# rm bigfile