Windows 10はntpプロトコルを利用して時刻合わせを実行しています。
時刻合わせのトリガーは17分、9時間、7日のいずれかの設定値が使われますが、Windows Timeサービス(W32Time)のスタートアップの種類が「手動」になっていると時刻合わせは行われません。
SpecialPollInterval(604800)はWindows 10の既定値ですが、その値が設定されている時はW32Timeは無効にされているが動作していない可能性が高いです。
604800は秒数を表しており、7日のことです。
W32Timeの設定情報はレジストリエディタを開いて以下の階層で確認することができます。
TClock シリーズ
レジストリは触りたくないので、TClockの時刻合わせ機能を利用して定期的に時刻合わせを実行するよう設定しました。
この方法は、Windows Timeのスタートアップの種類に左右されることなく時刻合わせを行うことができます。
使用したのは、TClock Light(k-takata)。
記述時点で、Windows 10 v1909で安定動作するTClockシリーズは2種類。
- TClock Light(k-takata)
- TClock-Win10
TClock Light(k-takata)
手順3~8
W32Time既定値
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config | |
MaxPollInterval | 15(2^15) =32,768(秒)≒546(分)≒9(時間) |
MinPollInterval | 10(2^10) =1,024(秒)≒17(分) |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters | |
NtpServer | time.windows.com,0x9 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient | |
SpecialPollInterval | 604800(秒)=10,080(分)=168(時間)=7(日) |
修正例
出典サイトによると、SpecialPollIntervalの既定値(604800)は大きすぎるので W32Time が正しく動作しない場合があるとのことでした。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters | |
NtpServer | time.windows.com,0x8 |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient | |
SpecialPollInterval | 3600(秒)=60(分) |
SpecialPollInterval
SpecialPollIntervalの値は次の範囲で設定します。
数値の意味が異なるのでご注意を!
MaxPollInterval, MinPollInterval:2のべき乗(215, 210)
SpecialPollInterval:10進数
まとめ
- 時刻合わせ - TClock Lightのヘルプ
http://tclock2ch.no.land.to/kazubon/tclocklight/help/ja/sntp.html - k-takata/TClockLight|github.com
- TClock2ch付属サイト|www22.atpages.jp
- Windows Time サービスにおける時刻同期の仕組み | Microsoft Support
このサイトを検索 | Search this site