Windows Server 2022で時刻がAMに戻る問題を徹底対策

サーバーを再起動するたびに時刻が勝手にAMに戻ってしまうと、業務アプリケーションのログに誤差が生じたり、バッチジョブの実行タイミングが崩れたりと、システム全体に大きな影響を及ぼします。そこで本記事では、Windows Server 2022で発生する時刻がAMに戻る不具合を徹底的に解説し、具体的な対策や検証の手順を豊富にご紹介します。

目次

Windows Server 2022へのアップグレードで発生する時刻リセット問題とは

Windows Server 2022にアップグレードした直後から、サーバーを再起動するたびに時刻がPMからAMへ勝手に戻ってしまう現象に悩まされるケースが報告されています。以前のWindows Server 2008やWindows Server 2012では特に問題がなかったにもかかわらず、2022に移行すると急に症状が出てくるため、原因追及が難航しがちです。サーバーの時刻はログの整合性やアプリケーションの動作、セキュリティ関連のイベント管理など、多岐にわたって影響を及ぼします。そのため、早急にトラブルシューティングし、安定した時刻管理を実現することが重要です。

よくある原因と注意点

時刻が狂う理由としては、NTPサーバーとの同期障害、Windows Timeサービスの設定不備、ドメイン環境における時刻同期の競合、BIOS/UEFIバッテリー切れなど多岐にわたります。特にアップグレード直後に発生する場合は、旧環境の設定を引き継いだ影響や、OSのバージョン固有のバグによる可能性も無視できません。まずは原因となりそうな要因をひとつひとつ洗い出し、体系的に確認していくことが重要です。

Windows Timeサービス(w32time)の確認と再設定

Windows Serverで時刻を扱う上で最も重要な役割を果たすのが「Windows Timeサービス(w32time)」です。まずは下記のポイントをチェックしましょう。

サービスの起動状態とスタートアップの種類

Windows Timeサービスが正しく動作していない場合、サーバー時刻の同期が正常に行われない可能性があります。以下の手順で確認できます:

PS C:\> Get-Service w32time

上記のコマンドで表示される「Status」がRunning、かつ「StartType」がAutomaticになっていることが望ましい状態です。もしStoppedになっていたり、自動起動が無効化されている場合は修正しましょう。

サービスの再起動を試す

一時的な不具合の場合、サービスの再起動で改善するケースがあります。管理者権限のコマンドプロンプトやPowerShellで以下を実行してください:

net stop w32time
net start w32time

または

Restart-Service w32time

とすることで、サービスを再起動できます。これによって時刻同期が復旧する場合もあります。

NTP同期設定の見直し

Windows ServerがどのNTPサーバーと同期しているかを確認し、適切なサーバーに変更することも対策のひとつです。

NTPサーバーの確認方法

以下のコマンドで、現在どのNTPサーバーと同期しているかを確認できます:

w32tm /query /status

表示される「Source」がNTPサーバーのホスト名あるいはドメインコントローラー名になっているはずです。「Source」が不明な文字列や予期しないIPアドレスの場合、信頼できるNTPサーバー(例: time.windows.com など)を指定し直す必要があります。

NTPサーバー変更例

以下のコマンドでNTPサーバーを再設定し、その後同期を再起動できます:

w32tm /config /manualpeerlist:"time.windows.com,0x9" /syncfromflags:manual /reliable:yes /update
net stop w32time
net start w32time
w32tm /resync

"time.windows.com,0x9"の部分を社内のNTPサーバーや別の信頼できる時刻ソースに変更しても構いません。

ドメイン参加状況と時刻同期の関係

Active Directoryドメインに参加しているWindows Serverは、ドメインコントローラー(特にPDCエミュレーター)と自動で同期する仕組みを持っています。時刻が正常に動作しない場合、ドメインコントローラー側の時刻設定やハードウェア時計に問題があるかもしれません。

PDCエミュレーターの確認

Active Directory環境では、PDCエミュレーターがドメイン全体の“時刻の正”を提供する重要な役割を担っています。もしPDCエミュレーターが正常なNTPサーバーに同期していなければ、ドメイン内のすべてのクライアントやメンバーサーバーに影響が及ぶ可能性があります。以下のコマンドで役割を持ったドメインコントローラーを確認できます:

netdom query fsmo

表示されたPDCエミュレーターがどのNTPサーバーと同期しているか、またWindows Timeサービスが正しく設定されているかを再チェックしましょう。

BIOS/UEFIファームウェアとドライバー更新

再起動時にAMに時刻が戻ってしまうトラブルの一因として、マザーボードのBIOSやUEFIの設定不備、古いドライバーによる不具合が考えられます。

BIOS/UEFI設定の確認

サーバーの再起動時にハードウェアレベルで時刻がリセットされている可能性があります。UEFI画面でシステム時刻を確認し、OSの時刻とどのように連動しているかをチェックしてください。

時刻が初期化される原因

  • CMOSバッテリーの劣化や消耗
  • BIOSバグや設定の誤り
  • サーバー製造元が提供している特殊な時刻管理ユーティリティの不具合

もし数年前の状態から一度もファームウェアアップデートを行っていない場合は、サーバーベンダーのサイトから最新BIOSを入手し、リリースノートを確認して不具合修正情報があるかを探してみましょう。

イベントログを使ったトラブルシューティング

Windows Serverのイベントログには、時刻同期が失敗した記録や、サービスが正しく起動しなかった原因など、貴重な情報が含まれています。

イベントビューアーの活用

「イベントビューアー」→「Windowsログ」→「システム」の順で開き、w32timeに関連するイベントやエラーを確認します。具体的には以下のイベントIDが参考になります:

イベントID内容
129NtpClientがNTPサーバーへ接続できない
131同期が一時的に解除された
134ローカルコンピューターのクロックが同期から外れた
144ローカルコンピューターが同期を開始した
47Windows Time Serviceに関する警告

これらのイベントが頻繁に出ている場合、同期先NTPサーバーとの通信障害や設定の誤り、あるいはネットワークの問題が疑われます。

グループポリシーの影響

ドメイン環境下では、グループポリシーによってサーバーの時刻設定が上書きされる可能性があります。ローカル設定を何度変更しても、GPOが優先されていればすぐに上書きされてしまうため要注意です。

競合するポリシーの調査

グループポリシー管理コンソール(gpmc.msc)を開き、ドメイン全体のポリシーでComputer Configuration\Policies\Administrative Templates\System\Windows Time Serviceなどに独自設定が行われていないか確認します。必要に応じて、gpresult /h report.htmlを用いてポリシーの適用状況を可視化するのも効果的です。

セーフモードでの起動テスト

原因を切り分けるために、セーフモード(ネットワークあり)でサーバーを起動して再現性をチェックする方法があります。セーフモードでは最低限のドライバーとサービスしか起動しないため、サードパーティ製のアプリケーションやドライバーが時刻に悪影響を及ぼしているかどうか確認しやすくなります。

セーフモード(ネットワークあり)での手順

  1. システム構成(msconfig)からブートオプションに入り、「セーフブート」を有効にし「ネットワーク」を選択
  2. 再起動後、同じくw32tmコマンドで時刻がずれていないか確認
  3. AMに戻る症状が出ない場合、通常モードに戻して問題のアプリやドライバーを特定する

タイムゾーンと夏時間(サマータイム)設定の確認

意外と見落としがちなのが、タイムゾーンの設定と夏時間(サマータイム)です。OS側でタイムゾーンが誤っていると、時刻表示がズレて見えることがあります。特に海外拠点のサーバーや、海外に本社があるグローバル企業では日本時間とUTCや現地時間の管理が混在し、想定外のリセットが起こりやすいです。

タイムゾーンの変更コマンド例

PowerShellでタイムゾーンを確認・変更する場合は以下のコマンドを使用できます:

Get-TimeZone
Set-TimeZone -Name "Tokyo Standard Time"

もし夏時間が利用される地域であれば、OSがサマータイムの切り替えを自動管理していることを確認してください。

ハードウェアのCMOSバッテリーをチェック

CMOSバッテリーが劣化していると、再起動時にBIOS上の時刻が初期値にリセットされてしまうことがあります。高温多湿な環境や長期間交換されていないサーバーでは、意外とこの単純な物理要因が原因ということも少なくありません。

バッテリー交換の手順

サーバーの機種や形状によって異なりますが、多くはCR2032などのコイン形リチウム電池がマザーボード上に装着されています。交換手順は以下の流れが一般的です:

  1. サーバーのシャットダウンと電源ケーブルの抜去
  2. ケースを開けて電池を取り外す
  3. 新しい電池と入れ替える(+極、-極の向きに注意)
  4. BIOS設定で時刻を再設定し、正常に保持されるか確認

Windows Server 2022固有の既知の不具合やパッチの確認

Windows Serverは新しいバージョンがリリースされて間もないころ、予期せぬバグや未解決の既知の不具合が潜んでいる可能性があります。Microsoftの公式サイトやサポートで以下の情報を定期的に確認しましょう。

Updateカタログとサポート情報

特に「KB(ナレッジベース番号)」が付いた修正パッチがリリースされている場合は、適用することで不具合が解消するケースがあります。

クリーンインストールの検討

アップグレードインストールを行った場合、旧OSの設定やレジストリ情報が何らかの形で競合を引き起こす可能性も否定できません。どうしても問題が解決しない場合、サーバーリソースに余裕があれば新規インストール(クリーンインストール)を検討してみるのも手段の一つです。

クリーンインストール時のポイント

  1. サーバー役割(Active Directory、DNS、DHCP、ファイルサーバー等)のバックアップと移行計画
  2. データディスクやユーザープロファイルのバックアップ
  3. 可能であればテスト環境で再現し、問題が起きないか確認

手間やコストはかかりますが、アップグレード由来の不具合を根本的に排除できるメリットがあります。

実運用上のポイントと追加のヒント

ここまで解説した基本的な手順に加えて、運用担当者が押さえておくと便利なヒントをいくつかご紹介します。

ログ取得とバッチ処理の再点検

時刻リセットが起こると、アプリケーションログのタイムスタンプが矛盾したり、バッチ処理の開始・終了時間が前後するなどのトラブルが発生します。重要な業務ログが破損したり、監査ログが正しいかどうか不明瞭になると大きなリスクにつながります。

  • ログのバックアップ頻度を見直す
  • バッチ処理で時刻依存を極力減らす
  • 時刻が重要な処理(例えば証明書の有効期限チェック等)の動作確認

PowerShellスクリプトでの自動監視

定期的に時刻のズレを監視し、異常を検知したらメール通知する仕組みを作ることで、問題が表面化する前に対処できるようになります。以下のようなサンプルスクリプトをタスクスケジューラから定期実行するのも一案です。

# timeCheck.ps1

# 設定したいNTPサーバー
$NtpServer = "time.windows.com"

# 現在のNTP同期状況を確認
$w32Status = w32tm /query /status
if ($w32Status -notmatch $NtpServer) {
    # もし同期先が異なる場合は再設定を試みる
    w32tm /config /manualpeerlist:$NtpServer /syncfromflags:manual /reliable:yes /update
    Restart-Service w32time
    w32tm /resync
    # ここでメール通知やイベントログ書き込み等ができる
}

まとめ: 総合的なアプローチで安定稼働を実現

Windows Server 2022の時刻リセット問題は、一見すると単純なようでいて、OSの設定やドメイン環境、ハードウェアの状態など、多くの要因が複雑に絡み合って発生することがあります。トラブルシューティングでは以下のステップを繰り返しながら原因を絞り込み、根本的に対策を講じることが肝要です。

  1. Windows Timeサービスの確認・再起動
  2. NTPサーバーと同期先の検証
  3. ドメインコントローラー(PDCエミュレーター)設定の再確認
  4. BIOS/UEFIアップデートとCMOSバッテリー交換
  5. イベントログとグループポリシーの競合チェック
  6. セーフモードやクリーンインストールでの切り分け
  7. Microsoft公式サイトの既知不具合やパッチ情報の収集

状況によってはサードパーティ製のセキュリティソフトやバックアップソフトが、Windows Timeサービスと競合している可能性もあります。実際の運用では、時刻同期に対する重要度を常に意識し、問題が発生したらすぐに対処できる体制を整えておくことが、システムの信頼性向上につながります。

最後に、本記事で紹介した手法やポイントを活用し、Windows Server 2022を安定稼働させていただければ幸いです。何らかの特異な現象や最新のパッチで変化した点などが見つかった場合は、公式ドキュメントやコミュニティフォーラムを逐次確認しつつ、情報をアップデートして対応するようにしましょう。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次