デュアルブートシステムWindows XP ProおよびUbuntu 12.04。
正しい時間に設定されたBIOSと、米国東部時間に設定されたUbuntuがあります。 Ubuntuが起動し、時間が-4時間ずれます。 Ubuntuで時刻を修正すると、Windows XPで起動したときに、時刻が+ 4時間ずれます。
これは、12.04の新規インストールです。 Ubuntuを再インストールする前にこの問題はありませんでした。
https://help.ubuntu.com/community/UbuntuTime#Multiple_Boot_Systems_Time_Conflicts
複数のブートシステムの時間の競合
オペレーティングシステムは、マザーボードにあるハードウェアクロックで時間を保存および取得するため、システムに電力が供給されていないときでも時間を追跡できます。ほとんどのオペレーティングシステム(Linux/Unix/Mac)はデフォルトでハードウェアクロックの時刻を UTC として保存しますが、一部のシステム(特にMicrosoft Windows)はハードウェアクロックの時刻を「ローカル」として保存します'時間。これにより、デュアルブートシステムでハードウェアクロックの表示方法が異なる場合に問題が発生します。
UTCとしてハードウェアクロックを使用する利点は、タイムゾーン間を移動するとき、またはUTCにDSTまたはタイムゾーンオフセットがないため、夏時間(DST)が開始または終了するときにハードウェアクロックを変更する必要がないことです。
現地時間を使用するようにLinuxを変更すると、UTCを使用するようにWindowsを変更するよりも簡単で信頼性が高いため、デュアルブートLinux/Windowsシステムは現地時間を使用する傾向があります。
Intrepid(8.10)以降、UTC = yesがデフォルトです。
WindowsがUTCを使用するようにする
注:このメソッドはWindows VistaおよびServer 2008では当初サポートされていませんでしたが、Vista SP2、Windows 7、Server 2008 R2およびWindows 8/8.1。
MS Windowsにハードウェアクロックからの時間をUTCとして計算させるため。
次の内容で WindowsTimeFixUTC.reg という名前のファイルを作成し、それをダブルクリックして内容をレジストリにマージします。
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation] "RealTimeIsUniversal"=dword:00000001
注:Windowsタイムサービスは、シャットダウン時の上記のレジストリ設定に関係なく、RTCにローカル時間を書き込むため、便利です。このコマンドでWindowsタイムサービスを無効にするには(Windowsでサードパーティの時刻同期ソリューションを使用しているときに時刻同期が引き続き必要な場合):
sc config w32time start= disabled
変更を元に戻す
上記のように、次の内容のファイルを作成し、ダブルクリックして元の変更をマージできます。Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation] "RealTimeIsUniversal"=-
Windowsタイムサービスが無効になっている場合は、次のコマンドで再度有効にします。
sc config w32time start= demand
Linuxで「ローカル」時間を使用するようにする
Ubuntuシステムに、ハードウェアクロックが「ローカル」時間に設定されていることを通知するには:
Ubuntu 15.04より前のシステム(Ubuntu 14.04 LTSなど):
- 編集
/etc/default/rcS
次のセクションを追加または変更します
# Set UTC=yes if your hardware clock is set to UTC (GMT) UTC=no
Ubuntu 15.04システム以上(Ubuntu 16.04 LTSなど):
ターミナルを開き、次のコマンドを実行します
timedatectl set-local-rtc 1
Systemdベースのバージョン(15.04以降)で、BIOSクロックをUTCではなく現地時間に設定するには、timedatectl
コマンドを使用する必要があります。 Arch Wiki によると:
コマンドラインを使用して、ハードウェアクロック時間標準を設定できます。使用する設定を確認するには、次を実行します。
$ timedatectl | grep local
ハードウェアクロックは、
timedatectl
コマンドを使用して照会および設定できます。ハードウェアクロック時間標準をローカル時間に変更するには、次を使用します。# timedatectl set-local-rtc 1
UTCのハードウェアクロックに戻したい場合は、次のようにします。
# timedatectl set-local-rtc 0
タイムゾーンは Eastern で、現在はEDT(Eastern Daylight Time)です。 EDTは UTC マイナス4時間です。これは、発生しているオフセットと同じです。
これがデュアルブートシステムで発生するのは、通常、一方のオペレーティングシステムがハードウェアクロックが現地時間を追跡していると見なし、他方のオペレーティングシステムがハードウェアクロックがUTCを追跡していると見なしているためです
あなたの場合、あなたのハードウェアクロックはおそらく現地時間に設定されており、そして:
Ubuntuシステムの時間を手動または 自動 でリセットするだけの場合、Windowsでは間違っているため、これは良い解決策ではありません。
代わりに、最善の解決策はおそらく、Ubuntuを再構成してハードウェアクロック時間をローカル時間として処理することです(その後、Windowsの構成とハードウェアクロックを残すことができます時間、単独)。
これを行うには、/etc/default/rcS
をルートとして編集し、UTC=no
が含まれていることを確認します。
押す Alt+F2。
gksu gedit /etc/default/rcS
と入力して押します Enter。
あなたはおそらくこれを見るでしょう:
# assume that the BIOS clock is set to UTC time (recommended)
UTC=yes
UTC=yes
をUTC=no
に変更します。 (または、UTC=no # changed to accommodate Windows system
のようなものに変更してコメントを追加することもできます。#
文字の後の行のすべてはコメントであり、設定をより人間的なものにするためだけです。読み取り可能。)UTC=
行を探してください。コメントが解除されている(つまり、先頭に#
がない)場合は、それに応じて変更します。コメントがある場合は、先頭の#
を削除してコメントを外し、UTC=no
と表示されていることを確認してください。ファイルを保存し、テキストエディターを終了します。
再起動して変更を適用し、両方のオペレーティングシステムで時間が正しく機能していることを確認します。
出典:https://help.ubuntu.com/community/UbuntuTime#Make_Linux_use_.27Local.27_time
(しかし、これは非常に一般的なことです。私はこの答えをあなたの状況に特に適用するために書きました。これはやや一般的な問題です。)
/ etc/rcSの修正は、Win7/Ubuntu 14.04x64のインストールでは機能せず、クロックGUIによる修正も行われませんでした。問題の根本はBIOS時間VS UTC時間であり、UTCを使用することになるとWindowsが痛いので、UTC + 0を使用するマップ上のポイントを選択しました(BIOSとUTC時間の間に変更はありません) 。
場所をレイキャビク(アイスランドの首都)に変更してみてください。出来上がり! Ubuntuの時刻は、BIOSの時刻に合わせて変更されます。