最終更新日付: 2020年9月30日
Windowsの時刻同期で不思議な現象が起きました。
GUIによる「日付と時刻」では「インターネット時刻」において、NTPサーバーと正常時刻同期出来ているにも関わらず、w32tmのstatusでは、ソースが「Free-running System Clock」と表示されるのです。
レジュメ
w32tm /query /statusコマンドでのソース値のFree-running System Clockとは?Local CMOS Clockとは?
ソース「Free-running System Clock」が意味するところは、
サーバーのハードウェアが刻んでいる内蔵時計と時刻同期しているという意味です。
ソースが、以下のように表示されることがあります
- Local CMOS Clock
- Free-running System Clock
つまり、NTPサーバーとは同期していないことを意味しています。
時刻が狂う要因ですね。
GUIの「インターネット時刻」ではNTPサーバーと正常時刻同期出来ている
しかし、実際、GUIの「インターネット時刻」ではNTPサーバーと時刻同期は出来ている。
どちらの情報が正しいのでしょうか?
イベントログをみるとTime-Service ID:36が表示
GUIの時刻同期した時間にイベントログがどうなっているか確認したところ、
- ソース:Time-Service
- ID:36
のイベントが出ていました。
「他のW32timeイベントのシステムイベントログを確認する」のは簡単には出来ないです(デバッグになるため)。
実際、こちらはタイムソースとシステムの時間差がほぼないため、厳密には時刻同期はしていない(する必要が無い)という状況のようでした。
W32tm /monitorでGetDcListに失敗。エラーコード0x8007054B
GetDcListで推測するに、ドメインに参加していない場合はこのエラーコードになるのかもしれません。
以下の条件で、エラーコード0x8007054Bが発生しました
- ”windows time”サービスを起動したばかり
- windowsドメインに参加していない
結論。GUIの「インターネット時刻」の表示を信じる
Windows timeサービスが起動してからしばらくしないと(時間が少しズレるくらい)、w32tm /query /statusの表示は設定したNTPサーバーではなく
- Local CMOS Clock
- Free-running System Clock
で表示されるようです。
設定は間違いなくされていますし、GUIでは正常時刻同期を示していますので、信じて待ちましょう。
(resync出来る環境ならば、強制的にresyncしてみるのも手かと思います)