Lograr imágenes de disco más pequeñas generalmente se realiza mediante la forma de no copiar cero bloques descubiertos del sistema de archivos inicial en la imagen. El concepto se llama escaso espacio en archivos o puching agujeros en los archivos, y el sistema de archivos de host tiene que apoyarlo. un poco de línea de comando pero intente esto:
sudo apt-get install virt-manager qemu-utils
Y luego, una vez que está instalado, puede usar:
qemu-img convert -f raw -O raw /dev/sdX /home/<user>/Ubuntu.img
Esto creará una imagen dispersa (no se escriben ceros en el archivo) de su disco. donde -f = formato, -O formato de salida. sdX el disco (puede usar particiones también). El programa tiene características avanzadas como instantáneas y diferentes formatos de salida (vdi, vmdk, etc.). El lugar donde guarde la imagen debe admitir archivos dispersos , de lo contrario, el tamaño será igual de grande, ya que los ceros en la partición se escribirán en el disco. Y para aprovecharlo al máximo, ejecute un programa como sfill
o se zerofree
encuentra en apt en la partición, porque el espacio libre no siempre significa cero espacio, y desea maximizar la cantidad de espacio cero en el sistema de archivos.
Bonificación de puntos ninja. Dado que Linux piensa en los discos como "archivos", entonces también podría usar cp simple, con la condición de que la partición de salida donde estaciona el archivo conozca los archivos dispersos.
sudo cp --sparse=always /dev/sdX /home/<user>/Ubuntu.img
Lo que creará una copia sin formato mediante cp ..
Ejemplos de sistemas de archivos que admiten dispersión: ext4, btrfs, xfs, ntfs (sin embargo, ntfs-3g podría no permitir escrituras dispersas).
Ejemplos de sistemas de archivos que no: fat32.