我只是为了好玩而跑w32tm /stripchart /computer:time.windows.com
,发现我的时钟比这个时间服务器晚了 1.3 秒。并不是说我认为 Microsoft 是错误的,而是我在我所在城市的各种其他时间服务器上进行了尝试,只是为了消除潜在的网络延迟。结果相同。
解决这个问题的明显方法是强制重新同步,所以我跑了w32tm /resync
,但时差仍然存在。
当我执行w32tm /query /status
以找出导致此问题的原因时,我震惊地发现我的计算机的默认时间数据源Local CMOS Clock
显然从未同步到任何东西!
我以为我已经弄清楚发生了什么,并使用以下命令快速向我的同行添加了一些时间服务器:w32tm /config /manualpeerlist:ntp1.scc.kit.edu /syncfromflags:manual /reliable:yes /update
.
但是即使在再次重新同步之后,时间差仍然保持在 1.3 秒?出了什么问题?
原来 w32time 简直糟透了。微软承认
伟大的软件家伙...
我从 Meinberg 安装了一个不同的 NTP 协议实现,这家公司实际上知道它在做什么:NTP 下载
并且繁荣:我的时差立即下降到只有几毫秒。
https://github.com/MicrosoftDocs/windowsserverdocs/issues/2065#issuecomment-544785547
这就是在 w32tm 中获得精确时间所需要做的事情。
因此,您需要 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer time.google.com,0x5 time.cloudflare.com,0x1 至少 2 个(在您的国家和您当地的 IX 或大学)https:/ /gist.github.com/mutin-sa/eea1c396b1e610a2da1e5550d94b0453
现在从所有选项卡执行此操作 https://docs.microsoft.com/en-us/windows-server/networking/windows-time-service/configuring-systems-for-high-accuracy?tabs=MaxPollInterval#registry-settings