使用 vmware vsphere server 6.0.0 和运行 Windows 2016 的 VM。我已将 Windows 设置为与 time.nist.gov 同步时间。机器使用 UTC 时区。恢复到快照后,时间一段时间内不会更新(如果有的话?)。我尝试了各种 w32tm.exe 命令来尝试强制重新同步,但它说时间差太大(通常相差几天或几周)。
我能让它立即更新的唯一方法是进入此对话框并更改时间服务器,然后单击立即更新。然后将其改回来:
在相同设置下,Windows 2012 不会发生这种情况。我预计恢复快照后时间会立即同步。也许 Windows 2016 中发生了一些变化,我需要在拍摄快照之前或恢复快照后做一些不同的事情?或者也许需要在 vsphere 中进行不同的配置?
答案1
按照VMware 知识库 1189,当您拍摄或恢复快照时,Vmware 工具通常会从主机同步时间。因此,如果您确保主机的时间合理,那么您就不会遇到过多的时间差异,并且可以用来w32tm /resync
重新同步 NTP。我会在主机上配置 NTP Host > Configuration > Time Configuration > Properties
,看看这是否有帮助。
编辑:另外,根据微软知识库 884776您可以配置注册表项,允许 W32Time 服务同步,而不管时间差的大小。设置HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxPosPhaseCorrection
和MaxNegPhaseCorrection
0xFFFFFFF
此值使计算机能够接收任何时间样本中包含的时间,无论其是否准确。
答案2
我尝试了MaxPosPhaseCorrection
注册表MaxNegPhaseCorrection
编辑,但没有作用。
对我有用的是一个未记录的开关:
w32tm /resync /force
假设w32time
服务配置良好,您可以避免“计算机未重新同步,因为所需的时间变化太大”的错误,而无需触及注册表并重新启动服务。