2020.03.11
LinuxとWindowsで時計がズレるのを直す・・・(linuxbean)
Linux と Windows のデュアルブートでOSを行き来すると、時計が大きくずれる現象が発生する。これは Linux ではPCのハードウェア時計(RTC)が UTC(協定世界時)で動作しているのに対し、WindowsではRTCはローカルタイム(JST=日本標準時)で動作しているためである。
以前はLinuxでは、 /etc/default/rcS に UTC=no と記載することにより、RTCの設定がローカルタイムであることを設定できたが、いつの頃からか /etc/default/rcS は存在しなくなった。
それで、その修正方法を記述しておく。使用するコマンドは timedatectl コマンドである。
$ timedatectl status Local time: 水 2020-03-11 17:41:08 JST Universal time: 水 2020-03-11 08:41:08 UTC Timezone: Asia/Tokyo (JST, +0900) NTP enabled: yes NTP synchronized: no RTC in local TZ: no DST active: n/a
最後から一つ上の行にRTCがローカルタイムゾーンか否かの記載がある。
$ timedatectl set-local-rtc true
とするとこの設定を変更することができる。root権限でなくても設定できる。疑問を感じるが。
設定変更後に再度設定状況を読み出すと、
$ timedatectl status Local time: 水 2020-03-11 17:42:03 JST Universal time: 水 2020-03-11 08:42:03 UTC Timezone: Asia/Tokyo (JST, +0900) NTP enabled: yes NTP synchronized: no RTC in local TZ: yes DST active: n/a Warning: The RTC is configured to maintain time in the local time zone. This mode is not fully supported and will create various problems with time zone changes and daylight saving adjustments. If at all possible use RTC in UTC, by calling 'timedatectl set-local-rtc 0'.
警告メッセージが出るが、RTC in local TZ:yesとなり、これで設定終了である。
設定は終了して確認すると
Windowsを終了してlinuxを立ち上げると、時刻は正しく表示されたが、linuxからWindowsに戻ると時刻がずれる。
タスクバーの右側の時刻表の上で右クリックで「日付と時刻の調整」を選んで「時刻を自フォウ的に設定する」で切り替えをオフ→オンとすると、時刻が正しく設定される。
“RTC in local TZ: no” のままが正解であるのか?? 色々調査の結果下記の結論を得た。
linuxbean 14.04では、”RTC in local TZ: no” のままが良く、linuxbean 16.04並びにUbuntu 20.04では、”RTC in local TZ: yes”とする必要があるのが分かった。これはlinux系のOSでは以前はJSTを基準としていたのに対し、近年になりRTCを基準とするように変わったためだと思われる。設定を試みる場合は、RTC in local TZ でyesとnoの両方を良く確かめておく必要がある。
コメント
コメント投稿