Windowsとリナックス環境を併用しているビジネスマンの方で、時間がずれて困った経験はありませんか。
この時間のズレは、OSがシステムのハードウェアクロックを認識する方法が異なるために発生します。
この記事では、Windowsのシステム同期設定を調整し、リナックス環境との間の時間のズレを修正する手順を詳しく解説します。
【要点】Windowsとリナックス環境の時間のズレを解消する方法
- レジストリのバックアップ: 万が一に備え、レジストリ変更前に必ずバックアップを取得します。
- レジストリ編集: WindowsがハードウェアクロックをUTCとして認識するよう設定を変更します。
- タイムサーバーの同期設定: Windowsの時刻設定でNTPサーバーとの同期状況を確認し、必要に応じて調整します。
ADVERTISEMENT
目次
Windowsとリナックスで時間がずれる根本原因
Windowsはシステムのハードウェアクロックをローカル時刻として扱います。
一方、多くのリナックスディストリビューションは、ハードウェアクロックを協定世界時UTCとして扱います。
このOS間でのハードウェアクロックの認識方法の違いが、デュアルブート環境やWSL環境で時間のズレを引き起こす主な理由です。
Windowsがサマータイムを自動的に考慮する点も、時間のズレに影響を与える要因となります。
Windowsのシステム同期設定を調整する手順
ここでは、Windowsのレジストリを編集してハードウェアクロックの扱いを変更し、タイムサーバーの同期設定を確認する手順を説明します。
- レジストリのバックアップを取得する
レジストリの編集はシステムに影響を与える可能性があるため、必ず事前にバックアップを取得してください。
1. WindowsキーとRキーを同時に押し、「ファイル名を指定して実行」ダイアログを開きます。
2. 「regedit」と入力し、Enterキーを押してレジストリエディターを起動します。
3. ユーザーアカウント制御のダイアログが表示されたら、「はい」を選択します。
4. レジストリエディターのメニューバーから「ファイル」を選択し、「エクスポート」をクリックします。
5. 「エクスポート範囲」で「すべて」を選択し、任意の場所に分かりやすい名前で保存します。 - WindowsにハードウェアクロックをUTCとして認識させる
WindowsがハードウェアクロックをUTCとして扱うようにレジストリを設定します。
1. レジストリエディターで、次のパスに移動します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
2. TimeZoneInformationキーを右クリックし、「新規」から「DWORD 値 32ビット」を選択します。
Windows 64ビット環境でも「DWORD 値 32ビット」を選択します。ただし、Windows Server環境など特定のシステムでは「QWORD 値 64ビット」を選択する場合があります。
3. 新しく作成された値の名前を「RealTimeIsUniversal」に変更します。
4. 「RealTimeIsUniversal」をダブルクリックし、「値のデータ」を「1」に設定して「OK」をクリックします。 - タイムサーバーの同期設定を確認する
Windowsの時刻設定でNTPサーバーとの同期状況を確認します。
1. 「スタート」ボタンを右クリックし、「設定」を選択します。
2. 設定画面の左側メニューから「時刻と言語」をクリックし、次に「日付と時刻」を選択します。
3. 「時刻を自動的に設定」が「オン」になっていることを確認します。
4. 「タイムゾーンを自動的に設定」も「オン」になっていることを確認します。
5. 「今すぐ同期」ボタンをクリックして、手動で時刻同期を試みます。
6. Windows 10の場合は、「設定」→「時刻と言語」→「日付と時刻」で「関連設定」の「別のタイムゾーンの時計を追加する」から「日付と時刻」タブを開き、「インターネット時刻」タブで「設定の変更」から同期サーバーを確認・変更できます。 - システムを再起動する
レジストリの変更と時刻同期の設定をシステムに適用するため、PCを再起動します。
時間のズレが解消されない場合の確認点と対処
上記の手順を実行しても時間のズレが解消されない場合、以下の点を確認してください。
レジストリ編集後に時間がさらにずれてしまう
レジストリの「RealTimeIsUniversal」値を「1」に設定したにもかかわらず、時間がさらにずれてしまう場合があります。
これは、レジストリ値の設定ミスか、リナックス側もハードウェアクロックをローカルタイムとして扱う設定になっていることが原因です。
レジストリエディターで「RealTimeIsUniversal」の値が正しく「1」になっているか再確認してください。
また、リナックス環境の設定ファイル、例えばUbuntuであれば/etc/default/rcSや/etc/adjtimeなどで、UTC=yesまたはLOCAL=noが設定されているかを確認し、ハードウェアクロックがUTCとして扱われていることを確認してください。
Windows Update後に設定が元に戻る
ごく稀に、特定のWindows Updateが適用された後にレジストリの設定がリセットされ、時間のズレが再発する場合があります。
この場合は、再度「WindowsにハードウェアクロックをUTCとして認識させる」の手順を実行し、レジストリ値を設定し直してください。
定期的に設定が維持されているか確認することをおすすめします。
WSL2環境で時間がずれる場合の追加設定
WSL2は仮想マシンとして動作するため、Windowsのシステム時刻と同期させるための追加設定が必要な場合があります。
WSL2のディストリビューション内でNTPクライアントの設定を調整することで、時間のズレを抑制できます。
例えば、Ubuntuであればsudo apt update && sudo apt install ntpでNTPデーモンをインストールし、/etc/ntp.confを編集して同期サーバーを設定することが考えられます。
また、Windowsの管理者PowerShellでwsl --shutdownを実行し、WSL環境を一度完全にシャットダウンしてから再起動すると、時刻が同期されることがあります。
ADVERTISEMENT
Windowsとリナックスの時刻認識方法の比較
Windowsとリナックスの時刻認識方法の違いを以下の表にまとめました。
| 項目 | Windows | リナックス |
|---|---|---|
| ハードウェアクロックの扱い | デフォルトでローカルタイムとして認識 | デフォルトでUTC協定世界時として認識 |
| デフォルトの同期設定 | NTPサーバーと同期し、ローカルタイムを調整 | NTPサーバーと同期し、UTCを調整 |
| サマータイムの考慮 | システムのタイムゾーン設定に基づいて自動的に調整 | タイムゾーン設定に基づいてUTCからローカルタイムを算出 |
この記事で解説したWindowsのレジストリ設定とNTP同期設定の調整により、Windowsとリナックス環境間の時間のズレを修正できます。
時間の正確な同期は、業務アプリケーションの正常動作やログの整合性を維持するために不可欠です。
本記事の手順を活用し、Windowsとリナックス環境における時間のズレを解消し、よりスムーズで正確な作業環境を構築してください。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Windows・PCの人気記事ランキング
- 【Edge】起動時や新しいタブを「Google」にする設定!ニュースを消してシンプルにする方法
- 【直し方】F7でカタカナにならない!ファンクションキーが効かず音量などが変わる時のFnロック解除法
- 【Windows】サブモニターが映らない!HDMIを挿しても「信号なし」になる時の認識・設定手順
- 【Windows】画面がチカチカ・点滅する!グラフィックドライバの更新と設定の見直し
- 【Windows】パスワードなしで起動!PIN入力を省略して自動ログイン(サインイン)させる設定手順
- 【Windows】デスクトップのアイコンが「白い紙」になった!アイコンキャッシュを削除して元に戻すコマンド
- 【PC周辺】2台のモニターで壁紙を「別々」にする方法!Windows11での配置と調整
- 【Windows】デスクトップアイコンの「緑のチェック」は何?OneDriveの同期マークを非表示にする方法
- Windows 11を極限まで軽量化する「不要な標準サービス」停止リスト|PCの動作を爆速化する設定手順とリスク管理の全貌
- 【Windows】Cドライブが赤い!空き容量不足を解消して数GBを一瞬で空ける4つの最強クリーンアップ術
