![为什么 hwclock 既不是 UTC 也不是当地时间?](https://linux22.com/image/867663/%E4%B8%BA%E4%BB%80%E4%B9%88%20hwclock%20%E6%97%A2%E4%B8%8D%E6%98%AF%20UTC%20%E4%B9%9F%E4%B8%8D%E6%98%AF%E5%BD%93%E5%9C%B0%E6%97%B6%E9%97%B4%EF%BC%9F.png)
$ timedatectl
Local time: Fri 2015-01-30 11:04:51 CET correct UTC+1
Universal time: Fri 2015-01-30 10:04:51 UTC correct UTC
Timezone: Europe/Budapest (CET, +0100) correct
NTP enabled: n/a
NTP synchronized: no
RTC in local TZ: no ? UTC then ?
DST active: no
Last DST change: DST ended at
Sun 2014-10-26 02:59:59 CEST
Sun 2014-10-26 02:00:00 CET
Next DST change: DST begins (the clock jumps one hour forward) at
Sun 2015-03-29 01:59:59 CET
Sun 2015-03-29 03:00:00 CEST
$ sudo hwclock
Fri Jan 30 12:05:09 2015 -0.406771 seconds ??????? UTC+2 ??????
$ date
Fri Jan 30 11:08:30 CET 2015 correct
文档hwclock
说明它始终显示本地时间,无论 RTC 是根据本地时间还是世界时间设置的。
什么原因导致 hwclock 显示 UTC+2 作为当地时间?
我原本以为 hwclock “认为” RTC 是按照 UTC 设置的,因此显示 +1,因为我在中欧,但 RTC 实际上是本地时间(已经 +1),因此显示 +1+1=+2。但timedatectl
上面“说” RTC 不是本地的。那么到底是怎么回事?
更新:
$ sudo hwclock --debug
hwclock from util-linux 2.20.1
Using /dev interface to clock.
Assuming hardware clock is kept in UTC time.
Waiting for clock tick...
...got clock tick
Time read from Hardware Clock: 2015/01/30 11:38:38
Hw clock time : 2015/01/30 11:38:38 = 1422617918 seconds since 1969
Fri Jan 30 12:38:38 2015 -0.516275 seconds
因此它“认为” RTC 是 UTC,但实际上是本地时间。那么timedatectl
罪魁祸首是谁?
答案1
- 转到您的 BIOS 并将 BIOS 时钟设置为 UTC 并在那里正确设置时间!
- 在 Windows 中,设置
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal"
为dword:00000001
- 仍在 Windows 中,转到控制面板,添加/删除软件,更改 Windows 设置,添加 Windows 时间服务器。
- 在 Ubuntu 中,如果值为,
sudo nano /etc/default/rcS
Ctrl则更改为WUTC=
no
yes
- 仍在 Ubuntu按照官方说明进行操作安装
ntp
sudo reboot
问题解决了!
为什么选择 Windows? 好吧,如果你的设置关闭了,我推断你一定是双重启动,而且 Windows 把事情搞乱了! 吃! ;-)