【Linux】ハードウェア時刻(RTC)の設定:hwclock

Linux

どーも!marusukeです!

ハードウェア時刻(RTC: Real Time Clock) の表示や設定を行うコマンドhwclockについてです!

hwclock コマンドでできること

hwclock [オプション]

hwclock コマンドは、ハードウェア時刻(RTC: Real Time Clock) の表示や設定を行うためのコマンドです
ハードウェア時刻とは、マザーボードの内蔵時計(BIOS/UEFIの時計) のことで、システムの電源を切っても保持されます

hwclock コマンドの使用例

ハードウェア時刻(RTC)の確認

hwclock --show
# または
hwclock -r

出力例

2025-02-06 12:34:56.123456+0900

→ RTC の現在時刻を表示

システム時刻をハードウェア時刻に合わせる

sudo hwclock --systohc

システム時刻の値をハードウェア時刻(RTC)にコピー
手動で date コマンドなどで設定したシステム時刻を、RTC に反映させる際に使用

ハードウェア時刻をシステム時刻に合わせる

sudo hwclock --hctosys

ハードウェア時刻(RTC)の値をシステム時刻にコピー
OS 起動時にも自動的に実行される

ハードウェア時刻を手動で設定

sudo hwclock --set --date="2025-02-06 12:34:56"

→ RTC を 2025-02-06 12:34:56 に設定

ハードウェア時刻の UTC / ローカルタイム設定を確認

timedatectl | grep "RTC in local TZ"

出力例

RTC in local TZ: no

no の場合は RTC が UTC で管理されている(Linux の推奨設定)

ハードウェア時刻を UTC で管理(Linux 推奨設定)

sudo timedatectl set-local-rtc 0

RTC を UTC で管理する(Linux では通常この設定が推奨される)

ハードウェア時刻をローカルタイムで管理(Windows 互換)

sudo timedatectl set-local-rtc 1

Windows とのデュアルブート環境で推奨(ただし、NTP との併用は非推奨)


hwclock コマンドのオプション

オプション説明
-r または --showハードウェア時刻を表示
--systohcシステム時刻をハードウェア時刻にコピー
--hctosysハードウェア時刻をシステム時刻にコピー
--set --date="YYYY-MM-DD HH:MM:SS"ハードウェア時刻を手動で設定
--utcRTC を UTC で管理(デフォルト)
--localtimeRTC をローカルタイムで管理(Windows 互換)

まとめ

  • RTC(ハードウェア時刻)BIOS/UEFI に保存される時刻(電源オフでも保持)
  • システム時刻OS 起動中に使用する時刻(起動時に RTC から読み込む)
  • RTC を UTC で管理するのが Linux の推奨設定
  • Windows とのデュアルブートでは RTC をローカルタイムにするのが一般的

うまく hwclock を活用し、時刻のズレを防ぎましょう

以上です!

ここまで読んでいただきありがとうございました!

コメント

タイトルとURLをコピーしました