Réduire la taille d’un disque virtuel Windows au format VDI (VirtualBox)

De nos jours, nous avons beau avoir accès à du stockage de données à foison, pour autant, je n’aime pas l’espace disque gaspillé pour rien (peut-être une conséquence du fait que mon 1er PC avec Windows 98 SE n’avait qu’un disque de 4 Go…).

Le contexte : j’utilise VirtualBox pour mes machines virtuelles (VM) depuis des années (après un passage il y a 15 ans par Virtual PC de Microsoft ainsi que VMware Workstation Player). J’y teste à l’occasion divers systèmes d’exploitation : Microsoft Windows, CentOS, Fedora, Ubuntu, …

Avec Windows 10 et ses mises à jour semestrielles, l’espace disque du fichier .vdi (VirtualBox Disk Image) avait pris de l’embonpoint alors que dans le système, sur le disque C: , le disque n’était pas pour autant à saturation. Je ne vais pas rentrer dans les détails de comment la mise à jour fonctionne mais, en gros, lorsque cette dernière s’exécute, Windows crée une « sauvegarde » pour pouvoir revenir en arrière en cas de pépin. Même avec un bon nettoyage de disque avec l’utilitaire intégré en allant dans les options « Nettoyer les fichiers système », même si le disque C: avait repris des couleurs, ce n’était pas le cas du fichier .vdi.

Voici la solution : il suffit de télécharger et exécuter dans la VM Windows l’utilitaire SDelete de Sysinternals (https://docs.microsoft.com/en-us/sysinternals/downloads/sdelete). A-t-on encore besoin de présenter ces derniers ? Si oui, rendez-vous par ici : https://en.wikipedia.org/wiki/Sysinternals. Via l’invite de commandes, on exécute :

sdelete -z c:

-z correspond à zero free space (good for virtual disk optimization)

Ensuite, il suffit d’exécuter la commande vboxmanage sur le système hôte de la manière suivante :

vboxmanage modifymedium --compact nom_du_fichier.vdi

Simple et efficace. Cette procédure permet de récupérer facilement quelques Go de stockage.

A l’origine, lorsque j’avais été confronté la toute première fois à cette « problématique », j’avais créé une p’tite note/un aide-mémoire dans Evernote avec les infos trouvées sur superuser.com (comme souvent – si ce n’est pas là, ça sera sur Stack Overflow de toute façon). C’était aux alentours d’octobre 2019, la date de la note Evernote faisant foi (je sais, Evernote c’est le mal, j’y ai déjà fait un énorme ménage, j’utilise en fonction des besoins soit Carnet dans Nextcloud soit tout simplement Notes dans ce dernier également). Quelques semaines après, la procédure a été publiée sur le blog de Seboss666 : https://blog.seboss666.info/2019/11/reduire-la-taille-dun-disque-vdi/ J’avais donc laissé ça de côté jusqu’à récemment suite à la mise à jour de 2 VM Windows 10 en 21H1.