パソコンの右下に表示されている時刻が、スマートフォンや壁掛け時計と数分違っている。あるいは、電源を入れ直すたびに日付が大きくずれている。そんな経験はありませんか。
実は、Windowsの日付や時刻が正確でないと、時計の表示が違うだけでは済みません。
- Webサイトで「接続がプライバシーで保護されていません」といった証明書エラーが表示される
- Microsoftアカウントや社内システムへのサインインが失敗する
- ファイルの更新日時やシステムログの前後関係が分からなくなる
など、さまざまな不具合の原因になります。
多くの方は設定画面からマウスで直そうとしますが、「今すぐ同期」でエラーになったり、直したはずの時刻が数時間後にまた戻っていたりすることも少なくありません。
そんな時にITエンジニアやシステム管理者が頼るのが、コマンドプロンプトで使う「w32tm」というツールです。
私自身、以前ドメイン環境で時刻のズレによる認証トラブルに直面した際、このw32tmに救われました。
ただし、時刻がずれる原因は、コマンドで直せるものばかりではありません。マザーボードのCMOS電池の劣化や、Linuxとのデュアルブートのように、設定を変えても直らない原因もあります。
本記事では、原因を症状から見分ける方法から、次の内容までを順番に解説します。
- 設定アプリでの自動同期とタイムゾーンの確認
- w32tmコマンドでの強制同期と、時刻サーバーのNICTへの変更
- 同期できない時の原因の切り分け
- 電源を切ると日付が戻る場合のCMOS電池の確認
- デュアルブートや仮想マシンで起きる時刻のずれ
専門用語には注釈を添えていますので、初心者の方も、手順に沿って一つずつ試してみてください。
日付・時刻がずれると何が起きるのか
要点:Windowsの時刻は、画面に表示されるだけでなく、通信の安全確認やサインインの判定にも使われています。ずれを放置すると、時計以外の場所に不具合が出ます。
Webサイトの証明書エラー
HTTPS(暗号化通信)のサイトは、証明書の有効期間を確認するために、パソコンの日時を使います。(注釈:証明書とは、Webサイトが本物であることを示すデジタルの身分証のようなものです。)
パソコンの日付が大きくずれていると、正しいサイトでも「接続がプライバシーで保護されていません」といった警告が表示されることがあります。
サインインや認証の失敗
Microsoftアカウントや会社のシステムへのサインインでも、時刻は判定に使われます。
会社のドメイン環境(Active Directory)では、Kerberos認証(注釈:社内のサーバーとパソコンが互いを確認し合う仕組み)で、サーバーとの時刻差が既定で5分を超えると認証に失敗することがあります。
ファイルの更新日時やログの混乱
ファイルの更新日時やイベントログには、パソコンの時刻が記録されます。時刻がずれていると、「いつ何が起きたか」を後から追えなくなり、トラブル調査が難しくなります。
時刻がずれる原因は4パターン!症状から見分ける
要点:ずれ方によって、原因はある程度絞れます。先に症状を確認すると、無駄な作業を減らせます。
| 症状 | 疑う原因 | 対処する章 |
|---|---|---|
| 数分〜数十分ほど徐々にずれる。「今すぐ同期」でエラーになる | 自動同期の失敗(時刻サーバーに届かない、サービスの停止など) | 設定アプリでの同期/w32tm/同期できない時の切り分け |
| 毎回ちょうど数時間ずれる(日本では9時間など) | タイムゾーンの設定ミス、またはLinuxとのデュアルブート | 設定アプリ(タイムゾーン)/独自視点1 |
| 電源を完全に切る、電源ケーブルを抜くと日付が大きく戻る | マザーボードのCMOS電池の劣化 | CMOS電池の確認 |
| 仮想マシンの中で、直してもずれる・戻るを繰り返す | ホストとの時刻同期機能とWindowsの同期の競合 | 独自視点3 |
どれか分からない場合は、まず次の章の「設定アプリでの同期」から試してください。それでも直らない、またはすぐ戻る場合に、上の表で原因を絞ります。
設定アプリで時刻を自動同期する基本手順
要点:最初に試すのは、設定アプリの「時刻を自動的に設定する」と「今すぐ同期」です。コマンドは不要で、数十秒で終わります。
自動設定をオンにして今すぐ同期する
- キーボードの「Win + I」を押して「設定」を開きます。
- 左メニューの「時刻と言語」をクリックし、「日付と時刻」を開きます。
- 「時刻を自動的に設定する」のスイッチをオンにします。
- 「タイム ゾーン」が「(UTC+09:00) 大阪、札幌、東京」になっていることを確認します。
- 「追加の設定」を開き、「今すぐ同期」をクリックします。
同期に成功すると、「最後に正常に同期した時刻」に今日の日時が表示されます。項目の表示名は、Windows 11のバージョンによって多少異なる場合があります。
タイムゾーンが違っている時
タイムゾーンが海外の設定になっていると、時刻が数時間ずれて見えます。日本の場合は「(UTC+09:00) 大阪、札幌、東京」を選びます。
「タイム ゾーンを自動的に設定する」は位置情報サービスを使うため、位置情報がオフの環境では自動で切り替わらないことがあります。その場合は、プルダウンから手動で選んでください。
「今すぐ同期」が失敗する時
- 「時刻を自動的に設定する」を一度オフにしてからオンに戻し、もう一度「今すぐ同期」を押します。
- 時計が年・日単位で大きくずれている場合は、同期がうまくいかないことがあります。(Windowsが一度に補正できる時間差には上限があるためです。)その場合は、いったん自動設定をオフにして「日付と時刻を手動で設定する」の「変更」から、おおよその日時を合わせてから同期します。
- それでも失敗する場合は、後述の「w32tm」と「同期できない時の切り分け」に進みます。
コントロールパネルの「インターネット時刻」で参照先を変える
コマンドを使わずに、時刻の参照先(時刻サーバー)を変えることもできます。
- 「Win + R」を押し、「timedate.cpl」と入力して「OK」をクリックします。
- 「日付と時刻」ウィンドウの「インターネット時刻」タブを開き、「設定の変更」をクリックします。
- 「インターネット時刻サーバーと同期する」にチェックを入れます。
- 「サーバー」欄に「ntp.nict.jp」と入力し、「今すぐ更新」をクリックします。
- 「OK」をクリックして閉じます。
(注釈:NICTは情報通信研究機構の略で、日本標準時を管理する機関です。そのNTPサーバーは国内から使いやすい参照先です。)
タスクバーの時計や通知領域の設定については、Windows11のタスクバー設定とカスタマイズ方法!位置変更・ピン留め・アイコン非表示・透明化の手順で解説しています。
コマンド(w32tm)で時刻を強制同期する方法
要点:設定アプリで直らない時は、Windows標準の時刻管理ツール「w32tm」を使います。同期の実行、状態の確認、参照先の変更ができます。
(注釈:w32tmは、Windows Timeサービス(時刻同期を管理するWindows内部のプログラム)を操作するためのコマンドです。)
管理者権限でターミナルを開く
w32tmの多くの操作には、管理者権限が必要です。「Win + X」を押して「ターミナル(管理者)」を選びます。管理者権限での起動方法や基本コマンドは、Windows11でコマンドプロンプトを使う方法!管理者権限での起動・基本コマンド一覧・活用術を完全解説で詳しく解説しています。
w32tm /resync:今すぐ同期する
現在の同期設定のまま、今すぐ時刻サーバーに問い合わせて時刻を修正させるための、最も基本のコマンドです。
w32tm /resync
成功すると「コマンドは正しく完了しました」と表示されます。失敗する場合は、ネットワークの接続やサービスの状態、管理者権限で開いているかを確認してください。
w32tm /query /status:同期元と状態を確認する
自分のパソコンがどのサーバーから時刻を取得しているかを知ることは、トラブル調査の第一歩です。
w32tm /query /status
結果の見方は次のとおりです。
- 「ソース」の行に、参照先の名前(例:time.windows.com、ntp.nict.jp)が表示されます。
- 「最後に正常に同期した時刻」で、最後に同期できた日時を確認できます。
- 「ソース」が「Local CMOS Clock」になっている場合は、外部のサーバーと同期できていない目安です。環境によっては「Free-running System Clock」と表示されることもあります。
参照先をNICTなどの国内サーバーに変更する
既定の参照先(time.windows.com)で同期が不安定な場合は、NICTなどの国内サーバーに変更します。次の4行を、上から順に実行します。
w32tm /config /manualpeerlist:"ntp.nict.jp,0x8" /syncfromflags:manual /update
net stop w32time
net start w32time
w32tm /resync /rediscover
- 「/manualpeerlist」には参照先を指定します。複数指定する場合は、全体を引用符で囲み、サーバー名を半角スペースで区切ります。
- 「,0x8」は、クライアントとして問い合わせる指定です。
- 「/reliable:yes」は付けません。この指定はドメインコントローラーでのみ意味を持つ設定で、一般のパソコンには不要です。
- 最後の「/rediscover」は、ネットワーク上の時刻の参照先を探し直してから同期する指定です。
元の参照先に戻したい場合は、ドメインに参加していない通常のパソコンでは、次のように既定値(time.windows.com)を指定します。
w32tm /config /manualpeerlist:"time.windows.com,0x1" /syncfromflags:manual /update
net stop w32time
net start w32time
会社のドメインに参加しているパソコンは、参照先を自分で変えず、後述のFAQにある「domhier」の設定で元に戻します。
Windows Timeサービスを再起動する
設定を変えても反映されない場合や、同期の処理が止まっている場合は、サービスを一度停止してから開始します。
net stop w32time
net start w32time
構成情報が読み直され、止まっていた同期が動き出すことがよくあります。
各コマンドの使い分け
| コマンド | 主な機能 | 使う場面 |
|---|---|---|
| w32tm /resync | 今すぐ同期を実行 | 時計のずれをすぐに直したい時 |
| w32tm /query /status | 現在の同期状態を確認 | 同期元や、最後に同期できた時刻を知りたい時 |
| w32tm /config | 同期先サーバーの変更 | 参照先をNICTなどに変えたい時 |
| w32tm /stripchart | サーバーとのずれを計測して表示 | 実際のずれを数値で見たい時 |
| net stop / net start w32time | サービスの停止と開始 | 設定を反映させたい時、エラーでリセットしたい時 |
同期できない時の原因を切り分ける手順
要点:同期に失敗する原因の多くは、サービスの停止、ネットワーク(UDP 123番)の遮断、ずれの大きさのいずれかです。上から順に確認してください。
1. Windows Timeサービスが動いているか確認する
- 「Win + R」を押し、「services.msc」と入力して「OK」をクリックします。
- 一覧から「Windows Time」を探し、状態が「実行中」になっているか確認します。
- 停止している場合は、右クリックして「開始」を選びます。
2. ネットワークとUDP 123番ポートを確認する
NTP(注釈:インターネット経由で正確な時刻を配信する通信の決まり)は、UDPの123番ポートで通信します。会社や学校のネットワーク、ルーターの設定でこの通信が遮断されていると、時刻サーバーに届きません。
別のネットワーク(スマートフォンのテザリングなど)に接続して同期できるかを試すと、ネットワーク側の原因かどうかを切り分けられます。ネットワークの設定全般は、Windows11のネットワーク設定方法!Wi-Fi・有線LAN・IPアドレス・VPN・共有の完全ガイドを参照してください。
3. ずれが大きすぎないか確認する
Windows Timeサービスには、一度に補正できる時間差の上限があります。ずれがこれを超えていると、自動では補正されない場合があります。設定アプリで、おおよその日時を手動で合わせてから同期し直してください。
4. イベントビューアーで原因を確認する
- 「Win + X」を押して「イベントビューアー」を開きます。
- 「Windowsログ」の「システム」を開きます。
- ソースが「Time-Service」(古い資料では「W32Time」)のイベントを探します。
名前解決の失敗、ネットワークに接続できない、サービスの異常などの原因が、イベントとして記録されていることがあります。イベントログの見方は、Windows イベントログ徹底解説:トラブル解決の鍵で解説しています。
5. Windows Timeサービスを再登録する
サービスの構成が壊れている可能性がある場合は、次の4行を管理者権限で上から順に実行し、再登録します。
net stop w32time
w32tm /unregister
w32tm /register
net start w32time
再登録後は、設定アプリで「今すぐ同期」を実行して、同期できるか確認します。
電源を切ると日付が戻る!CMOS電池の劣化を疑う
要点:電源を完全に切ったあとに日付や時刻が戻る場合は、同期の問題ではなく、マザーボードのCMOS電池の劣化が原因のことがあります。
CMOS電池とは
CMOS電池は、パソコンの電源が切れている間も、日付と時刻、BIOS(UEFI)の設定を保持するためのボタン電池です。(注釈:BIOS・UEFIとは、Windowsが起動する前にパソコンの基本設定を行うための仕組みです。)
この電池が劣化すると、電源を切るたびに時計がリセットされたり、BIOSの設定が初期化されたりします。
CMOS電池を疑うサイン
- 電源ケーブルを抜く、または完全にシャットダウンして時間が経つと、日付が大きく戻っている
- 時刻を直しても、次に電源を入れた時にまた元に戻っている
- 起動時に、BIOSの設定が初期化された旨のメッセージが出る(機種によります)
- 使い始めてから数年が経過している
確認する方法は、BIOS(UEFI)の画面を開くことです。起動直後に、機種ごとに決まったキー(DeleteキーやF2キーなど)を押すと開けます。そこに表示される日付と時刻が狂っていれば、Windowsの同期とは別の問題が考えられます。
交換の流れ
- パソコンをシャットダウンし、電源ケーブルを抜きます(ノートPCはACアダプターも外します)。
- 金属部分に触れて静電気を逃がしてから、ケースを開けます。
- マザーボード上のボタン電池を確認します。多くの機種で「CR2032」が使われていますが、型番は本体の電池に書かれたものを確認してください。
- 新しい電池に交換します。
- 電源を入れ、BIOS(UEFI)の画面で日付と時刻を設定します。
- Windowsを起動し、設定アプリで「今すぐ同期」を実行します。
ノートPCやメーカー製のパソコンは、分解すると保証の対象外になる場合があります。自分で交換せず、メーカーのサポートに相談してください。
電源トラブルや強制終了を繰り返している場合は、Windows11の電源が切れない・シャットダウンできない原因と解決方法!強制終了・更新・フリーズ別の対処法や、Windows 11でパソコンを強制終了する方法とフリーズ対策も参考にしてください。
設定では直らない時の3つの独自視点
要点:同期の設定を整えても直らない、または一度直ってもすぐ戻る場合は、次の3つの視点で原因を見直してください。いずれも、公式ドキュメントや仕様で確認できる内容です。
1. Linuxとのデュアルブートで、ちょうど9時間ずれる
パソコンの内部には、電源が切れていても時を刻むハードウェアクロックがあります。Windowsはこのクロックを「ローカル時間(日本の時刻)」として扱います。一方、多くのLinuxは「世界協定時(UTC)」として扱います。
そのため、同じパソコンでWindowsとLinuxを切り替えて使うと、日本ではちょうど9時間ずれます。
対処は2通りあります。
Windows側を、ハードウェアクロックを世界協定時として扱う設定にする方法です。この方法はレジストリを編集します。作業前に、Windows11で復元ポイントを作成する方法!システム復元の手順・有効化・失敗時の対処法で復元ポイントを作成しておくと安心です。
- 「Win + R」を押し、「regedit」と入力してレジストリエディターを開きます。
- 次の場所に移動します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation - 右側の空白で右クリックし、「新規」>「DWORD (32ビット) 値」を選びます。
- 名前を「RealTimeIsUniversal」とし、値のデータを「1」にします。
- パソコンを再起動し、設定アプリで「今すぐ同期」を実行します。
もう一つは、Linux側を、ハードウェアクロックをローカル時間として扱う設定にする方法です。多くのLinuxでは、次のコマンドで切り替えられます。
timedatectl set-local-rtc 1 --adjust-system-clock
どちらか一方を選び、WindowsとLinuxで解釈をそろえてください。
2. w32tm /stripchartで「本当のずれ」を数値で測る
時計が合っているかどうかを目で見て判断するのは難しいものです。w32tmの「stripchart」を使うと、サーバーとの時刻差を秒単位で確認できます。
w32tm /stripchart /computer:ntp.nict.jp /samples:5 /dataonly
「/samples:5」は5回計測する指定で、「/dataonly」はグラフを描かず数値のみを表示する指定です。各行の秒数が、そのサーバーとの時刻差(オフセット)を表します。
同期の前後で実行して、ずれが縮まっているかを確認すると、「同期できたつもりで直っていない」状態を見抜けます。
3. 仮想マシンでは、ホストとの時刻同期機能と競合する
仮想マシン(注釈:1台のパソコンの中で動かす、仮想のパソコン)では、仮想化ソフトが用意する「ホストとの時刻同期」の機能と、Windows自身の時刻同期が同時に働くことがあります。
両者が競合すると、時刻が直っては戻ることを繰り返す場合があります。仮想化ソフトの設定でホストとの時刻同期をオフにするか、反対にWindows側の同期を止めるかのいずれかで、時刻の管理元を1つに統一してください。
Windows11の時刻同期に関するよくある質問
「今すぐ同期」がグレーアウトする、またはエラーになる時は?
まず、「時刻を自動的に設定する」を一度オフにしてからオンに戻します。それでも直らない場合は、「services.msc」でWindows Timeサービスが実行中か確認し、管理者権限のターミナルで「w32tm /resync」を実行してください。ネットワークでUDP 123番が遮断されている可能性もあるため、別のネットワークでも試してください。
「サービスが開始されていません」と表示される時は?
w32tmコマンドは、Windows Timeサービスが動いていることが前提です。「net start w32time」を実行してから、もう一度同期を試してください。それでも開始できない場合は、サービスの構成が壊れている可能性があります。本記事の「Windows Timeサービスを再登録する」の手順を試してください。
ドメインに参加しているのに同期に失敗します
ドメイン環境では、通常、クライアントはドメインコントローラーから階層構造をたどって時刻を取得します。次のコマンドで、階層構造から同期する設定に戻してください。
w32tm /config /syncfromflags:domhier /update
net stop w32time
net start w32time
外部のNTPサーバーを自分で指定すると、ドメインの時刻の階層が崩れ、サインインエラーの原因になることがあります。会社のパソコンの設定は、管理者に確認してから変更してください。
時刻を直しても、またずれる時は?
直したのにまた戻る場合は、原因が同期以外にあることが多いです。次の順に確認してください。
- 電源を完全に切ったあとに戻る場合:CMOS電池の劣化
- ちょうど数時間ずれる場合:タイムゾーンの設定、またはLinuxとのデュアルブート
- 仮想マシンの中の場合:ホストとの時刻同期との競合
まとめ:原因を切り分ければ時刻のずれは直せる
Windows11の日付・時刻のずれは、症状から原因を絞れば、ほとんどの場合は自分で直せます。
- まずは設定アプリで「時刻を自動的に設定する」をオンにし、「今すぐ同期」を実行します。
- 直らない時は、管理者権限のターミナルで「w32tm /resync」を実行し、「w32tm /query /status」で同期元を確認します。
- 参照先が原因ならNICTなどに変更し、「/reliable:yes」は付けません。
- 電源を切ると戻る場合はCMOS電池、ちょうど数時間ずれる場合はタイムゾーンやデュアルブートを疑います。
- 直しても戻る場合は、仮想マシンのホスト同期との競合も確認します。
正しい時刻は、証明書の確認やサインインを支える、目に見えない基盤です。早めに原因を切り分けて、不具合を防ぎましょう。
タスクバーの時計の設定や、トラブル時の調査に役立つ情報は、以下の関連記事もあわせてご覧ください。
公式サイト・参考リンク
- Microsoft Learn:Windows Time service tools and settings
- NICT(情報通信研究機構):NTPサービスのページ