你是不是遇到过这种情况:刚把 centos 系统时间调对,重启一下电脑,时间又不对了;或者手动改了时间,没过多久又跑偏了?其实啊,这大概率是系统时间和硬件时间没同步造成的。新手遇到这种问题,往往不知道从哪下手,别急,今天小编就给你讲明白这俩时间的关系,还有解决不一致的办法,保证看完你就会弄,一起往下看吧!
先弄明白:系统时间和硬件时间,不是一回事儿
咱们用的 centos 系统里,其实有两个时间在跑。
- 系统时间:就是操作系统自己用的时间,咱们平时用 date 命令看到的就是它,会跟着网络同步,关机后就不跑了。
- 硬件时间:是主板上的小电池供电的时间,就算电脑断电了也在走,就像手表一样,不过时间长了可能会不准。
那这两个时间为啥会不一致呢?比如你手动改了系统时间,没告诉硬件时间,重启后系统又参考硬件时间,就又不对了;或者主板电池快没电了,硬件时间走得忽快忽慢,自然就对不上。
小编之前有台老服务器,就是主板电池不行了,硬件时间每天慢 5 分钟,系统时间跟着遭殃,后来换了电池才好。
怎么知道它们俩是不是一致?先查查看
想解决问题,得先知道问题在哪,这两个命令能帮你查到当前时间。
- 查系统时间:在终端里敲date,回车,出来的就是系统时间,比如 “2025-07-29 09:45:12”。
- 查硬件时间:敲hwclock,回车,显示的是硬件时间,格式差不多,比如 “2025-07-29 09:30:05”。
把这两个时间一对比,差多少就清楚了。要是差得不多,比如一两分钟,可能是正常的;差太多,那就得调了。
有个新手朋友跟我说,他查的时候发现系统时间是对的,硬件时间快了一小时,重启后系统时间也变快了,这就是典型的没同步导致的。
解决办法:让它们俩同步,谁对就以谁为准
情况一:系统时间是对的,硬件时间不对
那就把系统时间同步到硬件时间,以后重启也不会错了。
- 步骤:在终端输入hwclock –systohc,回车就行。这个命令的意思是 “把系统时间(sys)写到硬件时间(hc)”。
- 输完再用 hwclock 查一下,硬件时间就和系统时间一样了。
小编一般调对系统时间后,都会顺手输这个命令,省得下次重启又出问题。
情况二:硬件时间是对的,系统时间不对
那就反过来,让系统时间参考硬件时间。
- 步骤:输入hwclock –hctosys,回车。意思是 “把硬件时间(hc)同步到系统时间(sys)”。
- 这个情况不太多见,一般硬件时间容易不准,除非你刚换了主板电池,硬件时间是准的。
情况三:俩时间都不对,先同步到网络时间
要是俩时间都不准,最好先让系统时间同步到网络时间,再同步给硬件。
- 先安装 ntpdate 工具:输入yum install ntpdate -y,等它安装完。
- 同步到网络时间:输入ntpdate cn.pool.ntp.org(这是国内的时间服务器)。
- 再把系统时间同步到硬件:hwclock –systohc。
这样一套下来,俩时间就都准了,新手朋友可以一步步照着做。
情况 | 操作命令 | 效果 |
---|---|---|
系统对,硬件不对 | hwclock –systohc | 硬件时间变成系统时间 |
硬件对,系统不对 | hwclock –hctosys | 系统时间变成硬件时间 |
俩都不对 | ntpdate + hwclock… | 都变成网络标准时间 |
自问自答:这些小疑问,新手可能会有
- 问:同步完之后,过几天又不一致了,咋回事?
答:可能是主板电池快没电了,硬件时间走不准。换个主板电池试试,很便宜,几块钱一个,拆开机箱就能换,跟换遥控器电池差不多。 - 问:我用的是 centos 7,这些命令都能用吗?
答:都能用,这些命令在 centos 6、7、8 里基本通用,不用担心版本问题。
小编的一点心得
系统时间和硬件时间不一致,看着麻烦其实解决起来很简单,无非就是同步一下。新手别怕用命令,这些命令都是固定的,输错了大不了重来,不会把系统搞坏。
最好养成定期同步的习惯,尤其是服务器,时间不准可能会影响日志记录、任务调度这些。小编管理的服务器,每个月都会手动同步一次,图个安心。其实啊,多操作两次,你就会发现,Linux 系统这些小问题,解决起来还挺有成就感的,对吧?