サイトアイコン puti se blog

w32tm「Free-running System Clock」や「Local CMOS Clock」とは?インターネット時刻サーバーと正常同期している

Windowsの時刻同期で不思議な現象が起きました。
GUIによる「日付と時刻」では「インターネット時刻」において、NTPサーバーと正常時刻同期出来ているにも関わらず、w32tmのstatusでは、ソースが「Free-running System Clock」と表示されるのです。

w32tm /query /statusコマンドでのソース値のFree-running System Clockとは?Local CMOS Clockとは?

ソース「Free-running System Clock」が意味するところは、
サーバーのハードウェアが刻んでいる内蔵時計と時刻同期しているという意味です。
ソースが、以下のように表示されることがあります

つまり、NTPサーバーとは同期していないことを意味しています。
時刻が狂う要因ですね。

GUIの「インターネット時刻」ではNTPサーバーと正常時刻同期出来ている

しかし、実際、GUIの「インターネット時刻」ではNTPサーバーと時刻同期は出来ている。
どちらの情報が正しいのでしょうか?

イベントログをみるとTime-Service ID:36が表示

GUIの時刻同期した時間にイベントログがどうなっているか確認したところ、

のイベントが出ていました。
「他のW32timeイベントのシステムイベントログを確認する」のは簡単には出来ないです(デバッグになるため)。

実際、こちらはタイムソースとシステムの時間差がほぼないため、厳密には時刻同期はしていない(する必要が無い)という状況のようでした。

W32tm /monitorでGetDcListに失敗。エラーコード0x8007054B

GetDcListで推測するに、ドメインに参加していない場合はこのエラーコードになるのかもしれません。
以下の条件で、エラーコード0x8007054Bが発生しました

結論。GUIの「インターネット時刻」の表示を信じる

Windows timeサービスが起動してからしばらくしないと(時間が少しズレるくらい)、w32tm /query /statusの表示は設定したNTPサーバーではなく

で表示されるようです。
設定は間違いなくされていますし、GUIでは正常時刻同期を示していますので、信じて待ちましょう。
(resync出来る環境ならば、強制的にresyncしてみるのも手かと思います)

モバイルバージョンを終了