现象
安装虚拟机后使用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