Time Zone on dual boot system

My new computer has been set up with Windows on the main drive, and Ubuntu 21.04 on a 250 gb expansion card.
by changing the boot timeout from zero to two seconds, it’s easy to catch the F12 boot override to switch.
The question is, when I switch back to boot Windows, after using Ubuntu, the Time has reset to match UTC. The time zone is still set to my local time. I have to consciously sync the time. to get it correct.

Any ideas why this is happening?


Ubuntu prefers the RTC (Real Time Clock aka the BIOS time) set to UTC and then offsetting with time zones to display the correct local time. By default it even adjusts the RTC to UTC itself.

To disable, run the following terminal command:
sudo timedatectl set-local-rtc 1 --adjust-system-clock

Then reboot to BIOS:
sudo systemctl reboot --firmware-setup (or reboot and mash F2)

Then adjust the System Time and now Windows should stay at the local time.


Thank you for that explanation and solution.
If I start dual booting often, it will be useful.

Not afraid of a command line, I just grew up with MS-DOS. Not as familiar with all of the nuances for Linux.

How do you find all of these references? Google search?

Yup, just searching around the web. I’ve only dabbled in Linux (mostly Ubuntu) so I have to look up unusual issues.

My first exposure to Linux was in about 1995. Was very frustrating at that time. So never had time to dig and play. Hopefully, will be able to find some time now.

Note that you can also change Windows to use UTC for the RTC - I haven’t looked up how to do this in a while, but I believe it’s a registry setting. You might prefer to do this instead if you have multiple Linux installs, or if you prefer reinstalling Linux instead of upgrading to the latest version.


Good alternative, ultimately, I just want it to be transparent to me, when I switch between systems.

Yep. For Windows 10, open powershell in admin mode and then run

reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f

Thank you, all these things that are hidden in documentation…

I suggest this solution, not using UTC for time is pretty dumb, and if you’re travelling around with a laptop it will handle timezones much better this way


Just set the Frame.work up with this. May or May not do the same for other computers, since they will not be dual booting.