その他のLinuxディストリビューションを 場合、2つのオペレーティングシステム間の時間差に気づくかもしれません。
正しい時間が表示されます。しかし、Windowsに切り替えると、間違った時刻が表示されます。時々、状況は逆転し、Linuxは間違った時刻を表示し、Windowsは正しい時刻を表示します。
特におかしいのは、インターネットに接続しており、日付と時刻が自動的に使用されるように設定されている場合です。
ご心配なく!この問題を経験しているのはあなただけではありません。Linuxターミナルで以下のコマンドを使用することで、この問題を解決することができます:
timedatectl set-local-rtc 1
繰り返しますが、ご心配なく。デュアルブートセットアップでタイムエラーが発生する理由を説明します。上記のコマンドでWindowsデュアルブート後のタイムエラー問題を解決する方法をお見せします。
デュアルブートでWindowsとLinuxが異なる時間を表示するのはなぜですか?
コンピュータには、システムクロックとハードウェアクロックの2つの主要なクロックがあります。
ハードウェアクロックは、RTC(リアルタイムクロック)またはCMOS/BIOSクロックとも呼ばれます。このクロックはオペレーティングシステムの外側、コンピュータのマザーボード上にあります。システムの電源を切っても動き続けます。
システムクロックは、オペレーティングシステム内で表示されるものです。
コンピュータの電源を入れると、ハードウェアクロックが読み込まれ、システムクロックの設定に使用されます。その後、システムクロックは時刻の管理に使用されます。タイムゾーンの変更など、オペレーティングシステムがシステムクロックに変更を加えると、この情報をハードウェアクロックに同期させようとします。
デフォルトでは、Linuxはハードウェアクロックに保存されている時刻をローカルタイムではなくUTCとみなします。一方、Windowsはハードウェアクロックに保存されている時刻をローカルタイムとみなします。問題はここから始まります。
例を挙げて説明しましょう。
私はコルカタのUTC+5:30のタイムゾーンにいます。インストール後、 Ubuntuのタイムゾーンを コルカタのタイムゾーンに設定すると、Ubuntuはこの時間情報をハードウェアクロックに同期させますが、LinuxではUTCでなければならないため、5:30のオフセットがあります。
コルカタのタイムゾーンの現在時刻が15:00だとすると、UTC時間は09:30ということになります。
システムをシャットダウンしてWindowsを起動すると、ハードウェアクロックにはUTC時刻が表示されています。しかし、Windowsはハードウェアクロックがローカルタイムを保存していると考えます。そのため、システムクロックを変更し、UTC時間をローカル時間として使用します。その結果、Windowsは実際の時刻より5:30早い09:30と表示します。
同様に、自動タイムゾーンと時刻ボタンを使ってウィンドウズで正しい時刻を設定すると、何が起こるかわかりますか?システム上に正しい時刻が表示され、この情報がハードウェアクロックに同期されます。
Linuxを起動すると、ハードウェア・クロックから時刻を読み取ります。これはローカル時刻ですが、LinuxはこれをUTC時刻だと思っているので、システム・クロックに5:30のオフセットを加えます。これでLinuxは20:30と表示し、実際の時刻より5:30遅れた時刻になります。
デュアルブートにおける時差の問題の根本的な原因を理解したところで、次はそれを解決する方法を見ていきましょう。
Linuxのデュアルブート設定でWindowsが不正な時刻を表示する問題を修正
これには2つの方法があります:
- WindowsにハードウェアクロックをUTC時間として使用させる方法
- Linuxがハードウェアクロックをローカル時間として使用するようにします。
Linuxの方が変更しやすいので、2番目の方法をお勧めします。
Ubuntuや他のほとんどのLinuxディストリビューションはsystemdを使っているので、timedatectlコマンドを使って設定を変更できます。
あなたがしたいことは、ローカルタイムとしてハードウェアクロックを使用するようにLinuxシステムに指示することです。これは set-local-rtc オプションで実行できます:
timedatectl set-local-rtc 1
下図のように、RTCは現地時間を使用するようになりました。
Windowsを起動すると、ハードウェアクロックはローカルタイムとして扱われます。Linuxで起動すると、LinuxシステムはハードウェアクロックがUTCではなくローカルタイムを使用していることを知っているので、このタイムオフセットを追加しようとはしません。
LinuxとWindowsのデュアルブート時のタイムラグの問題を解決します。
RTCがローカルタイムを使用していないという警告が表示されます。デスクトップのセットアップでは、何の問題も起こらないはずです。少なくとも、私は問題を思いつきません。





