WindowとUbuntuデュアルブートでWindowsの時刻がズレる場合

前回システムの時刻ズレが原因でGCSへファイルがアップロードされなかったことを記事にしました。Ubuntuをデュアルブートで入れると、Windowsの時間がズレて、Windowsの時間を修正すると恐らくUbuntuの時間がズレます。2つのOSで時刻がズレる原因と対処方法を記載します。



時刻がズレる原因

WindowsとUbuntuでシステム時刻が何を参照するかが違うことが原因のようです。

  • Ubuntu:システム時刻はUTCを参照。時刻表示時に9h加算する
  • Windows:システム時刻はLocalTimeを参照。(日本ならUTC+9h)

OSがシャットダウン時に現在表示している時刻をCMOS(BIOSに関する情報を記録するメモリらしいです)にシステム時刻として書き込むので、Ubuntuをシャットダウンすると次回WindowsはCMOSにUTCが記録されているとは知らずにUTCをLocalTimeだと思いこんで参照します。
逆にWindowsで時刻を合わせるとUbuntuはLocalTimeをUTCだと思いこんで参照することになります。

対処法

システム時刻の統一

システム時刻として使う時間をUTCかLocalTimeに統一すれば良いです。ここではUbuntuにLocalTimeを使うように変更する方法を記載します。
※Ubuntuのバージョンは「ubuntu16.04LST」です。

$ sudo timedatectl set-local-rtc true

設定されたか確認するコマンドは下記です。

$ timedatectl status | grep local
⇒RTC in local TZ: yes

Windowsの時刻修正

後はWindowsの時刻を修正するだけです。Windowsの設定(歯車アイコン)を右クリックし、「日付と時刻の調整」を選択してから「時刻を自動的に設定する」を1度OffにしてからOnにすると時刻を問い合わせて修正してくれます。
※当然Windowsも定期的に現在時間を確認する機能があるためしばらく放置すれば直りますが、デフォルトでは1週間に1回です。ちょっと長いのでサクッと修正したほうが良いかと思います。


カテゴリー:Windows,エラー対処

Output不足なエンジニア

統計が好きになれず、機械学習やったら必然的に統計が必要になるだろうと思ったら想像以上に機械学習にハマる。数学は芸術なので商売にするつもりはないけど、DeepLearningは数学じゃないし商売にしたいと思っているところ。画像処理がメイン。