I had successfully upgraded my OS to Server 2008 R2 SP1 and was so excited to finally dive into Dynamic Memory when I found that after setting my mins for each server at 512 MB and the appropriate maximums per the server role/type that they would not grow beyond 512 MB (512 MB was recommended for the startup of my VMs, please see the Hyper-V Dynamic Memory Configuration Guide at http://technet.microsoft.com/en-us/library/ff817651(WS.10).aspx).
The solution was that I needed to upgrade the VMs running Server 2008 R2 to SP1 AND upgrade integration services on each VM running Server 2008 SP2. (Please review the requirements chart in the Hyper-V Dynamic Memory Configuration Guide for which actions are appropriate for you. You will also need to reset the VMs after the upgrades are complete.)
This will allow the VMs to “speak the same language” as the Hyper-Visor and grow dynamically. Keep in mind that you must have one of the supporting operating systems, as listed in the Hyper-V Dynamic Memory Configuration Guide.
Per TechNet, here are the steps to upgrade integration services:
Upgrade integration services
1. If the virtual machine is not running, turn on the virtual machine.
2. Connect to the virtual machine. From Hyper-V Manager, right-click the virtual machine and click Connect.
3. Log on to the guest operating system with an account that is a member of the Administrators group.
4. From the Action menu of Virtual Machine Connection, click Insert Integration Services Setup Disk.
5. If Setup doesn’t start automatically, navigate to the CD/DVD drive in the guest operating system and start Setup manually. (For example, navigate to D:\support\\setup, where is either amd64 or x86.)
6. Click OK when prompted to upgrade or repair integration services.
7. Restart the virtual machine.