One of the great things about Hyper-V 2.0 on Windows Server 2008 R2 is dynamic memory. It allows you to oversubscribe the host and plop more VMs down then the machine can physically handle. It then dynamically (hence the name) allocates memory based on demand from the virtual machines. What a great feature for a fledgling lab server with finite resources. However, it doesn’t always play nice and I found this out as I started building Windows 2012 VMs. For whatever reason Windows Server 2012 as a virtual machine on Hyper-V 2.0 does not play well with dynamic memory. The 2012 VMs I created were excruciatingly slow because they never got more than 512MB of memory (which was my starting value). Once I set them to static memory they were happy.
I’m going to experiment some more and see if maybe the integration services were not installed and that’s why. Or perhaps there is a patch or hotfix I need for the host. Regardless, the simple fix is to disable dynamic memory on your Windows Server 2012 virtual machines running on a Windows Server 2008 R2 host.