![停用 VMICTimeProvider (Windows7) 的影響?](https://rvso.com/image/1402610/%E5%81%9C%E7%94%A8%20VMICTimeProvider%20(Windows7)%20%E7%9A%84%E5%BD%B1%E9%9F%BF%EF%BC%9F.png)
我有兩台機器的專用網路:一台是Windows 7,另一台不是Windows。我希望 Windows7 電腦運行 NTP 伺服器,以便非 Windows 電腦同步。
中的說明http://windowsforum.com/threads/windows-7-authoritative-time-server.43921/列出一些要變更的註冊表設定。它們看起來都很合理,但我想知道禁用“VMICTimeProvider”的含義。透過谷歌搜索,我發現它是“VM Integration Components”包的一部分。在桌面 Windows 系統上,我驚訝地發現我甚至有 VM 整合。這個時間提供程式的用途是什麼?
答案1
老問題,但我只是自己看這個並認為我會回答。
這裡有一個很好的討論:http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/11/19/time-synchronization-in-hyper-v.aspx
但基本上,您問題的關鍵答案是,這樣做很好,而且虛擬機器在初始啟動期間仍將透過 Hyper-V 同步,但 Windows 本身將使用您配置的 NTP 伺服器。
...您可以「部分停用」Hyper-V 時間同步。我之所以說“部分停用”,是因為您不想關閉 Hyper-V 時間同步的某些方面,這些方面會在虛擬機首次啟動後或虛擬機從虛擬機恢復後修復時間。沒有其他時間同步來源可以完美地解決這些場景。
幸運的是,有一種方法可以完整保留此功能,但仍確保由外部時間源進行日常時間同步。這裡的關鍵技巧是,可以在 Windows 時間同步基礎設施中停用 Hyper-V 時間同步提供程序,同時仍使服務在 Hyper-V 下運行並啟用。
為此,您需要登入虛擬機,打開管理命令提示字元並執行以下命令:
reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider /v Enabled /t reg_dword /d 0
此指令停止 W32Time 使用 Hyper-V 時間同步整合服務進行即時同步。請記住,在本文前面,我們不會透過 Windows 時間同步基礎架構來修正虛擬機器從已儲存的狀態或快照啟動/復原的時間。所以這些操作不受影響。
答案2
雖然現有的答案涵蓋了它對 Hyper-V 的影響。我懷疑 @Steve Robbins 正在 HV 下運行 Win 7 環境。如果是這種情況,那麼停用 VM 整合時間提供者是安全的。
我想說的是,將 Unix 主機設定為時間伺服器要容易得多。如果您只希望它為一個網路提供服務,則需要在 /etc/ntpd.conf 中新增來源伺服器行和伺服器限制行。然後重新啟動NTPD服務。就是這樣。