Il raggiungimento di immagini disco più piccole viene in genere eseguito mediante il modo di non copiare blocchi a zero uscite dal file system iniziale nell'immagine. Il concetto si chiama spazio sparse in archivi o puching buchi nei file, e il vostro file system host deve sostenerlo. un po 'di riga di comando ma prova questo:
sudo apt-get install virt-manager qemu-utils
E poi una volta installato è possibile utilizzare:
qemu-img convert -f raw -O raw /dev/sdX /home/<user>/Ubuntu.img
Questo creerà un'immagine sparsa (gli zeri nel file non sono scritti) del tuo disco. dove -f = formato, -O formato di output. sdX il disco (può usare anche le partizioni). Il programma ha funzionalità avanzate come istantanee e diversi formati di output (vdi, vmdk, ecc.). Il luogo in cui si salva l'immagine deve supportare file sparsi , altrimenti la dimensione sarà altrettanto grande, poiché gli zeri nella partizione verranno scritti sul disco. E per sfruttarlo al meglio, esegui un programma come sfill
o zerofree
trovato in apt sulla partizione, perché lo spazio libero non significa sempre spazio zero e vuoi massimizzare la quantità di spazio zero sul file system.
Punti ninja bonus. Dato che Linux pensa ai dischi come "file", allora puoi anche usare semplicemente cp, a condizione che la partizione di output in cui parcheggi il file conosca i file sparsi.
sudo cp --sparse=always /dev/sdX /home/<user>/Ubuntu.img
Che creerà una copia grezza per mezzo di cp ..
Esempi di filesystem che supportano lo sparse: ext4, btrfs, xfs, ntfs (ntfs-3g tuttavia potrebbe non consentire scritture sparse).
Esempi di filesystem che non lo fanno: fat32.