解決方法: 時刻データが欠落しているためコンピューターの再同期に失敗しました
実行中に「時刻データが利用できないため、コンピューターは再同期できませんでした」というエラーが表示されるw32tm /resyncのは非常に厄介です。特に、サーバーやPCの時刻同期を維持しようとしている場合はなおさらです。通常、主な原因は、グループポリシーまたはレジストリ設定の不適切な構成によって適切な時刻同期が妨げられていることです。場合によっては、Windows の挙動がおかしかったり、間違ったサーバーを指定しているだけかもしれません。でも、心配しないでください。いくつか試すことで、通常はこの問題を解決できます。
簡単なコマンドが失敗し、データがないと表示されるので少しイライラしますが、Windowsタイムサービスの再起動や再構成で解決することもあります。ここでの目標は、PCが適切なタイムソースを参照していること、そしてサービス設定が正しいことを確認することです。一部の設定、特にドメイン環境の場合、設定がロックされていたり、異なる方法で最適化されていたりするため、確認すべき場所を知っておくと、多くの手間を省くことができます。
時間データが利用できないためにコンピューターが再同期されなかった問題を修正するにはどうすればよいでしょうか?
Windows タイム サービスのグループ ポリシーの確認とリセット
グループポリシーの設定ミスにより、時刻同期がうまくいかない場合があります。これはドメインでよく見られる現象です。関連するすべてのポリシーを「未構成」に設定すると、多くの場合、時刻同期がリセットされます。ドメインコントローラーとローカルマシンで設定する方法は次のとおりです。これにより、Windowsは手動または自動の時刻ソースを制限なく受け入れることができます。
- ファイル名を指定して実行 ( Win + R) を開き、
dsa.mscActive Directory ユーザーとコンピューター と入力して起動します。起動できない場合は、ドメイン管理者のマシンからグループポリシー管理コンソール (GPMC) を使用する必要があるかもしれません。 - グループ ポリシー オブジェクト を見つけて、自分のマシンまたは OU に適用されているものを探します。
- GPO を編集します。GPO を右クリックし、[編集] を選択します。
- コンピューターの構成 > ポリシー > Windows の設定 > セキュリティの設定 > システム サービス に移動します。
- システムサービス で Windows Time (w32time) を見つけます。ダブルクリックし、スタートアップモード を 自動 に設定し、サービスの状態 が 実行中 であることを確認します。
- コンピューターの構成 > ポリシー > 管理用テンプレート > システム > Windows タイム サービス に移動します。
- グローバル構成設定 を開き、未構成 に設定してから、時刻プロバイダー に移動して、すべてのポリシーも未構成 に設定します。
- エディターを閉じ、コマンド プロンプト (管理者) に移動して実行し、
gpupdate /force変更をすぐに適用します。
ヒント: 多くの場合、ポリシーによって時刻設定が制限されていないことを確認することが重要です。ローカルマシンでは、gpedit.mscを使って同じ操作を実行できますが、ドメインに参加している環境ではドメインポリシーがローカル設定を上書きする可能性があるため、両方を確認してください。
Windowsタイムサービスを再登録して再起動する
Windowsのタイムサービスが時々おかしな状態になることがあります。再登録することで、データなしの問題が解決する場合があります。これは、破損した設定を消去する「ソフトリセット」のようなものです。
- 実行 ( Win + R) を開き、 と入力します
cmd。次に、 を押してCtrl + Shift + Enter管理者として実行します。 - 次のコマンドを 1 つずつ実行します。
net stop w32time w32tm /unregister w32tm /register net start w32time
注: それでもエラーが表示される場合は、この操作を行った後に再起動してみてください。設定によっては、すべてが安定して正常に動作するようになるまで再起動が必要になる場合があります。
タイムサーバーの設定を再構成する
システムが特定のサーバーとの同期に失敗した場合は、ピアリストを変更または更新すると改善する可能性があります。特に、古いサーバーや故障したサーバーを使用している場合、あるいはWindows以外のサーバー(CiscoルーターやLinuxマシンのNTPサーバーなど)と同期している場合は、この方法が効果的です。
- コマンド プロンプト (管理者) を再度開きます。
- 新しいタイム ソースを設定するには、次のコマンドを実行します。
w32tm /config /manualpeerlist:<your_ntp_server> /syncfromflags:manual /reliable:yes /update - <your_ntp_server> を、 time.windows.com、pool.ntp.org、または IP アドレスなどの有効なアドレスに置き換えます。
- 複数のサーバーの場合:
w32tm /config /manualpeerlist:"0.pool.ntp.org, 0x8 1.pool.ntp.org, 0x8 2.pool.ntp.org, 0x8" /syncfromflags:manual - 次に、サービスを再起動します。
net stop w32time net start w32time - 最後に、再同期を試みます。
w32tm /resync
ヒント: サービスがクライアントモードに設定されていないか、サーバーにアクセスできないために同期が失敗する場合があります。サーバーを変更するか、強制的に再同期を実行すると、多くの場合問題が解決します。
時刻同期のレジストリ設定を変更する
他に方法がない場合は、レジストリの調整で改善することがあります。特にWindowsが間違った同期タイプやサーバー情報を使用している場合はなおさらです。ただし、レジストリの編集にはリスクが伴うので注意してください。
- 実行 ( Win + R) を開き、
regeditと入力して Enter キーを押します。 - レジストリをバックアップしてください。これは重要です。(ファイル > エクスポート)
- に移動します
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters。 - Type キーを探します。NoSync と表示されている場合は、ダブルクリックして NTP または NT5DS(ドメインに参加している場合)に変更します。
- NtpServer の値をチェック/編集して、選択したタイム サーバー (例: ) を指すようにします
time.windows.com。 - ドメインに参加しているコンピューターの場合、NT5DS 同期モードが適切であり、通常は NtpServer を変更する必要はありません。
- レジストリ エディターを閉じて、上記 ( ) のように Windows Time サービスを再起動して
net stop w32time / net start w32timeから、 を実行してみてくださいw32tm /resync。
注意:レジストリを変更すると、注意しないとドメイン同期に影響する可能性があります。変更する前に、何が設定されているかを確認してください。
トラブルシューティングのための高度なログ記録を有効にする
それでも問題が解決しない場合は、デバッグログをオンにすると、裏で何が起こっているのかが明らかになることがあります。少し高度な方法ですが、通常のエラーメッセージからは分からない手がかりが得られることもあります。
- 管理者特権でのコマンド プロンプト を開きます。
- 詳細なログを有効にするには、次のコマンドを実行します。
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config /v FileLogSize /t REG_DWORD /d 10000000 REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config /v FileLogName /t REG_SZ /d C:\Windows\Temp\w32time.log REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config /v FileLogEntries /t REG_SZ /d 0-116 REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient /v EventLogFlags /t REG_DWORD /d 2 REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config /v EventLogFlags /t REG_DWORD /d 2 - 仮想マシン (Hyper-V など) の場合、次のものが必要になることがあります。
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider /v Enabled /t REG_DWORD /d 0 REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider /v InputProvider /t REG_DWORD /d 0 - これらの設定を適用するには、PC を再起動してください。
- もう一度実行してください
w32tm /resync。ログファイル(C:\Windows\Temp\w32time.log)をチェックして、何が問題だったかを確認してください。
正直なところ、Windowsは何かきっかけがないと反応してくれないこともあります。そんな時はデバッグを有効にすると、そのきっかけを掴むことができます。必要に応じてログを調べる準備をしておきましょう。それでもダメな場合は、ネットワークやファイアウォールの設定でNTPポートがブロックされていないか確認してみる価値はあります。
まとめ
- グループポリシーが時刻同期をブロックしていないことを確認する
- Windowsタイムサービスを再登録して再起動します
- タイムサーバーリストを更新して実行します
w32tm /resync - デフォルト設定が壊れている場合はレジストリ設定を確認してください
- より詳細なトラブルシューティングのために詳細ログを有効にする
まとめ
この問題は、本当に厄介な場合もあれば、単なる設定ミスに過ぎない場合もあります。通常は、ポリシーの不備、サーバーの不具合、サービスの一時的な中断など、単純な原因です。これらの解決策を一つ一つ実行すれば、同期が回復するはずです。それでも解決しない場合は、ログを詳しく調べたり、ネットワーク設定を確認したりする必要があるかもしれません。これで数時間の頭痛の種が解消され、サーバーやPCが再びスムーズに動作するようになることを願っています。