GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo crear una imagen .IMG de un disco (tarjeta SD) sin incluir espacio libre?

Lo mejor que puedes hacer es

  1. 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/

  2. Extraiga el MBR

    sudo dd if=/dev/sdX of=myimage/mbr.img bs=446 count=1

    reemplazar /dev/sdX con el dispositivo correspondiente.

  3. 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.

  4. 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.

  5. 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/

  6. 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

Linux
  1. Use df para verificar el espacio libre en disco en Linux

  2. Cómo monitorear el espacio libre en disco en Amazon EC2 con Cloud Watch

  3. Cómo reequilibrar BTRFS para liberar espacio en disco

  4. Cómo:Liberar espacio en disco reduciendo bloques reservados

  5. ¿Cómo compruebo cuánto espacio libre queda en un dispositivo para crear una partición?

Cómo verificar el espacio en disco en Linux

Cómo liberar espacio en disco en Ubuntu 20.04 LTS

Cómo verificar el espacio libre en disco en Linux [Terminal y métodos GUI]

Cómo abrir una imagen ISO sin grabar en un disco en Linux

Cómo verificar el espacio libre en disco en Linux

Liberador de espacio en disco:cómo liberar espacio con cPanel