Windows和Linux双系统时间误差8小时解决方案

时钟分类

硬件时钟(又名RTC 或 CMOS 时钟):仅能保存:年、月、日、时、分、秒这些时间数值,无法保存时间标准(UTC 或 localtime)和是否使用夏令时。

系统时钟(又名软件时钟): 与硬件时间分开维护,保存了:时间、时区和夏令时设置。

时间标准

UTC时间(世界协调时):UTC 是与时区无关的全球时间标准。

localtime(本地时间):依赖于当前时区。

timezone(时区):中国时区是UTC+8。

时间管理流程

大部分操作系统的时间管理流程如下:

  • 启动时根据硬件时钟设置系统时间
  • 运行时通过时间同步联网校正时间
  • 关机时根据系统时间设置硬件时间

Windows默认会调用硬件时钟时间作为localtime(本地时间),并以系统时钟显示。

Linux默认会调用硬件时钟时间作为UTC时间,并在此基础上加上8个小时作为localtime(本地时间),最终以系统时钟显示。

解决方案

Windows时间管理流程改变为Linux时间管理流程,使用UTC时间

使用regedit,新建如下 DWORD 值(32位操作系统)或QWORD 值(64位操作系统),并将其值设为十六进制的 1

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal

Windows 使用 UTC 后,请记得禁用 Windows 的时间同步功能(无需禁用时区同步功能),以防关机时Windows将系统时间错误设置硬件时间,最后重启系统即可。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/experience/linux/3562.html

发表评论

登录后才能评论