Un naufragio personal

HOWTO compact an Virtualbox disk

In this entry I explain how to compact the Virtualbox hard disk of a virtualized MS Windows 7 running inside a Linux host.


1. Run the MS Windows virtual machine and execute the Disk Defragmentation tool. Wait for it to finish.

2. Also from inside Windows, download a command-line program named sdelete from Microsoft (search for it). Run the following command from a console:

sdelete c: -z

This tool supposedly fills with zeroes the full filesystem. It takes a while. Once it finishes, close Windows and exit the Virtualbox GUI.

3. Open a Linux console and move to the directory where your virtual machine files are stored.

4a. If your virtual disk is already in vdi format, run the following command:

vboxmanage modifyhd windows_7-disk001.vdi --compact

4b. Instead, if you need to convert the virtual disk from vmdk to vdi, run the following command:

vboxmanage clonehd --format vdi windows_7-disk001.vmdk windows_7-disk001.vdi

Wait for it to finish, open the Virtualbox GUI, select the virtual machine, click on setup, go to storage, select the current vmdk file, click on a little icon resembling a hard disk to the right of the file, click on the virtual hard disk change option and select the new vdi file.