- ベストアンサー
Linuxでの時刻同期について
- Linux端末において、OSのシステム日付が異なる問題が発生しました。原因と対処法について教えてください。
- OS起動時にシステム時刻が遅れている問題があります。NTPサーバーとの同期が行われていない状態でも時刻が自動的に修正される理由を教えてください。
- Linuxでの時刻同期に関する疑問です。BIOS日付とOSのシステム日付が異なる場合の原因と対処法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
(1) 日付だけではなく何時間の差があったのか確認してほしかったですが、BIOSの時刻にはタイムゾーンという考えはありません。 ですのでLinuxなどではBIOSの時刻はUTCの時刻とみなすのかローカル時刻とみなすのかの設定があります。 Ubuntuの場合はインストール時に、他のOSがないような場合にはBIOSの時刻はUTCの時刻とするようになってるようですので、その後にBIOSの時刻のみローカル時刻に設定するとおかしな事になります。 例えばUbuntu側の設定でBIOSの時刻はUTCとみなす設定にしているのにBIOSに日本時刻(JST)の00:00:00を設定していた場合、UbuntuはそれをUTCの00:00:00とみなすことになります。 そこにタイムゾーンにJSTが設定されていれば、Ubuntu上では+09:00:00の09:00:00が表示される事になります。 ですので、おそらく「OSのシステム日付を本日の日付に直してもらいました。」の結果はBIOSの時刻が日本での時刻ではなくUTCでの時刻に変わってるかと思います。 もう少し詳細にお知りになりたいのでしたらUbuntu bios utcで検索されるとよろしいかと思います。 (2)についてはわかりません。
その他の回答 (2)
- wormhole
- ベストアンサー率28% (1626/5665)
>BIOSの日時の「2016/08/11 06:00:00」でも、Ubuntuでタイムゾーンを日本(TOKYO)にした場合、システム日時「2016/08/11 15:00:00」にはならなかった気がするのですが。 「BIOSの日時をUTCとみなすようにUbuntuの設定がされているんじゃないか」というのは、考えられる原因として述べたのであって「これが原因です」と特定したわけじゃないですよ? そのような設定になってるかどうかは私には確認しようがないのでご自分で確認してください。
補足
ありがとうございます。 下記のサイトで確認してみました。 Ubuntu6.04では、PCのBIOS時刻で表示されていたようですので恐らく、ローカルタイムだったようです。Ubuntu 8.10ではBIOS時刻+9時間で進むようになったとのことなので、この頃にBIOS時刻をローカルタイムではなくUTCに変わったのではないかと思われます。 今回のバージョンでは、Ubuntu8.10の後にリリースされているUbuntu 12.04なので、Ubuntu 8.10と同様にBIOS時刻はUTCのようです。 ---------------------------------------------------- Ubuntu 8.10 の時刻表示が+9時間になる。 https://forums.ubuntulinux.jp/viewtopic.php?id=3323 ---------------------------------------------------- それを確認するため、Ubuntu 12.04の/etc/default/rcSを見たところ、UTC=yesになっていました。 BIOSの日時の「2016/08/11 06:00:00」のとき、Ubuntuでタイムゾーンを日本(TOKYO)にしても、システム日時「201608/11 15:00:00」 にならないのは、恐らく、NTPサーバーと同期がされることによって、「201608/11 15:00:00」だったものが、「2016/08/11 06:00:00」に修正されるからではないかと思っています。
- wormhole
- ベストアンサー率28% (1626/5665)
>例えば、現在の日時が日本時間で「2016/08/11 06:00:00」、BIOS日時が「2016/08/11 06:00:00」の場合において、UbuntuのタイムゾーンでJSTを設定していれば、Ubuntuのシステム日時は「2016/08/11 15:00:00」になるということでしょうか。 誤解されている部分があるようですが考え方的にはそんな感じです。 誤解されている部分というのはシステム日時についてはUTCでの日時です。アプリ側でタイムゾーンの設定に従って表示等行ってます。
補足
ありがとうございます。 BIOSの日時の「2016/08/11 06:00:00」はUTCとのことですが、Ubuntuでタイムゾーンを日本(TOKYO)にした場合、システム日時「2016/08/11 15:00:00」になってしまうため、現在の日本時間が「2016/08/11 06:00:00」であれば、BIOSの日時の「2016/08/10 21:00:00」にしないといけないということでしょうか。 BIOSの日時の「2016/08/11 06:00:00」でも、Ubuntuでタイムゾーンを日本(TOKYO)にした場合、システム日時「2016/08/11 15:00:00」にはならなかった気がするのですが。
補足
ありがとうございます。 (1) 報告を受けたときに正確なBIOS日時とシステム日時を確認しておけば、よかったです。 まだ、数台 業務で確認する機会があると思うので、同様の事象になったときに確認をしてみます。 インストールされているのはUbuntuのみですので、BIOS時刻=UTC時刻ということになるということですね。 例えば、現在の日時が日本時間で「2016/08/11 06:00:00」、BIOS日時が「2016/08/11 06:00:00」の場合において、UbuntuのタイムゾーンでJSTを設定していれば、Ubuntuのシステム日時は「2016/08/11 15:00:00」になるということでしょうか。 (2)については、起動した直後は3時間ほど遅れており、暫くして気が付いたら、時刻が補正されていました。 もしかしたら、前回のシャットダウン時に時刻をUbuntu上に保持しており、起動後 暫くしてからシャットダウン時に保持していた時刻を使用して時刻補正が行われたのではと推測しています。 ただ、その推測があっているか自信がない状態です。