I have been testing out  Solarwinds MSP backup, and one of the features this has is that you can restore the backup to a virtual disk, which is in VMware vmdk format.

I have tended to use Oracle VirtualBox locally for my virtual machines since it is compatible with a lot of appliance templates and vhd images you can download online and is free and has a small footprint. Although Windows 10 now does include a cut down version of hyper-v allowing you to run virtual machines, you do need the PRO version of Windows, which I did not have at the time of writing this, I was running Windows home edition.

While the vmdk file does work with VirtualBox natively,  I discovered that it does require some work to get it to boot and you cannot do much else with it, which includes shrinking it. This is one thing I needed to do in order to reduce the amount of space used by my restored virtual disk image.

Firstly in order to get the vmdk to boot I had to enable EFI mode in virtualbox settings.
I then had to run bootrec/rebuildbcd

To compact the disk, I discovered I have to convert the vmdk to a VDI file. thankfully this turned out to be quite simple.

If you will not be using a dynamic disk, and do not need to shrink it, then you can skip these first 3 steps obviously.

 1. Delete Unnecessary Files from the VM

  • The best way to do this is to run the Windows disk cleanup tool, including the option to “clean up system files”

2. Defragment the Disk

  • If you want to also shrink the disk, then Using the Windows defrag tool will help with the shrink process.

3. Clean any free disk space

After the disk has been defragmented, the virtual Windows drive will still have unused space containing garbage bits and bytes. These garbage bits and bytes are from the contents of files that used to occupy that space but that are no longer there.

The most effective way to clean free disk space on a Windows drive is to overwrite the unused space with a bitstream of zeros or to zero-fill any free space.

Windows does not come with a native utility to zero-fill unused space but you can find the excellent SDelete tool at Microsoft’s TechNet: http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx

4. Convert the disk

If your vmdk image file is already connected to a guest VM, then you need to remove it, otherwise, the process will not work.

  • shutdown the VM
  • go into the virtual media manager and remove the vmdk file from the guest VM

Open CMD prompt, and navigate to your  VirtualBox folder, from here you will execute VBoxManage, using the coneMEdium command to clone the VHD and convert to VDI.

Obviously, replace the [drive]:[\path_to_file\myserver.vmdk] with your source and destination paths.

This conversion process will actually shrink  down the VHD by default if you are using a dynamic disk,  and should get it down the minimum required. If it hasn’t sufficiently reduced it, then you can try to run this command.


Related Posts

0x80300025 We couldn’t install Windows in th... This was a very random and strange occurrence, suddenly my wife's PC would no longer boot from the SSD drive, instead, it kept trying to boot from...
Free tips for improving your WiFi Dodgy WIFI signals are a royal PITA, and with so many devices in your home now using WIFI, such as phones, tablets, Fire TV, PC's, printers, every...
Solution to #400 bad request error on Google Chrom... For the last few weeks my son has been unable to use his gmail, gdrive or in fact any part of his g suite account using Google Chrome, due to gett...
Why You Should Be Using a Password Manager Every few weeks, we hear the news that another major corporation and their website has been hacked, just last week we heard about Equifax being ha...