Friday, August 20, 2010

Hyper-V Could not initialize memory: there is not enough space on the Disk

Las Vegas a Virtual Paris I received this error when I tried to increase the memory of the single freshly installed VM (Server 2008R2) on my Hyper-V 2008R2 host from 1024Mb to 2048Mb. This is a new clean 4Gb machine with almost a terabyte of free disk space so I was surprised by the error. The issue comes from how memory is allocated if the VM state is saved and how I installed Hyper-V on a bootable 8Gb USB drive. I found the clue to the answer in Robert Larson’s article on Hyper-V File Storage and Permissions


In my setup Hyper-V itself is running on the USB drive. The USB drive simply contains a .vhd file that holds the bootable Hyper-V image. The image itself takes up about 6.5Gb which leaves 1.5Gb free.

The Problem

When a VM is initialized it writes a .bin file the size of the amount of RAM allocated to the VM. The default path to that is on the Hyper-V host drive, in my case the USB drive. I had already pointed the Virtual Hard Disk and Snapshot paths to the 1Tb SATA drive because I knew they wouldn’t fit on the USB drive (duh), but I didn’t realize that the location of the VM configuration would need space for all the VM memory dumps.

The Fix

Change the Virtual Machine path to use the 1Tb SATA drive also.


Art Roggeband said...

Hi Dean,

Same problem here, even with the Hyper-V booted from a 16GB USD but with a chd of 6 GB.
You indicate the solution is to: "Change the Virtual Machine path to use the 1Tb SATA drive also."

Please provide somepointers where/how to do that?

Thank you


Dean Willson said...

Hi Art,
Assuming you are using the Hyper-V management console, you would select the VM and edit the settings, specifically the Name and Location setting where it says "Store the virtual machine in a different location". See Figure 5 at the following link