Fun with Dual Booting and Time

So.. this is proving a bit of a peeve... advice appreciated:

- HP Laptop set up with BIOS Clock showing local time.
- Ubuntu Linux set up (17.10) and shows local time correctly.
- Windows 10 (OEM, albeit with less HDD assigned) keeps putting itself back in time by 13 hours! (We're in DST, so we're UTC +13. Coincidence?)

If I toggle Windows 10 auto-sync off-and-on again and it resync's via NTP, the clock goes back to normal.
I can't make sense of it. And Windows 10 seem to have stunted the ability to manually get the clock to sync.

I spend about half my time in Windows and the other half in Linux, so this is bloody annoying.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.


So here's a quick update.
Windows 10 appears to be reverting the clock on each boot, moving the OS time to match the BIOS.

Ubuntu seems to want the BIOS to be in UTC, and after finding this useful article and telling the machine that the RTC (BIOS clock) is in fact in local time, I get the following warning:

blakjak@skyraider:~$ timedatectl
Local time: Fri 2017-11-10 22:09:55 NZDT
Universal time: Fri 2017-11-10 09:09:55 UTC
RTC time: Fri 2017-11-10 22:09:56
Time zone: Pacific/Auckland (NZDT, +1300)
Network time on: yes
NTP synchronized: yes
RTC in local TZ: yes

Warning: The system is configured to read the RTC time in the local time zone.
This mode can not be fully supported. It will create various problems
with time zone changes and daylight saving time adjustments. The RTC
time is never updated, it relies on external facilities to maintain it.
If at all possible, use RTC in UTC by calling
'timedatectl set-local-rtc 0'.

So.. my next step is to see if I can set the BIOS clock to UTC and ensure Windows will respect that, as Windows doesn't like it.

Earlier I found a Technet artice which includes the following:

"Create a new DWORD sized Microsoft Windows registry setting named RealTimeIsUniversal under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\ and set the value to '1'. This option will cause the Windows operating system to treat the Real Time Clock time as UTC rather than local time. "

... i'm going to give this a go and see how lucky I get.

It works!

It works!