VirtualBox propose deux modes pour la gestion de la taille des images disques : allocation dynamique ou taille fixe. Dans le premier cas, le fichier image est initialement créé avec une taille minimale et grossit au fur et à mesure que des données sont écrites jusqu'à atteindre la taille maximale configurée. En revanche, une image fixe, comme son nom l'indique, est créée dès le départ avec la taille demandée et occupe donc immédiatement sa capacité maximale sur le disque physique de l'hôte.
Le choix entre ces deux options peut-être délicat. En effet, chacune à ses propres avantages et inconvénients. L'utilisation d'images de taille dynamique permet d'allouer aux machines virtuelles plus d'espace que ce qui est physiquement disponible, mais cela peut ralentir les opérations de lecture/écriture. Les images de taille fixe ne souffrent pas de ces ralentissements, mais monopolisent souvent beaucoup d'espace disque inutilisé.
Ainsi, que se soit pour récupérer de l'espace disque virtuel inutilisé ou optimiser les I/O, il peut parfois être intéressant de convertir une image de taille fixe en dynamique ou inversement. Malheureusement, VirtualBox ne permet pas à ce jour de changer le mode de gestion de la taille d'un disque virtuel. Cela reste tout de même possible, mais il faut cloner l'image vers une nouvelle.
Pour cela, vous devez utiliser la commande suivante en choisissant pour le paramètre --variant
la valeur correspondante au type de disque souhaité (Standard pour une image dynamique ou Fixed pour une taille fixe) :
VBoxManage clonehd [ancienne-image] [nouvelle-image] --variant [Standard|Fixed]
Si le chemin d'installation de VirtualBox n'est pas dans votre PATH, vous devrez bien sûr indiquer le chemin complet de l'exécutable (par exemple, "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" par défaut sous Windows x64). Cette commande fonctionne pour tous les formats d'images supportés par VirtualBox (VDI, VMDK, VHD, ...). Vous pouvez d'ailleurs la compléter avec l'option --format [VDI|VMDK|VHD]
pour changer le format de l'image de sortie.
De plus, si vous convertissez votre disque virtuel vers le format VDI en mode dynamique, vous pouvez ensuite optimiser la taille de l'image disque pour tenter de récupérer de l'espace supplémentaire sur la machine hôte, ou encore augmenter (mais pas réduire) sa capacité maximale en utilisant la commande suivante :
VBoxManage modifyhd [image] --resize [megaoctets]
Pour terminer, il ne vous reste plus qu'à reconfigurer les machines virtuelles connectées à l'ancienne image pour qu'elles utilisent désormais l'image clonée (via le panneau Configuration/Stockage de VirtualBox), puis à supprimer le disque virtuel original après avoir vérifié que tout fonctionne correctement.
Cette commande se fait dans quelle console? virtuelle ou physique? merci
Ces commandes sont à lancer depuis la machine hôte (physique), en ayant au préalable pris soin d'arrêter la VM cible.