VirtualBox - comment libérer de l'espace disque VDI inutilisé?

14

Donc, si j'ai un stockage dynamique dans l'invité virtualbox, comment puis-je réduire la taille du VDI, s'il y a beaucoup de place inutilisée dans l'invité?

Donc, je veux dire que je sais que l'invité de la virtualbox en réalité est d'environ 3 Go, mais le fichier VDI est de 10 Go, car de temps en temps l'invité était si gros. Mais il ne fait plus que 3 Go. Comment puis-je réduire la taille du VDI? Alors que ce ne serait que 3 GByte gros? (et non, il n'y a pas de cliché sur l'invité)

LanceBaynes
la source

Réponses:

15

Jetez un œil à vboxmanage modifyhd : il vous permet de rendre une image plus compacte.

Avec l'option --compact, peut être utilisé pour compacter des images de disque, c'est-à-dire supprimer des blocs qui ne contiennent que des zéros. Cela réduira à nouveau une image allouée dynamiquement; cela réduira la taille physique de l'image sans affecter la taille logique du disque virtuel. Le compactage fonctionne à la fois pour les images de base et pour les images diff créées dans le cadre d'un instantané.

Pour que cette opération soit efficace, il est nécessaire que l'espace libre dans le système invité soit d'abord mis à zéro à l'aide d'un outil logiciel approprié. Pour les invités Windows, vous pouvez utiliser l' outil sdelete fourni par Microsoft. Exécutez sdelete -c dans l'invité pour mettre à zéro l'espace disque libre avant de compresser l'image du disque virtuel. Pour Linux, utilisez l'utilitaire zerofree qui prend en charge les systèmes de fichiers ext2 / ext3.

Karolos
la source
1
N'utilisez sdelete -z pas -c! Voir superuser.com/questions/747820/… - l'option -c écrase juste avec des données aléatoires pour un "effacement sécurisé" (portant légèrement des SSD).
Luc
6

Soyez prudent - MS a changé la signification de "-c" (propre) et "-z" (zéro) à un moment donné. Pour être sûr, exécutez "sdelete /?" pour voir quelle option vous devez utiliser:

C:\> sdelete /?

SDelete - Secure Delete v1.6
Copyright (C) 1999-2010 Mark Russinovich
Sysinternals - www.sysinternals.com

usage: sdelete [-p passes] [-s] [-q] <file or directory> ...
       sdelete [-p passes] [-z|-c] [drive letter] ...
   -a         Remove Read-Only attribute
   -c         Clean free space
   -p passes  Specifies number of overwrite passes (default is 1)
   -q         Don't print errors (Quiet)
   -s or -r   Recurse subdirectories
   -z         Zero free space (good for virtual disk optimization)
hornlo
la source
1
L'option -c remplace les données aléatoires (voir superuser.com/questions/747820/… ), qui porte légèrement des SSD. Utilisez -z pour la mise à zéro.
Luc