Lorsqu’on utilise windows, certaines opérations de maintenances sont obligatoires, en particulier la gestion de l’espace libre dans les machines virtuelles.
En effet, Windows (au moins sur XP, j’ignore ce qu’il en est exactement sur les autres versions, mais à l’usage, cela semble identique) préfère utiliser l’espace libre qui n’a pas déjà été utilisé. Si vous supprimez un fichier, l’espace disque qui lui était alloué est déclaré disponible, mais tant qu’il reste des zones du disque où rien n’a été précédemment écrit, Windows préférera utiliser celles ci. On peut voir ça comme un avantage permettant la récupération de fichiers effacés, mais dans une machine virtuelle, le disque virtuel enflera jusqu’à la taille maximum qui lui a été allouée en peu de temps sans que son contenu n’ait augmenté.
Ça n’est pas forcément gênant en soi, sauf quand on veut faire des sauvegardes du fichier vdi ou transférer le disque sur un autre ordinateur, puisque l’on va inutilement transférer des informations sensées être supprimées.
Cet article servira de pense bête afin de centraliser les commandes utiles. Pensez à effectuer toutes les sauvegardes nécessaires avant d’agir sur votre système, je ne suis pas responsable des problèmes que vous pourriez rencontrer! Les commandes sont données pour linux, mais ce sont les mêmes pour Windows, à vous d’adapter les chemins et de lancer celles ci depuis un terminal de commande.
1 – Vider le disque
Première chose à faire, dans la machine virtuelle, supprimer les cookies et les fichiers temporaires. Et en particulier les téléchargements d’installateurs de logiciels (qui peuvent être conséquents) et les dossiers temporaires qu’ils créent. Les moteurs de recherche vous indiqueront les dossiers concernés en fonction de vos logiciels.
Pensez aussi à vider la corbeille, en particulier de tous les utilisateurs. En effet, certains ne le font jamais et on retrouve parfois des gigas entiers de données inutiles dans celles ci.
2 – Défragmenter le disque
Une fois les fichiers inutiles supprimés, il faut défragmenter le disque pour récupérer encore un peu d’espace, mais surtout pour rassembler les fichiers. J’aime bien utiliser Auslogic disk defrag parce qu’il a une option pour optimiser les fichiers du disque et pour éteindre l’ordinateur une fois qu’il a fini, mais n’importe quel défragmenteur (y compris celui intégré à windows) peut faire l’affaire.
3 – Vider l’espace libre
L’espace libéré n’est pas encore complètement vide. Pour le vider complètement pour l’étape suivante, il faut remplir de zéros tous les emplacement libres. Vous pouvez utiliser nullfile ou les utilitaires de microsoft avec sdelete de la suite des sysinternals. J’utilise soit l’un, soit l’autre, indifféremment.
Avec sdelete, téléchargez le, extrayez le et copiez le dans C:\windows. Ouvrez ensuite un terminal, puis entrez la commande sdelete -z C:\ (l’option -z indiquant de mettre à zéro les blocs libres). Arrêtez ensuite la machine virtuelle.
4 – Compacter le disque virtuel
Pour compacter le disque virtuel, entrez la commande suivante:
vboxmanage modifyhd /chemin/vers/disque/disque.vdi --compact
C’est relativement rapide, selon la taille initiale du disque. Sur certains systèmes, le gain se compte en gigaoctets, donc c’est intéressant à faire avant de transférer le disque image lorsque le besoin se fait sentir. Cette opération ne laisse dans le disque que les blocs ne contenant pas que des zéros, d’où l’utilité de l’étape précédente.
5 – Augmenter la taille du disque
Si malgré les opérations précédentes vous êtes quand même à l’étroit dans votre windows, c’est sans doute quze vous aviez prévu un peu juste lors du choix de la taille du disque. Il est possible d’augmenter la taille du disque sans devoir tout réinstaller. Utilisez la commande suivante, par exemple pour augmenter le disque à la taille de 20Go:
vboxmanage modifyhd /chemin/vers/disque/disque.vdi --resize 20000
Adaptez bien sûr le chemin vers votre image disque et la taille désirée.
Il faut ensuite lancer votre machine virtuelle avec un live CD pour utiliser gparted afin d’agrandir la partition Windows à tout l’espace disponible pour qu’il puisse prendre en compte l’espace que vous venez d’ajouter. Le live CD gparted fonctionne bien.
Pensez que lorsque vous démarrerez votre windows, il fera une vérification du système de fichiers.
C’est fini, ou presque.
Deux dernières commandes pratiques que je saurais où retrouver.
Pour voir les machines virtuelles lancées, en ligne de commande (par exemple en SSH), et connaitre leur nom:
vboxmanage list runningvms
Pour arrêter une machine virtuelle en ligne de commande:
vboxmanage controlvm winxp2 poweroff
(où winxp2 est le nom de la machine obtenue avec la commande précédente)
Voila, rien de bien original ou nouveau, mais toutes les commandes de bases dans un seul endroit me facilitera la vie.