I use VirtualBox to run Windows XP as a virtual machine within Ubuntu Linux and periodically like to compact the virtual drive (VDI) file.
Being a bit boneheaded, every time I do this, I spend ten minutes searching for instructions, so I thought I’d post them here both for myself, and for anyone else it may help.
Steps to Compact a VirtualBox WinXP Guest in Linux
- While in your Windows XP virtual machine, download the sdelete program and save it to your c: drive in Windows.Â This program allows you to ‘zero out’ the free space on the drive by writing zeros to the unused sectors.
- In WinXP go to Start/Run and type ‘cmd‘ to open a command prompt.
- Change directory (cd) to the location where you saved the sdelete.exe file.
- Enter ‘sdelete -c c:/’ to execute the program.
- Once sdelete is finished, shut down the Windows virtual machine.
- Open a terminal in Linux and cd to the directory that contains the VDI you’d like to compact.
- Type ‘VBoxManage modifyvdi xxxxx.vdi’ compact where xxxxx.vdi represents the filename of the virtual disk you’d like to compact.
- After the command is runs, your VDI will be reduced in size.