【双系统】Ubuntu 与 Windows 时间差 8 小时

摘自怎样解决Windows10时间快和Ubuntu时间差问题? - 滑稽的回答 - 知乎,略有删改。

一. 原因

先说下两个概念:

  • UTC即Universal Time Coordinated:协调世界时(世界统一时间)
  • GMT 即Greenwich Mean Time:格林尼治平时

Windows 与 Mac/Linux 看待系统硬件时间的方式是不一样的:
  Windows把计算机硬件时间当作本地时间(local time),所以在Windows系统中显示的时间跟BIOS中显示的时间是一样的。
  Linux/Unix/Mac把计算机硬件时间当作 UTC, 所以在Linux/Unix/Mac系统启动后在该时间的基础上,加上电脑设置的时区数( 比如我们在中国,它就加上“8” ),因此,Linux/Unix/Mac系统中显示的时间总是比Windows系统中显示的时间快8个小时。
  所以,当你在Linux/Unix/Mac系统中,把系统现实的时间设置正确后,其实计算机硬件时间是在这个时间上减去8小时,当你切换成Windows系统后,会发现时间慢了8小时。

二. 解决方法

这里提供两种解决方法,个人倾向于使用第一种:

  1. 在Ubuntu中把计算机硬件时间改成系统显示的时间,即禁用Ubuntu的UTC。
    这又有另一个需要注意的地方:
    在 Ubuntu 16.04 版本以前,关闭UTC的方法是编辑/etc/default/rcS,将UTC=yes改成UTC=no, 但在Ubuntu 16.04使用systemd启动之后,时间改成了由timedatectl来管理,所以更改方法是
timedatectl set-local-rtc 1 --adjust-system-clock

执行后重启Ubuntu,应该就没有问题了。

  1. 修改 Windows对硬件时间的对待方式,让 Windows把硬件时间当作UTC:
    打开命令行程序,在命令行中输入下面命令并回车:
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1

三. 后续

Windows在与time.windows.com同步时出错的解决方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容