Error: BIOS time gets set as local time after every VM reboot
book
Article ID: 419717
calendar_today
Updated On:
Products
VMware vSphere ESXi
Issue/Introduction
After the reboot a VM sees time as UTC instead of UTC+1
Cron jobs cannot be run on the specified time as time is not correct
VMs were cloned from one specific template and all VMs from that template have the same issue
Once VM is rebooted ntp slowly drift the system clock until is set correctly, and after reboot is again 53 minutes away
Environment
VMware vSphere ESXi 8.0.X
Cause
When template was created the time was off by 3 minutes in one direction during summer time, then off by 57 minutes in the opposite direction during standard time, which makes an hour in total 57 + 3 = 60.
The offset in the .nvram file (in the CMOStimB section) is 3439 seconds (57 minutes and 19 seconds) and 3439 seconds is almost 3 minutes behind CET (UTC+1), therefore expected to see that value as a 3 minute error if you created a VM that expects CET+1 in the RTC
Resolution
Using UTC in the RTC would make sense for Linux; it can use either UTC (generally preferred) or local time (configurable, mostly for dual-boot with Windows).