[每日短篇] 1B - Ubuntu 和 Windows 双系统下时间设置

用 Ubuntu (或者其它 Linux 发行版)和 Windows 双系统时可能会发现切换系统后总有一小段时间时钟时间是不对的,要么早 8 小时要么晚 8 小时。形成这种情况的缘由是对 RTC 的时区认识不一样。RTC 就是主板上的硬件时钟,关机甚至断电以后靠电池持续计时,等下次系统启动时会读取用来初始化本身的时钟。在大多数系统中,获取系统时间都不会每次读取 RTC,而是在内存中保存一个计数器用于表示时间。由于 RTC 是没有时区概念的,因此当系统初始化时认为这个时间是什么时区的,就决定了系统初始显示的时间是什么。在缺省状况下,Windows 当 RTC 是按本地时区计时,Ubuntu 当 RTC 是按 UTC 时区计时,因此同一个 RTC 时间在 2 个系统中解释就不一样。当系统运行起来以后一段时间,时间同步服务会把系统时间改回为正确的时间。这也就是为何双系统在切换后的一小段时间里时间显示有问题了。code

要解决这个问题无非是把全部系统的设置改成一致的了,Windows 要修改注册表,看起来比较麻烦,在 Ubuntu 下修改只须要 1 条命令内存

sudo timedatectl set-local-rtc 1

写这篇文章的时候,Ubuntu 的最新版本是 18.04,仅须要上面这条命令就足够,若是仍是有问题,能够尝试 sudo hwclock -w 把系统时间再写入 RTC。同步

相关文章
相关标签/搜索