CentOS 7は、Windowsディスクを起動すると、コンピュータの時間を+ 4時間に変更します。

CentOS 7は、Windowsディスクを起動すると、コンピュータの時間を+ 4時間に変更します。

私の家のコンピュータには2つのディスクがあり、1つはWindows 10がインストールされ、もう1つはCentOS 7.9がインストールされています。

Asrockマザーボードで、起動するディスクを選択できる起動GUIがあり、必要に応じてWindowsとLinuxを切り替えることができます。

CentOSを実行していて時間が正しい場合は、Windowsで再起動し、時間が+4時間速くなるのでUTC時間になります。 {私は米国北東部にあり、夏時間はUTCです - 4} Windowsで同期時間をクリックすると変更されますが、CentOS Linuxディスクを使用して毎回手動で実行する必要があります。

この問題をどのように解決できますか? WindowsとLinuxに表示される現地時間が正確であるように、この問題を解決するための最良の方法は何ですか? CentOSが私のBIOSクロックをUTC時間に設定したようです。

答え1

Windowsはデフォルトでハードウェアクロックを現地時間に保つことを好みますが、LinuxシステムはそれをUTCに保つことを好みます。時計をUTCに保つ方が良いです。これは、UTCを追跡しなくても夏時間の切り替えをより簡単にできるためです。どの今、ハードウェア時計は現地時間です。

幸い、WindowsもUTCで設定できるようです。これをHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal制御するレジストリキーを1。 (ない場合は最初に作成してください。64ビットシステムではQWORD、32ビットシステムではDWORDでなければなりません。)

これはテストされていませんが、いくつかの場所でお勧めします。


もちろん、別のオプションは、ハードウェアクロックが現地時間であると仮定するようにLinuxを設定することです。systemdの場合、使用されるコマンドは次のとおりです。timedatectl set-local-rtc 1。しかし、systemdはそれがあまり好きではないことに注意してください。timedatectl警告:

警告:システムは、ローカルタイムゾーンのRTC時間を読み取るように構成されています。このモードは完全にはサポートされていません。タイムゾーンの変更と夏時間の調整により、さまざまな問題が発生する可能性があります。 RTC時間は更新されず、保守のために外部機能に依存します。可能であれば、「timedatectl set-local-rtc 0」を呼び出してUTC形式のRTCを使用してください。

存在する場合、/etc/adjtime設定は使用のためにその場所(3行目)に保存されます。hwclock便利。ファイルがある場合、Systemdはファイルを更新しますが、ファイルがない場合は設定がどこに保存されるのかわかりません。

私はこれをテストしておらず、夏時間の問題についてはこれを避けようとするかもしれません。

関連情報