Issues getting Hyper-V Dynamic Memory to work in Win 2008 R2 SP1

On Wednesday Windows Server 2008 R2 and Windows 7 Service Pack 1 was made available for Technet and MSDN subscribers.  It will be available as a public download Feb 22nd.

The dynamic memory feature is a huge benefit to our business model at Vaasnet so I was eager to download and try it out.  During the beta and RC cycle, dynamic memory only worked for certain operating systems and editions.  Web and Standard editions weren’t supported, but were promised for final release.

First off, the download is large and the install is very slow.  In fact it takes longer to upgrade the Service Pack than it does for the initial installation.  Windows 7 SP1 took about 1/2 hour on my new desktop computer, and Windows Server 2008 R2 SP1 took about 1/2 hour on one server and took well over an hour on two other servers.  In fact, a warning message during the install says that it can take an hour or more and require one or more reboots.

The install was very clean and you have the option to have the installer reboot automatically.  This means that you can accept the license and a couple next/next buttons to kick it off and walk away and it will complete it to 100% without any further interaction.  That makes up for the long install time.

Anyway, back to my real issue. 

After upgrading the host I wanted to test dynamic memory on some Windows Server 2008 R2 Standard edition VMs.  During the beta cycle you simply needed to upgrade the Integration Services components for editions like Enterprise edition, so I assumed that was all that was needed here.

As a side, there are already many great articles and walkthroughs available on how to do this.  Here are some good links for further information on this topic:

Try as I might, I couldn’t get the dynamic memory to work.  Memory Demand and Memory Status fields didn’t populate and the OS didn’t change the memory level.  The new columns appeared on the server after upgrading the Host server, but nothing on the guests.

image

I read and re-read all posts available to date and I ensured that I had the key elements completed successfully:

  • upgraded Integration Services on the guest
  • powered off the VM and set dynamic memory range from 512 to 4096

No luck.  So, I figured there must be something in the release notes that would give me a clue.  Finally, and it wasn’t easy to find, I found my answer. 

It turns out that simply upgrading the Integration Services components isn’t enough for certain editions of the OS!  You MUST upgrade to Service Pack 1 on the guest for Windows Server  2008 R2 Web and Standard editions.  And you may also need to perform one extra reboot after the install.

After that it worked!

image

I’m sure this information will be easier to find in the coming days and weeks, but for those that find this blog post first, here’s the key link: http://technet.microsoft.com/en-us/library/ff817651(WS.10).aspx

And, here’s my version of the chart summarizing the requirements for the different editions.

Guest OS Edition
(32-bit and 64-bit)
Enlightenment Requirements
Windows Vista
(with SP1)
Ultimate
Enterprise
Only
- Upgrade Integration Services
Windows 7 Ultimate
Enterprise
Either
- Install SP1 in the guest OS
- Upgrade Integration Services
Windows 2003 Server
(with SP2)
Standard
Web
Enterprise
Datacenter
Only
- Upgrade Integration Services
Windows 2003 Server R2
(with SP2)
Standard
Web
Enterprise
Datacenter
Only
- Upgrade Integration Services
Windows Server 2008
(with SP2)
Web
Standard
Only
- Upgrade Integration Services
- Plus install hotfix in article 2230887
Windows Server 2008
(with SP2)
Enterprise
Datacenter
Only
- Upgrade Integration Services
Windows Server 2008 R2 Web
Standard
Only option (here’s the surprise)
- Install SP1 in the guest OS
Windows Server 2008 R2 Enterprise
Datacenter
Either
- Install SP1 in the guest OS
- Upgrade Integration Services

The key takeaway is that Windows Server 2008 R2 Web and Standard Editions require Service Pack 1.  Unlike all other OSes and editions, they will not work simply by upgrading the Integration Services.

Furthermore, after installing SP1 on the guest, it still didn’t work for me.  I had to do one further reboot after the install completed!  It seems that the SP1 upgrade installs everything, but one more reboot was required to activate the new functionality.

When it’s working, it works great!  Hopefully this helps someone else that made the same assumptions that I did.

14 Comments

  • Thanks for the information - I read something the other day on the Microsoft site saying that SP1 needed to be installed on the guest if the OS was 2008 R2. It didn't really make much sense, and I was left a bit confused. After reading your article it now makes perfect sense, even though the upgrade path is quite strange...

  • HI,
    I've installed two VMs: w2008r2sp1 - DM worked fine.
    but the second, running w2003sp2 32b won't recognize the DM settings (DM fields at the console remain empty). I've installed and upgraded the integration services several times.
    The OS at the host is a fresh installation with sp1 embedded.

    any clue?

    thanks

  • Hi Ariel. It sounds like you're doing everything correctly. Since it works for the others guests, the host server install sounds correct. Sorry, I haven't run into that yet. It should work with the steps that you outlined as long as it is SP2, you've rebooted, and you powered down and set DM for the VM on the host.

  • I've got Vista Business on some of my Virtual Machines - am I out of luck for Dynamic Memory? Why is Microsoft being so stingy about this obviously cool freature?

  • Robert, it does seem to me like an obvious OS that should be supported. I don't know the reason why it's not supported yet. Hopefully in the future although since it's not already supported already in SP1, I'm not sure how hopeful I would be that it will. :|

    Here's a good thread about the same that just happened to start today: cial.technet.microsoft.com/Forums/en-US/winserverhyperv/thread/0f97f1f2-828b-4027-ae36-ee415e0e8e63

  • OK, it's working fine now!
    This is what helped to get the win2003 std to recognize Dynamic Memory settings:
    Since it was an existing VM, I've upgraded the Integration Services. It didn't help.
    Only after removing the IS, rebooting and installing again, the VM started to "talk" with Hyper-v DM settings.
    It seems a trivial and easy workaround, but pay attention that if (like me) you don't have access to the host console, when you uninstall Integration Services, say goodbye to the mouse pointer and to the virtual NIC.

    thanks and bye !

    Ariel

  • Thanks for the update Ariel. That's great to know: that a full reinstall (with reboot in-between) of the Integration Services is needed in some situations. It's good to be reminded of the lack of mouse and network during the reinstall too!

  • Hi therem

    Just as a pointing note:

    Sometimes, even with everything installed correctly for Dynamic Memory, the GUEST operating system does not recognize it correctly. To fix it, just go to device manager and for a driver update on the "unknown device" that should be there. That is the virtual dynamic memory driver (which should be at System node).

    I don't know why this happend, but...

    Thanks a lot!

    Bruno

  • Thanks great info Bruno. Thanks for mentioning.

  • Combining the steps recommended by Ariel& Bruno, this is what worked for me on a 2003 SP2 VM:

    Symptom: Server never allocated more than the Startup Memory and Memory Status and Memory Demand columns were blank. Also, in Device Manager, there appeared an "Unknown Device" at the top-level of the tree.

    Cause: Upgrade of Integration Services (IS) appeared successful, but it never actually upgraded beyond the 6.1.7600 version.

    Solution: *** NEVER DO THIS ON A DOMAIN CONTROLLER VM DUE TO LACK OF A LOCAL USER ADMIN LOGIN ***
    1) Shutdown the VM.
    2) Set the VM memory settings back to Static with a normal allocation of memory, either from the Hyper-V Manager or SCVMM.
    a. (If you leave the memory as Dynamic with the recommended Startup Memory of 128MB for 2003 Server, the following steps will be painfully slow, if not impossible.)
    3) Start the VM.
    4) On the Hyper-V host, use Hyper-V Manager to Connect to the VM.
    5) In Control Panel, Add/Remove Programs, uninstall the Hyper-V Integration Services.
    6) *** At this point you will have lost your virtual NIC and your mouse ***
    7) Tab to the prompt to Reboot after the uninstall and hit Enter
    8) After reboot, login as a local admin user.
    9) From the Hyper-V Action Menu, choose Insert Integration Services Disk
    10) Hopefully, Autoplay will initiate the installation of the updated IS. Otherwise, you will need to use keyboard controls to open Windows Explorer or My Computer to start the program on your virtual CD drive.
    11) After installation if IS completes, your mouse control will return.
    12) Verify in Control Panel Add/Remove Programs that the IS version is 6.1.7601.17514
    13) Go into Device Manager.
    a. Under System Devices branch of the tree, check for existence of a driver for Virtual Dynamic Memory (ver . 6.1.7601.17514)
    i. If this driver does not exist, but instead there is an "Unknown Device" under that tree, right-click the unknown device and Update Driver (Install the software automatically) to fix this.
    14) Reboot the VM.
    15) Verify that the virtual NIC settings (IP, DNS, etc.) are correct. (They may have changed as a result of the new installation of IS.)
    16) After the reboot completes, shutdown the VM.
    17) Set the desired Dynamic Memory settings, either from the Hyper-V Manager or SCVMM.
    18) Start the VM. Dynamic Memory should be working now, as indicated by the Memory Status and Memory Demand columns being populated.

  • Hi Tg,

    That's awesome. I'll try it out sometime in the near future. Great to know that it's possible to get 2003 RTM working with dynamic memory. Thanks for taking the time to provide the detailed instructions!

  • Great find. I was confused because I thought I had SP1 on the guest. When I came across this blog I double-checked and sure enough.

    Thanks for the info!

  • Thanks for the post, very helpful

  • Hello,
    I've windows server 2008 R2 Sp1 (guest) with the integration service updated (6.2.9200.16433): the Dynamic Memory not run and It's impossible to uninstall and reinstall the Integration Services.
    In the computer and periferical I've found this device
    VMBUS\{525074dc-8985-46e2-8057-a307dc18a502}
    in the unknowed device...
    This device is the "Microsoft Dynamic Memory Hyper V", I tried to update the driver and the system has loaded the correct driver (from the net), now everything works fine!

    Stefano

Comments have been disabled for this content.