Ubuntu の時間の問題を修正する - タイミングの不具合のトラブルシューティング
Ubuntu では間違った時間が表示され、ランダムな設定では長い間修正されません。 2 つのクロック システムを学習し、timedatectl 画面を 1 つ読み取り、パターンを本当の原因 (デュアル ブート、NTP、タイムゾーン、または切れた CMOS バッテリー) と照合して修正します。
📑章
- Ubuntu が間違った時刻を表示する理由 - PC 内の 2 つの時計
- 何かを変更する前に、datectl 画面を 1 回読んでください
- パターンを実際の原因 (デュアル ブート、NTP、タイムゾーン、CMOS バッテリー) に一致させる
- インターネット時刻同期 (NTP) をオンにして、機能することを確認します
- 正確なゾーン名を使用してタイムゾーンを適切に設定する
- デュアルブート: 1 つのルールを選択して、Windows と Ubuntu のクロック争いを終わらせる
- ハードウェア クロックに正しい時刻をプッシュバックする
- 実際に CMOS バッテリーが原因である場合 - 同期がそれをどのようにカバーするか
📋 概要とステップバイステップガイド
2 つの時計: どっちが嘘をついているかを見つけましょう
すべてのコンピューターは 2 つの場所で時刻を記録します。 RTC (リアルタイム クロック) は、マザーボード上の小さなハードウェア クロックで、PC がオフのときでもバッテリー電力で動き続けます。 Ubuntu の実行中にシステム クロック が表示され、NTP と呼ばれる同期サービスによってインターネット経由で修正されます。起動時に、Ubuntu は RTC を読み取り、そこからシステム クロックを構築します。
つまり、時計が間違っているということは、RTC が間違った値を保持していたか、Ubuntu が間違った仮定でそれを読み取っていたか、インターネット修正が行われなかったかという 3 つのいずれかを意味します。ほとんどの人が犯す間違いは、原因ではなく文字盤を修正することです。 1 つのコマンドで 3 つの原因すべてを分離します。これが次のステップです。
何かを変更する前に timedatectl を読み取る
ターミナルを開いてこのコマンドを実行します。見るだけであれば sudo は必要ありません。
timedatectl
7 つの行が表示されます。そのうちの6つが重要です。 現地時間 は、タイムゾーン変換後の時計の文字盤の時間です。 世界時 は UTC の同じ瞬間です。これはそれ自体が正しくなければならない数値です。 RTC 時間 は、マザーボード上のハードウェア クロックが現在保持している時間です。 タイム ゾーン は、Ubuntu が Asia/Kolkata (IST, +0530) などに変換するゾーンです。この起動時にインターネット時刻の同期が少なくとも 1 回成功すると、システム クロックが同期されました と表示されます。 RTC in local TZ: no は、Ubuntu が RTC が UTC を保持していると想定していることを意味します。この 1 行がデュアルブートの全体的な話です。
正常なマシンでは、RTC 時刻は世界時ラインと一致し、同期されたラインは「はい」を示し、NTP サービスはアクティブであると表示されます。何かを変更する前に、画面に表示される内容を書き留めてください。ここを 2 分読めば、ランダムな修正を 1 時間節約できます。
パターンを真の原因と照合する
時間を間違えることは一つの問題ではありません。ほぼ毎回、エラーのサイズと形状によって原因が特定されます。
正確にゾーン オフセットによって間違っています (インドでは 5 時間 30 分)。他の OS を起動すると反転し、デュアルブート RTC の戦いになります。ハードウェア クロックの意味については、Windows と Ubuntu の意見が一致していません。ステップ6に進みます。
数分単位で誤差が発生し、数週間かけてゆっくりと増加します - 同期がオフになっているか失敗しているか、RTC 自体がドリフトしています。同期回線を確認し、手順4へ進みます。
PC の動作中は正しく、シャットダウンするたびにまた間違っています - 電源がオフになっている間、RTC は時間を失ったり、時間を読み間違えたりします。古いハードウェアでは、それは CMOS バッテリーです。ステップ 7 に進みます。
画面上の正しいゾーン名、とにかく時間が間違っている - ゾーンは表示設定であり、時間そのものではありません。あなたの宇宙時系列も間違っているでしょう。手順5に進み、再度確認してください。
仮想マシン内でのみ問題が発生し、復元または再開後にジャンプします - VM は、NTP だけでなく、ホストやスナップショットからも時間を取得します。
インターネット時刻同期 (NTP) をオンにする
同期の実行が許可されている場合、ほとんどのシングルブート Ubuntu マシンは自動的に修復します。次のコマンドでオンにします (パスワードを要求されます)。
timedatectl set-ntp true
GUI の方が好きですか? [設定] を開き、[日付と時刻] を開き、日付と時刻の自動をオンにします。次に、インターネット接続が正常に動作している状態で 1 分間待機し、timedatectl を再度実行します。 [システム クロックが同期されました] 行に [はい] と表示され、時間が正しい値に進むはずです。
タイムゾーンを正しく設定する
ゾーン自体が間違っていると、他のすべてが壊れているように見えます。まず、timedatectl 出力の タイム ゾーン 行で現在のゾーンを確認します。ゾーン名は大文字と小文字が区別され、Asia/Kolkata のようにスラッシュが使用されます。正確な名前をリストし、独自の名前を設定します。
timedatectl list-timezones
sudo timedatectl set-timezone Asia/Kolkata
timedatectl を再度実行し、現地時間 行に壁時計の時間が表示され、ゾーンが Asia/Kolkata (IST, +0530) として表示されていることを確認します。この後もまだ間違っていて、正しいゾーンが表示されていますか?その場合、ゾーンは問題ではありませんでした。ステップ 3 のパターン リストに戻ります。
デュアル ブート: ハードウェア クロック ルールを 1 つ選択します
デュアルブート マシンでは、1 つの規則を選択し、両方のシステムを一致させる必要があります。 Ubuntu のデフォルトは正常です。RTC は UTC を保持し (ローカル TZ の RTC: いいえ)、各 OS が表示用に変換します。 Windows のデフォルトはその逆で、RTC を現地時間として扱います。この不一致が、すべての OS スイッチが正確にゾーン オフセットだけクロックを移動させる理由です。
Ubuntu 側の簡単な妥協策は次のコマンドです。Ubuntu は Windows が期待する方法で RTC を読み書きします。
timedatectl set-local-rtc 1 --adjust-system-clock
別の方法は、RealTimeIsUniversal レジストリ値を通じて Windows に UTC を使用するように教え、Ubuntu をクリーンなデフォルトのままにすることです。どちら側を選択しても、どちらか 1 つだけを選択してください。両方の修正を適用すると、エラーが反対方向に反転します。
正しい時刻をハードウェアクロックに保存する
システム クロックが正しく同期されたら、その正しい値を RTC に保存して、次回のコールド ブートが正しく開始されるようにします。
sudo hwclock --systohc
sudo hwclock --show
最初のコマンドは、システム時刻をハードウェア クロックにコピーします。 2 つ目は、ハードウェアが現在保持している内容を示しています。次に、完全にシャットダウンし、少し待ってから起動し、可能であればネットワークに接続するまでの時間を確認します。RTC はすでに正しく設定されているはずです。
今でも完全に電源を切った後に時間が再び狂う場合は、ソフトウェアができる限りのことを行っています。CMOS バッテリーまたは古いハードウェアの RTC のドリフトを疑ってください。これは、すぐにバッテリーを交換せずに、弱ったバッテリーを抱えて過ごす方法でもあります。NTP 同期をオンにすると (ステップ 4)、Ubuntu は、ネットワークが接続されると、毎回の起動直後に自動的に時計を修正します。バッテリーの交換が実際のハードウェアの修正であることに変わりはありませんが、日常使用では同期がカバーします。
timedatectl を使用して測定し続けます。あなたが毎日修正している時計は、まだ見つかっていない欠陥です。🏷️トピック検索変数とキーワード
🎙️ 全文転写 — タップして展開します
__TOK_39__
__TOK_40__
__TOK_41__
❓ よくある質問
このチュートリアルは完全に無料で実行できますか?
__TOK_42__
初心者でもこのガイドに従うことができますか?
__TOK_43__
行き詰まった場合はどこに質問すればよいですか?
__TOK_44__