Resumidamente:
Estas instruções funcionam se o seu guest é Linux, em um host Windows.
O disco virtual deve ser criado como dinamicamente expansível.
Instale o zerofree:
apt-get install zerofree
entre em um terminal (não é remoto!) e execute:
telinit 1
mount -o remount,ro /nome_da_pasta
df (serve para identificar o nome do dispositivo)
zerofree /dev/sda1 (nome do dispositivo, repita para todos os discos virtuais)
shutdown -h now (desligue a máquina virtual)
Então, acesse a pasta do VirtualBox (use o comand prompt – no windows 7: shift click na pasta)
no prompt digite:
vboxmanage modifyvdi x:\path\to\image\file.vdi compact
Essa ação pode demorar alguns minutos (horas se seu HD for lento), mas pode lhe salvar muito espaço em disco.
