OS: Windows 10 Pro version 1809
主として使用しているパソコンの時刻が日本標準時から1.2秒も進んでいた。コマンドプロンプトからチャッと時刻を同期して精密に時計を合わせようと試みたけれどもWindowsの時刻同期は挙動が掴み切れず、生半可な知見で臨んだところ忽ち返り討ちである。
w32tmコマンド一度きりの実施で時刻が確り同期される場合もあれば、何遍繰り返してもちっとも同期されないケースもあったから困る。まずはコマンドプロンプトを管理者として実行するところから始めねばならない。一先ず時刻同期の様子を確認しようと次のコマンドを流すとこういう有様である。
>w32tm /query /status 次のエラーが発生しました。 そのサービスを開始できませんでした。 (0x80070426)
Windows Time サービス(w32time)が実行されていないとw32tmコマンドの主たる機能が取り扱えないようである。w32timeを開始するにはこうである。
>net start w32time Windows Time サービスを開始します. Windows Time サービスは正常に開始されました。
改めて w32tm /query /status
を実行すると時刻の同期にCMOS Clockを使うことを発見した。おおかたマザーボードに搭載されているCMOSの時計を照らし合わせに用いるという設定であるとおもわれる。これをNICTが公開しているNTPサーバ ntp.nict.jp
に切り替える。
>w32tm /query /status 閏インジケーター: 3 (同期未実行) 階層: 0 (未指定) 精度: -23 (ティックごとに 119.209ns) ルート遅延: 0.0000000s ルート分散: 0.0000000s 参照 ID: 0x00000000 (未指定) 最終正常同期時刻: 未指定 ソース: Local CMOS Clock ポーリング間隔: 10 (1024s)
NTPサーバの指定に続けてカンマを配して同期モードを16進数でセットできる風情である。1,2,4はSymmetric ActiveとかいうNTPサーバ同士でやり取りを交わすためのモードであった。クライアントとして使うPCには相応しくないとおもってClientモードを用いる0x8を記述した。
>w32tm /config /update /manualpeerlist:ntp.nict.jp,0x8 /syncfromflags:manual コマンドは正しく完了しました。 >w32tm /query /status | find "ntp.nict.jp" ソース: ntp.nict.jp,0x8
そうしたら /resync
オプションで以って手づから時刻を同期させる。
>w32tm /resync 再同期コマンドをローカル コンピューターに送信しています コマンドは正しく完了しました。
ズレが解消されたか確認をすると何ら効果を齎していない風情であった。幾度か実施を繰り返して見たけれどもほとんど動きが見られない。此は如何にとおもって調べるとじわじわと時刻を調整してゆくslewモードと一息に時刻を同期させるstepモードが用意されていた。諸条件を満たすとslewモードになり、そうでなければstepモードになるという仕組みである。
>w32tm /monitor /computers:ntp.nict.jp /nowarn ntp.nict.jp[133.243.238.163:123]: ICMP: 25ms 遅延 NTP: -1.1755319s ローカル コンピューターの時刻からのオフセット RefID: 'NICT' [0x5443494E] 階層: 1
slewモードの条件を満たしたから時計がすぐに合わないのだといっときは納得したけれども腰を据えて条件式を計算したところ、ぜんぜん要件を満足しないからstepモードでパッとずれが解消されることが期待される筈であるのにどうも挙動がわからない。
>w32tm /debug /enable /file:"%userprofile%\desktop\w32tm.txt" /size:0 /entries:0-300 プライベート ログを有効にするコマンドをローカル コンピューターに送信しています... コマンドは正しく完了しました。 >w32tm /resync 再同期コマンドをローカル コンピューターに送信しています コマンドは正しく完了しました。 >w32tm /debug /disable プライベート ログを無効にするコマンドをローカル コンピューターに送信しています...コマンドは正しく完了しました。
デバッグログを出力するよう設定して時刻同期を実施した際の内容を眺めたけれどもなんだかむつかしくてslewモードで時計を合わせようとしている情勢で或ることくらいしか掴めない。
もうすっかり厭になってしまって捨て鉢で時刻の自動設定をオフにしてから時刻を徒に大きくずらして改めて時刻を自動的に設定する設定をオンに切り替えたところ、何がどう作用したかは知れないけれども期せずしてstepモードのような働きによって時刻のぶれが慎ましい値へ落ち着いた。
>w32tm /stripchart /computer:ntp.nict.jp /period:5
たいへん強引なやり方であるから決して常用できないけれども、退っ引きならない情勢であるときは不承不承この方法を選択せざるを得ない。