É verdade que quando criamos um disco rígido virtual dinamicamente alocado no
VirtualBox, ele cresce à medida em que arquivos são gravados. No entanto, seu tamanho não diminui à medida em que excluímos arquivos.
Veja agora, como é possível reduzir discos rígidos desse tipo no
VirtualBox.
Primeiro, é necessário executar um utilitário na máquina virtual (
guest), que vai transformar todo o espaço livre em bits zero no disco rígido virtual. Se sua máquina virtual roda
GNU/Linux, esse utilitário é o zerofree. Se roda Windows, há o SDelete.
A
página na qual descobri o zerofree, recomenda reiniciar o GNU/Linux (da máquina virtual) no modo de recuperação (Safe Mode ou Recovery Mode) para executar o zerofree. Para simplificar a vida, eu prefiro inicializar a máquina virtual utilizando um Live-CD.
Se você tiver um Live-CD do
Ubuntu, o zerofree pode ser instalado nele, via:
# apt-get install zerofree
O
openSUSE também possui o zerofree nos repositórios oficiais da distribuição:
# zypper in zerofree
Se for usar o Live-CD de outra distribuição, pesquise na Internet sobre como obter o
zerofree para a sua distribuição.
Se você não souber identificar o disco rígido, o utilitário
fdisk pode dar uma pista:
# fdisk -l
No meu caso, vou compactar o
/dev/sda1.
Montamos o disco rígido como somente leitura em uma pasta temporária e executamos o zerofree nele:
# mkdir /mnt/tmp
# mount -o ro /dev/sda1 /mnt/tmp
# zerofree /dev/sda1
Se sua máquina virtual roda Windows, você deve baixar o
SDelete, abrir o prompt de comando, ir até a pasta onde o SDelete foi baixado e executar o comando:
>
sdelete -c C:/
Onde
C é a letra da unidade cujo espaço livre deseja-se converter em bits zero.
Após executar o zerofree ou o SDelete, devemos voltar à máquina real (host) e executar o utilitário do VirtualBox que vai de fato compactar o disco rígido virtual, reduzindo seu tamanho fisicamente.
Se sua máquina real roda GNU/Linux:
VBoxManage modifyhd /caminho/para/o/hd/virtual.vdi --compact
Se sua máquina real roda Windows, provavelmente você terá que ir até a pasta do VirtualBox para executar o comando:
>
cd "C:\Program Files\Oracle\VirtualBox"
>
VBoxManage modifyhd "C:\caminho\para\o\hd\virtual.vdi" --compact
Foi assim que, hoje, consegui reduzir um disco rígido virtual de 6,5 GB para 5 GB. Foi uma redução pequena, mas isso varia de um caso para outro. O autor desse post no
Make Tech Easier, conseguiu uma redução de 45% no espaço que o disco rígido virtual ocupava (de 10 GB para 5,5 GB).
Abraço a todos e até mais!
Referências:
Essa dica foi publicada originalmente no meu
blog.
Antônio Vinícius.