linux系统时钟设置(含双系统时钟设置)
sean 编辑于2026-01-17 15:10树莓派及Linux
在 Linux 命令行中修改硬件时钟(RTC,Real-Time Clock) 主要使用 hwclock 工具(部分系统也可用 timedatectl 间接操作),核心是区分 UTC 时间和 本地时间,避免系统时间与硬件时钟不一致。以下是完整操作步骤。
一、核心概念:硬件时钟的时间标准
Linux 硬件时钟有两种计时模式,需先确认当前模式:
- UTC 模式:硬件时钟存储世界协调时间,系统启动时根据时区换算成本地时间(推荐 Linux 单系统使用)。
- 本地时间模式:硬件时钟直接存储本地时间(适合双系统,如 Windows+Linux,因为 Windows 默认用本地时间)。
二、查看当前硬件时钟状态
1. 查看硬件时钟时间
# 直接显示硬件时钟时间(默认按本地时区解析)
hwclock
# 强制以 UTC 显示硬件时钟
hwclock --utc
# 显示详细信息(含时间模式)
hwclock --verbose 输出示例中 Time standard: UTC 表示硬件时钟为 UTC 模式,localtime 则为本地时间模式。
2. 查看系统时间与硬件时钟的同步状态
# timedatectl 重点关注两行:
- RTC in local TZ:yes= 本地时间模式,no=UTC 模式。
- System clock synchronized:yes= 系统时间已同步网络时间。
三、修改硬件时钟的两种方法
方法 1:直接用 hwclock 设定硬件时钟
前提:先确保系统时间是正确的(可通过 timedatectl set-time "YYYY-MM-DD HH:MM:SS" 校准系统时间)。
- 将系统时间同步到硬件时钟(推荐,避免手动输入错误)
# UTC 模式(Linux 单系统首选)
sudo hwclock --systohc --utc
# 本地时间模式(双系统适配 Windows)
sudo hwclock --systohc --localtime 参数说明:
- --systohc:system to hardware clock,将系统时间写入硬件时钟。
- --utc/--localtime:指定硬件时钟的时间标准。
方法 2:用 timedatectl 间接修改(更简洁)
timedatectl 可同时管理系统时间和硬件时钟模式,适合新手:
1.校准系统时间(优先同步网络时间)
sudo timedatectl set-ntp true # 启用网络时间同步
sudo timedatectl set-timezone Asia/Shanghai #设置时区 若无法联网,手动设定系统时间:
sudo timedatectl set-time "2026-01-06 09:07:11" 2.设置硬件时钟的时间模式
# 设为 UTC 模式(推荐)
sudo timedatectl set-local-rtc 0
# 设为本地时间模式(双系统)
sudo timedatectl set-local-rtc 1 执行后,系统会自动将当前系统时间同步到硬件时钟。
四、验证修改结果
1.检查硬件时钟时间:
hwclock 2.检查时间模式:
timedatectl | grep "RTC in local TZ"
五、注意事项
1.双系统时间冲突解决:Linux 设为 UTC 模式后,Windows 会显示错误时间,需在 Windows 管理员命令行执行:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /t REG_DWORD /d 1
2.权限要求:所有修改操作必须加 sudo,普通用户无权限修改硬件时钟。
3.网络时间同步优先级:启用 ntp 后,系统会定期同步时间,无需手动修改硬件时钟。
关于本站
肥龙软件分享的软件是本站作者开发的免费,无广告,安全可靠,绝不附带任何无关软件,绝不困绑任何插件的实用软件。如果您感觉好用,可以捐赠我们,这样我们可以有更积极的动力去改进升级软件,维持服务器运转,感谢您的捐助,谢谢!


致谢 赞赏/捐助名单
联系作者(邮箱)
软件