设置Ubuntu虚拟机硬件时间与系统同步

现象

安装虚拟机后使用vmtools同步主宿机时间,重启Ubuntu后又变为错误时间。

排查

Ubuntu安装时已配置时区为UTC+8 Shanghai
通过date -u命令查看UTC时间发现
guest UTC = host CST
Ubuntu在此基础上再+8导致错误

解决

正确设置时区后关闭vmtools中时间同步功能
再次打开时间同步功能,此时虚拟机时间暂时正常
若已安装open-vm-tools可直接在虚拟机中调用vmware-toolbox-cmd实用程序

open-vm-tools timesync disable
open-vm-tools timesync enable

最后调整硬件时钟保存更改

sudo hwclock --systohc

验证

再次运行date -u命令查看UTC时间,已正确显示协调世界时间

后记

linux默认默认RTC(硬件时间)是Universal Time
Windows默认RTC是Local Time
只要把Windows的硬件时间修改为UTC即可永久解决
运行cmd输入以下命令
Reg add HKLMSYSTEMCurrentControlSetControlTimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1

原文地址:https://www.cnblogs.com/azureology/p/13217791.html