回答:
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 Timeサービスは、シャットダウン時に上記のレジストリ設定に関係なくRTCにローカル時間を書き込むため、このコマンドでWindows Timeサービスを無効にするのが便利です(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
New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation -Name RealTimeIsUniversal -PropertyType DWord -Value 00000001
systemdベースのバージョン(15.04以降)で、BIOSクロックをUTCではなく現地時間に設定するには、timedatectl
コマンドを使用する必要があります。Arch Wikiによると:
コマンドラインを使用して、ハードウェアクロック時間標準を設定できます。使用する設定を確認するには、次の手順を実行します。
$ timedatectl | grep local
ハードウェアクロックは、
timedatectl
コマンドで照会および設定できます。ハードウェアクロック時間標準をローカル時間に変更するには、次を使用します。# timedatectl set-local-rtc 1
UTCのハードウェアクロックに戻したい場合は、次のようにします。
# timedatectl set-local-rtc 0
あなたのタイムゾーンは東部で、現在はEDT(東部夏時間)です。EDTは、UTCから4時間を引いたもので、これはあなたが経験しているオフセットと同じです。
デュアルブートシステムでこれが発生する場合、通常、一方のオペレーティングシステムはハードウェアクロックが現地時間を追跡し、他方のオペレーティングシステムはハードウェアクロックがUTCを追跡していると見なします。
あなたの場合、あなたのハードウェアクロックはおそらく現地時間に設定されており、そして:
Ubuntuシステムで時間を手動または自動でリセットするだけの場合、Windowsでは間違っているため、これは良い解決策ではありません。
代わりに、おそらく、ハードウェアクロックタイムをローカルタイムとして扱うようにUbuntuを再構成するのが最善の解決策です(Windowsの構成とハードウェアのクロック時間はそのままにしておくことができます)。
これを行うには、/etc/default/rcS
rootとして編集し、次のものがあることを確認します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の時刻に合わせて変更されます。