Pour obtenir des images disque plus petites, il est généralement possible de ne pas copier zéro bloc sorti du système de fichiers initial dans l'image. Le concept est appelé espace clairsemé dans les fichiers ou trous de fusion dans les fichiers, et votre système de fichiers hôte doit le prendre en charge. un peu de ligne de commande mais essayez ceci:
sudo apt-get install virt-manager qemu-utils
Et puis une fois qu'il est installé, vous pouvez utiliser:
qemu-img convert -f raw -O raw /dev/sdX /home/<user>/Ubuntu.img
Cela créera une image clairsemée (les zéros dans le fichier ne sont pas écrits) de votre disque. où -f = format, -O format de sortie. sdX le disque (peut également utiliser des partitions). Le programme possède des fonctionnalités avancées telles que des instantanés et différents formats de sortie (vdi, vmdk, etc.). Votre emplacement où vous enregistrez l'image doit prendre en charge des fichiers clairsemés , sinon la taille sera tout aussi grande, car les zéros de la partition seront écrits sur le disque. Et pour en tirer le meilleur parti, exécutez un programme tel que sfill
ou zerofree
trouvé dans apt sur la partition, car l'espace libre ne signifie pas toujours zéro espace, et vous voulez maximiser la quantité d'espace nul sur le système de fichiers.
Points bonus ninja. Étant donné que Linux considère les disques comme des "fichiers", vous pouvez également utiliser du cp ordinaire, à condition que votre partition de sortie où vous garez le fichier connaisse des fichiers clairsemés.
sudo cp --sparse=always /dev/sdX /home/<user>/Ubuntu.img
Ce qui créera une copie brute au moyen de cp ..
Exemples de systèmes de fichiers qui prennent en charge clairsemés: ext4, btrfs, xfs, ntfs (ntfs-3g peut cependant ne pas autoriser les écritures clairsemées).
Exemples de systèmes de fichiers qui ne le font pas: fat32.