
楽しみのために実行してみた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 秒のままでした。何が間違っているのでしょうか?
答え1
w32timeは単純にダメだとわかった。マイクロソフトは認めた。
w32time は、同期時間を 1 ~ 2 秒の範囲で確実に維持できません。
素晴らしいソフトウェアですね...
私は、実際に何をしているのかわかっている会社である Meinberg から、NTP プロトコルの別の実装をインストールしました。NTP ダウンロード
そして、時間差は瞬時にわずか数ミリ秒にまで縮まりました。
23:43:23, d:+00.0135611s o:+00.6267124s
23:43:25, d:+00.0169653s o:+00.6379619s
23:43:28, d:+00.0145823s o:+00.0086838s <-- Exact moment the new NTP implementation was installed.
23:43:30, d:+00.0157926s o:-00.0037974s
答え2
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
答え3
w32tm サービスでは、PC とタイム サーバーの時刻の差が 1 秒以内の場合のみ時刻を同期できます。または、時刻差に関係なく、チェックごとに常にタイム サーバーと同期するように強制することもできます。チェックする値は、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config のレジストリ エントリ「MaxAllowedPhaseOffset」です。
常に同期するように強制するには、この値を 0 に設定します。
ただし、まずこの値が希望する値の範囲内であることを確認してください。一部のシステムより多くの時差を考慮する必要があります。また、w32tm ドキュメント時刻同期が必要であることが判明すると (つまり、差が MaxAllowedPhaseOffset より大きい場合)、w32tm は時刻を瞬時または徐々に変更します。