マルチブートPCでの時刻合わせ

マルチブートPCでの時刻合わせ


  • 設定方法が変更されました。「/etc/default/rcS」は Ubuntu 17.04、Debian 9 (Stretch) にはありません。
  • 設定はコマンドで行います。
sudo timedatectl set-local-rtc true
 (true または 1)

  • 設定結果の確認(status 引数は省略可能)
$ timedatectl status
      Local time: 金 2017-06-30 00:18:54 JST
  Universal time: 木 2017-06-29 15:18:54 UTC
        RTC time: 金 2017-06-30 00:18:54
       Time zone: Asia/Tokyo (JST, +0900)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: yes


  • 「RTC」が「yes」になっていれば、Local Time が利用されている状態です。


  • 下記の Warning が出ますが、Local Time でないと、Windows 10 は上手く設定できませんので、止むを得ずマルチブートのPCで使うLinuxの方も Local Time で揃えます。

Warning: The system is configured to read the RTC time in the local time zone.
         This mode can not be fully supported. It will create various problems
         with time zone changes and daylight saving time adjustments. The RTC
         time is never updated, it relies on external facilities to maintain it.
         If at all possible, use RTC in UTC by calling
         'timedatectl set-local-rtc 0'.


  • Windows 10 を UTC にできない理由(解消された古い問題)
    • Windows 10 で UTC を有効にした場合、Windows 10 標準のインターネット時刻同期が使えなくなりますので、NTPサーバーをインストールする必要があります。なるべく標準機能を使いたいので、UTC にすることを諦めました。
    • また、Windows 7 までならばレジストリキーの「RealTimeIsUniversal」を「1」に設定することで UTC にすることができましたが、Windows 10 では有効性が不明です。
    • 2017年10月23日現在、レジストリ値を 0(UTC)にしたところ、インターネット時刻同期も行えました。この問題は解消されたようですので、私は Windows10 を UTC に変更しました。ローカル(Local)時間は日本時間(JST)ですので、時計の時刻は日本時間です。



  • 以下、2016年5月時点の古い記事です。

(履歴)
  • Gnomeの設定、日付と時刻、自動日時設定を使う。
  • タイムゾーンをJSTにする。(UTCにしない)
  • Debianはデフォルト設定で問題ない。
  • Ubuntuのデフォルト設定はUTCであり、Asia/Tokyoでインストールしても時計がUTCになり、更にハードウェアクロックとも同期して変更してしまう。
  • その結果、Windows10などは時刻同期に失敗し、日本時間が9時間ずれる。

    • その結果、Windows10などは時刻同期に失敗し、日本時間が9時間ずれる。 
      
  • Ubuntuインストール後に変更する箇所
    •  「/etc/default/rcSに「UTC=no」を追記する。
    • 例、 
    # /etc/default/rcS
    #
    # Default settings for the scripts in /etc/rcS.d/
    #
    # For information about these variables see the rcS(5) manual page.
    #
    # This file belongs to the "initscripts" package.
    (中略)

    # the BIOS clock is set to UTC
    UTC=no

    • 起動時にずれてしまった時刻を修正する。
    • dateコマンド ・・・例(5月1日12時15分)
    $ sudo date 05011215
    • hwclockコマンド ・・・ 例(システムクロックと同期)
    $ sudo hwclock -w 
    • timedatectlコマンドで確認
    $ timedatectl
          Local time: 日 2016-05-01 21:14:52 JST
      Universal time: 日 2016-05-01 12:14:52 UTC
            RTC time: 日 2016-05-01 12:14:52
           Time zone: Asia/Tokyo (JST, +0900)
     Network time on: yes
    NTP synchronized: yes
     RTC in local TZ: no
     
    • Ubuntuの場合、PC起動後、時刻同期するまで数秒の時間が掛かる。ntpdateを使うとデスクトップが立ち上がった時には日本時間で同期される。
    $ sudo apt-get install ntpdate

    関連する設定ファイル
    • cat /etc/adjtime ・・・タイムゾーンを調べる。JSTかLOCALに
    • /etc/default/rcS ・・・UTCがあれば「no」に変更
    • dateコマンド(システム時間)
    • hwclockコマンド(ハードウェアクロック)
    • 使用例、sudo hwclock --directisa
  • /etc/ntp.conf ・・・NTPサーバーを使っているのであれば設定する。
  • 自宅のインターネット接続環境であれば、接続ルータ、無線(WiFi)ルータ、ADSLモデム、無線LANアクセスポイントなど、時刻はすべて自動同期にしておくと便利。IPアドレスもdhcpで自動、dnsも自動、時刻も自動というようにするとわかりやすい。

以上

コメント

このブログの人気の投稿

systemd-resolveの設定(Ubuntuなどの動的DNS設定)

GRUB起動メニューのタイムアウト時間、起動するOSの変更

Salesforce Trailheadチャレンジメモ(Apex の基礎とデータベース)