NTP クライアントが Windows 11/10 で時刻を誤って表示する

今日の投稿では、SpecialPollInterval がポーリング間隔として使用される場合の原因を特定し、サービスがスパイク状態になると Windows Time サービスが時刻を誤って表示する理由を説明します。その後、Windows 10 NTP クライアントの問題に対する軽減策を紹介します。

ネットワーク タイム プロトコル (NTP)は、クライアント/サーバー アプリケーションです。各ワークステーション、ルーター、サーバーには、クロックをネットワーク タイム サーバーと同期するために NTP クライアント ソフトウェアが装備されている必要があります。ほとんどの場合、クライアント ソフトウェアはすでに各デバイスのオペレーティング システムに常駐しています。

一般的な NTP クライアントは、1 つ以上の NTP サーバーを定期的にポーリングします。

NTP クライアントが Windows Time サービスを誤って表示する

次の条件がすべて当てはまる場合、Windows Server エディションまたは Windows クライアント エディションを実行している NTP クライアント コンピューターは時刻を修正できないという問題が発生することがあります。

  • NTP クライアントは、手動で指定された NTP サーバーと時刻を同期します。
  • NTP クライアントは、SpecialPollInterval をポーリング間隔として使用します。
  • NTP クライアントと NTP サーバーの時差は、NTP クライアントで構成されている LargePhaseOffset よりも大きいです。

このシナリオでは、NTP クライアントは、SpikeWatchPeriod が経過した後でも時刻を修正できません。

NTP クライアントが Windows Time サービスを誤って表示する原因

この問題は、クライアントが NTP サーバーに時刻サンプルをポーリングするたびに、NTP クライアントがスパイク状態になるために発生します。Time サービスは内部ステータスを管理し、クライアントがスパイク状態になると、クライアントは時刻を同期しません。

この問題を解決して、スパイク状態の後に NTP クライアントが NTP サーバーと同期できるようにするには、2 つの方法があります。Windows Time を構成して、ポーリング間隔として MinPollInterval/MaxPollInterval を使用するようにします。

1] 手動で構成するには、Windows Time を使用して MinPollInterval/MaxPollInterval をポーリング間隔として使用するには、次の手順を実行します。

コマンド プロンプトを起動します。

コマンド プロンプトで、次のコマンドをコピーして貼り付けます (プレースホルダー NTP_server_IP_Address を実際のサーバー IP アドレスに置き換えてください)。Enter キーを押します。

w32tm /config /update /manualpeerlist:NTP_server_IP_Address,0x8 /syncfromflags:MANUAL

0x1フラグを /manualpeerlist スイッチで使用すると、SpecialPollInterval を使用することを指定します。この問題を回避するには、0x1 フラグを使用しないでください。

Windows Time が使用するポーリング間隔は、次のレジストリ サブキーによって設定されます。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters

Windows Time サービスとレジストリ値に関する追加情報を参照してください。

2] 自動的に構成するには、Windows Time を使用して MinPollInterval/MaxPollInterval をポーリング間隔として使用するには、MicrosoftEasyFix25001.mini をダウンロードします。

このツールは英語のみである場合があります。ただし、この自動修正は、他の言語バージョンの Windows でも機能します。

問題が発生しているコンピューターを使用していない場合は、簡単な修正ソリューションをフラッシュ ドライブまたは CD に保存してから、問題が発生しているコンピューターで実行します。

PS: Windows の時刻が間違っていますか? これが修正方法です!