30Jul

Comment réduire une machine virtuelle VirtualBox et libérer de l'espace disque

Par défaut, VirtualBox crée des disques dynamiques qui augmentent avec le temps lorsque vous ajoutez des données. Toutefois, si vous supprimez ultérieurement des données de la machine virtuelle, vous remarquerez que le disque ne rétrécit pas automatiquement. Mais vous pouvez réduire manuellement un disque dynamique en utilisant une commande cachée.

Rappelez-vous que cela ne fera que rétrécir le disque s'il a grossi et que vous avez supprimé des données depuis. Donc, si vous venez de créer un disque dynamique, cela ne le rétrécira pas. Mais, si vous avez créé un disque dynamique, y avez téléchargé 10 Go de données, puis supprimé 10 Go de données, vous devriez pouvoir réduire le disque d'environ 10 Go.

Première étape: vérifiez que vous utilisez un disque dynamique

Ce processus ne fonctionne que pour les disques dynamiques, qui peuvent augmenter et diminuer en taille. Les disques dynamiques peuvent atteindre une certaine taille maximale( 50 Go, par exemple), mais ils ne peuvent atteindre cette taille maximale que lorsqu'ils contiennent autant de données. Les disques de taille fixe seront toujours leur taille maximale.

Si vous avez un disque de taille fixe que vous souhaitez réduire, vous pouvez d'abord le convertir en disque dynamique, puis suivre les instructions ci-dessous. Par exemple, si vous avez un disque fixe de 50 Go avec seulement 20 Go de données et que vous le convertissez en disque dynamique, vous devriez pouvoir le réduire pour ne prendre que 20 Go d'espace.

Pour vérifier si un disque est de taille dynamique ou fixe dans VirtualBox, cliquez avec le bouton droit sur la machine virtuelle qui utilise le disque et sélectionnez "Paramètres".Cliquez sur l'onglet "Stockage" et sélectionnez le disque. Vous verrez quel type de disque il est affiché à côté de "Détails".Par exemple, dans la capture d'écran ci-dessous, "Stockage alloué dynamiquement" indique qu'il s'agit d'un disque dynamique.

Deuxième étape: écrire des zéros sur le disque dans la machine virtuelle

Assurez-vous de supprimer toutes les données que vous ne voulez plus sur le disque à l'intérieur de la machine virtuelle pour libérer de l'espace avant de continuer. Supprimez les fichiers dont vous n'avez pas besoin, désinstallez les programmes que vous n'utilisez plus et videz votre corbeille. Ensuite, vous devrez remplacer cet espace vide par des zéros.

Pour les systèmes d'exploitation invités Windows

Si vous avez installé Windows à l'intérieur de la machine virtuelle, vous devez maintenant démarrer la machine virtuelle et défragmenter ses disques. Dans la machine virtuelle, recherchez "Défragmenter" dans le menu Démarrer et lancez l'outil "Défragmenteur de disque" ou "Défragmenter et optimiser les disques".Sélectionnez le disque que vous voulez compacter et cliquez sur "Défragmenter le disque".

Une fois le processus de défragmentation terminé, vous devez écrire des zéros dans l'espace vide de la machine virtuelle. Lorsque vous supprimez des fichiers, les données supprimées sont toujours stockées sur le disque afin que VirtualBox ne puisse pas réduire automatiquement le lecteur. Mais, lorsque vous écrivez des zéros sur les fichiers supprimés, VirtualBox verra une grande quantité de zéros( espace vide, en d'autres termes) et sera capable de compacter le disque.

Pour ce faire, téléchargez l'utilitaire SDelete de Microsoft. Extrayez le fichier sdelete.exe dans un dossier sur votre ordinateur.

Ouvre une fenêtre d'invite de commandes. Pour ce faire, ouvrez le menu Démarrer, recherchez "Invite de commandes" et lancez le raccourci.

Accédez au répertoire contenant le fichier sdelete.exe en tapant cd, en appuyant sur Espace, en entrant le chemin d'accès au répertoire et en appuyant sur Entrée. Assurez-vous de placer le chemin entre guillemets s'il contient un caractère espace. Cela devrait ressembler à ceci:

cd "C: \ chemin \ vers \ dossier"

Par exemple, si vous avez extrait le fichier sdelete.exe dans le dossier de téléchargement de votre compte utilisateur et que votre nom d'utilisateur Windows est Bob, vous exécutez la commande suivante:

cd "C: \ Utilisateurs \ bob \ Téléchargements"

Pour saisir rapidement le chemin du répertoire, tapez simplement cd dans la fenêtre Invite de commandes, appuyez sur Espace, puis faites glisser l'icône du dossier depuis la barre d'adresse du gestionnaire de fichiers.

Exécutez la commande suivante:

sdelete.exe c: -z

Cela écrira des zéros sur tout l'espace disque disponible sur le lecteur C: .Si vous souhaitez réduire un lecteur secondaire situé à une lettre de lecteur différente dans la machine virtuelle, tapez sa lettre de lecteur au lieu de c: .C'est pour cela que l'outil a été conçu. Comme le note la page SDelete sur le site Web de Microsoft, l'option -z est "bonne pour l'optimisation du disque virtuel".

Il vous sera demandé d'accepter le contrat de licence de l'outil avant de continuer. Cliquez simplement sur "Accepter".

Attendez que le processus se termine. Quand c'est fait, arrêtez votre machine virtuelle en utilisant l'option "Arrêter" dans son menu Démarrer. Vous êtes maintenant prêt à le compacter.

pour les systèmes d'exploitation invités Linux

Si Linux est installé sur la machine virtuelle( un système d'exploitation invité Linux au lieu d'un système d'exploitation invité Windows, en d'autres termes), vous pouvez ignorer le processus de défragmentation et utiliser des commandes intégrées pour réinitialiser l'espace libre sur le lecteur. Nous utiliserons Ubuntu comme exemple ici, mais le processus sera similaire sur d'autres distributions Linux.

Pour ce faire, vous devez d'abord installer l'utilitaire zerofree dans la machine virtuelle. Il devrait être disponible dans les dépôts de logiciels de votre distribution Linux. Par exemple, vous pouvez l'installer sur Ubuntu en exécutant la commande suivante sur le terminal de votre machine virtuelle:

sudo apt installer zerofree

Vous ne pouvez pas utiliser zerofree sur votre partition / alors que vous êtes démarré dans l'environnement Linux standard. Au lieu de cela, vous voudrez démarrer dans un mode de récupération spécial où votre partition racine normale n'est pas montée. Sur Ubuntu, redémarrez votre machine virtuelle et appuyez plusieurs fois sur la touche "Echap" pendant le démarrage pour accéder au menu Grub. Lorsque le menu Grub apparaît, sélectionnez "* Options avancées pour Ubuntu" et appuyez sur Entrée.

Sélectionnez l'option "(mode de récupération)" associée au noyau Linux le plus récent, c'est-à-dire l'option dont le numéro de version est le plus élevé en haut de la liste, et appuyez sur Entrée.

Sélectionnez "root" dans le menu de récupération pour démarrer à une invite de shell root.

Appuyez sur "Enter" ensuite lorsque "Appuyez sur Entrée pour la maintenance" apparaît sur votre écran. Vous recevrez une invite de terminal.

Sur la ligne de commande, déterminez le disque virtuel que vous voulez mettre à zéro en exécutant la commande suivante:

df

Dans la sortie ci-dessous, nous pouvons voir que /dev/ sda1 est notre seul périphérique disque réel ici. Nous savons que parce que c'est le seul disque avec /dev/ dans la colonne la plus à gauche.

En supposant que votre machine virtuelle a été créée avec les paramètres par défaut, elle aura seulement /dev/ sda1, qui est la première partition sur le premier disque dur. Si vous avez configuré les choses différemment avec plusieurs disques ou plusieurs partitions, vous devrez peut-être mettre à zéro une autre partition ou zéro partitions multiples.

Vous êtes maintenant prêt à zéro le disque. Exécutez la commande suivante en remplaçant /dev/ sda1 par le nom de périphérique de la partition à laquelle vous voulez écrire des zéros. La plupart des gens n'auront qu'un périphérique /dev/ sda1 à zéro.

zerofree -v /dev/ sda1

Lorsque le processus zéro est terminé, exécutez la commande suivante pour arrêter la machine virtuelle:

interrompre

Lorsque vous voyez le message «Système arrêté» sur votre écran, le système s'est arrêté et vous pouvez maintenant fermersur votre machine virtuelle. Fermez la fenêtre de la machine virtuelle et sélectionnez "Éteindre la machine virtuelle".

Troisième étape: Trouver la commande VBoxManage

Le reste du processus sera effectué en dehors de la machine virtuelle, sur votre système d'exploitation hôte. Par exemple, si vous exécutez Windows 10 sur votre PC et Windows 7 sur une machine virtuelle, vous exécuterez le reste du processus sur Windows 10.

Cette option n'est pas exposée dans l'interface graphique de VirtualBox. Au lieu de cela, vous devez utiliser la commande VBoxManage.exe.

Localisez cette commande pour continuer. Sous Windows, vous le trouverez dans le répertoire du programme VirtualBox, qui est C: \ Program Files \ Oracle \ VirtualBox par défaut. Si vous avez installé VirtualBox dans un autre répertoire, cherchez-y plutôt.

Ouvre une fenêtre d'invite de commandes. Pour ce faire, ouvrez le menu Démarrer, tapez cmd et appuyez sur Entrée.

Tapez cd dans l'invite de commande, suivi du chemin du dossier où se trouve la commande VBoxManage. Vous devrez l'inclure entre guillemets.

Vous pouvez le faire rapidement en tapant cd dans la fenêtre d'invite de commandes, puis en faisant glisser et en déposant l'icône du dossier depuis la barre d'adresse du gestionnaire de fichiers dans l'invite de commandes.

Si vous utilisez le chemin par défaut, il doit ressembler à ceci:

cd "C: \ Program Files \ Oracle \ VirtualBox"

REMARQUE: Ces instructions supposent que vous utilisez VirtualBox sous Windows. Si vous utilisez VirtualBox sur macOS ou Linux, vous pouvez simplement ouvrir une fenêtre Terminal et lancer la commande vboxmanage normalement, comme vous le feriez avec n'importe quelle autre commande.

Etape 4: Localiser le chemin d'accès au disque que vous souhaitez compacter

Exécutez la commande suivante dans la fenêtre d'invite de commande pour afficher la liste de tous les disques durs virtuels de votre ordinateur:

VBoxManage.exe list hdds

Parcourez la liste et identifiez le chemin d'accès au disque virtuel que vous voulez compacter. Disons que nous voulons modifier le disque virtuel associé à la machine virtuelle nommée "Windows 7".Comme nous pouvons le voir dans la sortie ci-dessous, le chemin vers ce disque virtuel sur notre système est C: \ Utilisateurs \ chris \ VirtualBox VMs \ Windows 7 \ Windows 7.vdi.

Etape 5: Compacter le disque

Pour compacter le disque, vous devez utiliser VBoxManage.exe avec la commande correcte. Exécutez simplement la commande suivante, en remplaçant le chemin d'accès au fichier VDI du disque par le chemin d'accès au disque de votre système que vous avez trouvé à l'aide de la commande ci-dessus. Assurez-vous de placer le chemin du fichier entre guillemets s'il contient un espace sur son chemin.

Cela devrait ressembler à ceci:

VBoxManage.exe disque modymedium "C: \ chemin \ vers \ disque.vdi" --compact

Par exemple, puisque le chemin d'accès au fichier est C: \ Utilisateurs \ chris \ VirtualBox VMs \ Windows7 \ Windows 7.vdi dans notre exemple, nous exécuterions la commande suivante:

VBoxManage.exe disque modemedium "C: \ Utilisateurs \ chris \ VirtualBox VMs \ Windows 7 \ Windows 7.vdi" - compact

VirtualBox va compacterle disque et vous pouvez immédiatement démarrer la machine virtuelle par la suite, si vous le souhaitez. La quantité d'espace que vous finissez par économiser dépend de la quantité d'espace vide à récupérer.

Envisagez également de supprimer des snapshots

VirtualBox vous permet de créer des snapshots pour chaque machine virtuelle. Ceux-ci contiennent une image complète de la machine virtuelle lorsque vous avez créé l'instantané, vous permettant de le restaurer à un état antérieur. Ceux-ci peuvent prendre beaucoup de place.

Pour libérer plus d'espace, supprimez les instantanés que vous n'utilisez pas. Pour afficher les instantanés que vous avez enregistrés pour une machine virtuelle, sélectionnez-le dans la fenêtre principale de VirtualBox et cliquez sur le bouton "Snapshots" à droite de Détails dans la barre d'outils. Si vous n'avez plus besoin d'un instantané, faites un clic droit dessus dans la liste et sélectionnez "Supprimer l'instantané" pour libérer de l'espace.