LinuxのデュアルブートでWindowsの時間が狂ってしまった?修正する方法はこちら

あなたのような読者が、MUOを支えています。当サイトのリンクを使って購入された場合、アフィリエイト報酬を得ることがあります。続きを読む

Windowsと一緒にLinuxをデュアルブートしようとしたら、タイムトラベルの実験に失敗してしまったという経験はないでしょうか?昼間にWindowsを起動したら、突然、時計がもう夜だと告げている。

これは、ほとんどすべてのWindowsとLinuxのデュアルブートシステムで繰り返される迷惑行為です。なぜこのような現象が起こるのか、そしてこの奇妙な時間の問題を解決して現在の日付と時間に戻る方法を学びましょう。

なぜLinuxのデュアルブートでWindowsの時間が狂ってしまうのか?

CMOS battery on motherboard

この問題の本質は、両者のOSがハードウェアクロックをどのように管理しているかにある。

ハードウェアクロックは、コンピュータのマザーボードにある物理的なセグメントで、時刻を管理する役割を担っています。CMOS電池で駆動し、実行中のオペレーティングシステムのカーネルによって管理されています。オペレーティングシステムによって、このクロックの管理方法は異なります。

Linuxはハードウェアクロックを協定世界時(UTC)に設定しますが、Windowsはハードウェアクロックが現在地から得られるローカルタイムをすでに使用していると仮定しています。

この2つのシステムをデュアルブートした場合、LinuxはハードウェアクロックをUTCに設定しても、UTCとローカルタイムとの時差を計算し、OSクロックにオフセットを内部設定するため、正しい時間を提供し続けます。

しかし、Windowsはハードウェアクロック'のタイムゾーンの変化に気づかず、縛られることもなく、ハードウェアクロックから時刻を読み込んでローカルタイムとして表示し続けます。

これを解決するには、ハードウェアクロックとOSクロックのどちらを扱うか、両者のOSが一致しているように設定する必要があります。

Linuxをデュアルブートした後、Windowsが不正な時刻を表示するのを修正する3つの方法について説明します。

これらの方法は1つだけ使用し、組み合わせないようにする必要があります。

1.Linuxがハードウェアクロックにローカルタイムを使用するようにする

using timedatectl command to change rtc time

前述したように、この問題は、LinuxがハードウェアクロックをUTCに設定するために発生します。Windowsの不正確な時刻表示を修正する最も簡単な方法は、Linuxがハードウェアクロック(別名、リアルタイムクロック(RTC))をローカルタイムに設定するように設定することである。

Windowsはシステムクロックからローカルタイムを取得し、それを表示することで問題を解決することができます。ここでは、LinuxでRTCにローカルタイムを使用するように設定する方法を説明します:

  • 新しいターミナルウィンドウを起動します。
  • timedatectlコマンドを使用して、RTCがローカルタイムを使用するように設定します。sudoプレフィックスを付けて次のコマンドを実行します。
  • 手動でシステムを再起動するか、rebootと入力します。
  • 以上で、Linuxでローカルタイムを使用するために必要なハードウェアクロックの設定は完了です。

    変更を戻すには、"1″を"0″に変更するという小さな編集を加えた同じコマンドを入力するだけです。これは、デュアルブート時の時間の不一致の問題を解決する最も簡単な方法です。

    2.インターネットから時刻を自動同期するようにWindowsを設定する

    time and date settings in Windows

    前回の方法で、時間の問題はすべて解決したはずです。それでも解決しなかった場合は、Linuxを再起動することなく、Windowsの時間を修正する方法を紹介します。

    WindowsとLinuxには、システムの時刻をオンラインのタイムサーバーと同期させる自動時刻同期機能が搭載されています。以下は、自動時刻同期をオンにするための手順です:

  • タスクバーの時刻が表示されている右下を右クリックします。
  • ポップアップするメニューから、「日付と時刻の調整」をクリックします。または、設定>時間&を開くこともできます。言語 > 日付 &時間を設定します。
  • タイムゾーンが正しくない場合は正しいタイムゾーンを設定し、スライダーをクリックして「自動的に時刻を設定する」をオンにし、「今すぐ同期する」をクリックして設定を確定します。これで、時刻が現地時刻に変更されたことが確認できるはずです。これで設定画面を閉じて、より良いことに集中することができます。
  • 以上、Linuxのデュアルブートで乱れたWindowsの時間を修正するための手順をご紹介しました。

    3.WindowsがハードウェアクロックにUTC時刻を使用するようにする

    editing Windows registry to fix incorrect time

    前述したように、Windowsはハードウェアクロックがローカルタイムに設定されていると仮定し、わざわざローカルタイムに再度変換することは冗長であるため行わない。

    この問題を解決するには、Windowsにハードウェアクロックを設定し、UTCに設定することで、WindowsがハードウェアクロックのUTCを強制的にローカルタイムに変換するように設定します。

    この方法はより複雑なため、他の2つの方法を試してみてから、この方法を実行することをお勧めします。もし、前の2つの解決策が両方とも失敗した場合は、以下の手順を実行してください:

  • 検索バーまたはWin Rショートカットを使用して、Windowsの「ファイル名を指定して実行」ダイアログボックスを起動し、「regedit」と入力します。
  • Windowsレジストリエディタを開き、次の場所に移動します:HKEY_LOCAL_MACHINE」「SYSTEM」「CurrentControlSet」「Control」「TimeZoneInformation」。
  • 空欄を右クリックして、「新規作成」をクリックし、新しいQ-WORD(64ビット)値のエントリーを追加して、RealTimeisUniversalという名前をつけます。32ビット版のWindowsをお使いの場合は、代わりにD-WORD(32ビット)エントリーを追加する必要があります。
  • エントリーが追加されたら、それをダブルクリックして、値を1に設定し、システムを再起動します。
  • これにより、WindowsはハードウェアクロックをUTCに設定し、UTCをローカルタイムに変換することで、正しい時刻と日付を表示します。

    現在に戻る:デュアルブートセットアップでWindowsが不正な時刻を表示する問題を修正しました!

    WindowsとLinuxのバージョンに関係なく、デュアルブート時に時刻が正しく表示されないことは、デュアルブートユーザーに共通する問題です。

    不要なタイムトラベルは、トラブルや恥ずかしさを引き起こしますが、3つの方法でこの問題に取り組む方法がわかりました。

    この問題の犯人は、一般的にLinuxとWindowsの計時方法に関する考え方にありますが、時には、ハードウェアの故障やシステム上の隠れたマルウェアなどのセキュリティ問題の兆候であることもあります。

    万が一、これらのデュアルブート対応の修正が効かない場合は、ハードウェアの健全性をチェックしたり、システム上のマルウェアの痕跡を調査したりすることを検討してください。

    Scroll to Top