どーも!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" | ハードウェア時刻を手動で設定 |
--utc | RTC を UTC で管理(デフォルト) |
--localtime | RTC をローカルタイムで管理(Windows 互換) |
まとめ
- RTC(ハードウェア時刻) は BIOS/UEFI に保存される時刻(電源オフでも保持)
- システム時刻 は OS 起動中に使用する時刻(起動時に RTC から読み込む)
- RTC を UTC で管理するのが Linux の推奨設定
- Windows とのデュアルブートでは RTC をローカルタイムにするのが一般的
うまく hwclock
を活用し、時刻のズレを防ぎましょう
以上です!
ここまで読んでいただきありがとうございました!
コメント