Implications of disabling VMICTimeProvider (Windows7)?

7,551

Old question but I was just looking at this myself and thought I'd reply.

There's a good discussion here: http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/11/19/time-synchronization-in-hyper-v.aspx

But basically the key answer to your question is that it's fine to do and the VM will still sync via Hyper-V during initial boot but Windows itself will use the NTP server you have configured.

... you can “partially disable” Hyper-V time synchronization. The reason why I say “partially disable” is that you do not want to turn off the aspects of Hyper-V time synchronization that fix the time after a virtual machine has booted for the first time, or after the virtual machine comes back from a saved state. No other time synchronization source can address these scenarios elegantly.

Luckily – there is a way to leave this functionality intact but still ensure that the day to day time synchronization is conducted by an external time source. The key thing trick here is that it is possible to disable the Hyper-V time synchronization provider in the Windows time synchronization infrastructure – while still leaving the service running and enabled under Hyper-V.

To do this you will need to log into the virtual machine, open an administrative command prompt and run the following commands:

reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider /v Enabled /t reg_dword /d 0

This command stops W32Time from using the Hyper-V time synchronization integration service for moment-to-moment synchronization. Remember from earlier in this post that we do not go through the Windows time synchronization infrastructure to correct the time in the event of virtual machine boot / restore from saved state or snapshot. So those operations are unaffected.

Share:
7,551

Related videos on Youtube

Steve Robbins
Author by

Steve Robbins

Updated on September 18, 2022

Comments

  • Steve Robbins
    Steve Robbins almost 2 years

    I have a private network of two machines: one is Windows 7 and the other is not windows. I want the Windows7 machine to run an NTP server for the non-windows machine to synch to.

    The instructions in http://windowsforum.com/threads/windows-7-authoritative-time-server.43921/ list a number of registry settings to change. They all seem reasonable, but I wonder about the implication of disabling the "VMICTimeProvider". From googling I gather that is part of the "VM Integration Components" package. On a desktop windows system, I'm surprised to learn I even have VM Integration. What is this time provider for and what happens when I disable it?

  • Steve Robbins
    Steve Robbins about 7 years
    I'm no longer involved in the project, but I can confirm that the Win7 was running on the bare hardware, not under HV. The "not windows" system was an embedded linux and the reason we did not consider using it as the NTP server is that it did not have a reliable battery-backed RTC so it was hopelessly out of date each time we booted. Finally, FWIW: I never did have success setting up windows as the time server.
  • Kevinoid
    Kevinoid over 3 years
    Great find! Looks like the post has moved to docs.microsoft.com/en-us/archive/blogs/virtual_pc_guy/…