VirtualBox: ¿cómo liberar el espacio del disco VDI no utilizado?

14

Entonces, si tengo un almacenamiento dinámico en virtualbox guest, ¿cómo puedo reducir el tamaño del VDI, si hay muchos lugares no utilizados en el guest?

Entonces, quiero decir que sé que el invitado de virtualbox en realidad es aproximadamente ~ 3 GByte de gran tamaño, pero el archivo VDI es de 10 GByte, porque de vez en cuando el invitado era tan grande. Pero ahora es solo 3 GByte's grande. ¿Cómo puedo reducir el tamaño del VDI? ¿Para que solo sea 3 GByte's grande? (y no, no hay ninguna instantánea sobre el invitado)

LanceBaynes
fuente

Respuestas:

15

Eche un vistazo a vboxmanage modifyhd : le permite hacer una imagen más compacta.

Con la opción --compacta, puede usarse para compactar imágenes de disco, es decir, eliminar bloques que solo contienen ceros. Esto reducirá una imagen asignada dinámicamente de nuevo; reducirá el tamaño físico de la imagen sin afectar el tamaño lógico del disco virtual. La compactación funciona tanto para imágenes base como para imágenes diff creadas como parte de una instantánea.

Para que esta operación sea efectiva, se requiere que primero se elimine el espacio libre en el sistema invitado utilizando una herramienta de software adecuada. Para los invitados de Windows, puede usar la herramienta sdelete proporcionada por Microsoft. Ejecute sdelete -c en el invitado para poner a cero el espacio libre en el disco antes de comprimir la imagen del disco virtual. Para Linux, use la utilidad zerofree que admite los sistemas de archivos ext2 / ext3.

Karolos
fuente
1
Utilice sdelete -z no -c! Visite superuser.com/questions/747820/… : la opción -c simplemente se sobrescribe con datos aleatorios para un "borrado seguro" (SSD ligeramente desgastado).
Luc
6

Tenga cuidado: MS cambió el significado de "-c" (limpio) y "-z" (cero) en algún momento. Para estar seguro, ejecuta "sdelete /?" para ver qué opción debes usar:

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
fuente
1
La opción -c se sobrescribe con datos aleatorios (consulte superuser.com/questions/747820/… ), que usa SSD ligeramente. Use -z para poner a cero.
Luc