Windows 7 loses correct time zone upon reboot

64-bitreboottime zonewindows 7

I have a standard PC running Windows 7 Ultimate (64-bit). For some reason, it refuses to keep the correct time zone (the BIOS battery is OK) when restarted.

Note (1): The Time zone is correct. The "Internet Time" tab also shows "this computer is set to automatically synchronize with 'time.windows.com'. When I click the 'Change settings…' button, the 'Synchronize with an Internet time server' checkbox is checked.

Still, upon reboot, the time is skewed by 6 hours… and doesn't correct itself even after waiting hours for this "automatically synchronize" to occur.

Note (2): The BIOS time is set to local (i.e. not UTC). When I restart Windows 7 without booting to the other OS installed in dual-boot config (Ubuntu Linux), it seems to correctly remember the time. This may explain immediate time upon reboot, but it doesn't explain why Windows 7 won't automatically 'Synchronize with an Internet time server' even after an hour.

Why is this happening and how do I correct this?

Best Answer

I decided to continue wasting time on troubleshooting problems in tools that are supposed to save me time... and I rebooted the system several times in order to have a more controlled observation of what's going on:

It turns out that mere booting to Ubuntu changes the BIOS time!

Apparently, Ubuntu uses UTC time, while Windows 7 uses local time (as has been for decades), and after retrieving correct time via NTP, Ubuntu updates the BIOS accordingly.

So, part of the mystery is solved, but I still don't understand why Windows 7 won't automatically 'Synchronize with an Internet time server' immediately upon reboot, just as Ubuntu does.

Related Question