Ubuntu changes Windows 10 clock?

Ubuntu Support Template

Ubuntu Version: Ubuntu 24.04
Example: 22.04 LTS, 24.04, 25.10

Desktop Environment (if applicable): Gnome
Example: GNOME, KDE Plasma, XFCE, Budgie, etc.

Problem Description: On a dual boot setup I noticed that every time I boot into Ubuntu it changes my clock ahead 4 hrs in Windows 10. Once I set the clock correctly in Windows it will stay correct after rebooting or shutting down as long as I boot back into Windows. As soon as I boot back into Ubuntu it will change the clock in Windows the very next time I boot into it. This is happening on two different computers so it sounds like a specific problem with dual booting using the Grub boot file. Anybody experience this same issue or have any ideas?

Please edit your post to remove information not relevant to the support request.

The template is meant to be a guide.

Thanks

2 Likes

Have you verified that both, your Windows and Linux, have set your TZ to the same value?

You can verify the one for Linux by doing

ls -l /etc/localtime

For example, being in Georgia, your timezone should be reporting as

/usr/share/zoneinfo/America/New_York

IF that is a Desktop. On the other hand, if the computer is a server, it is likely set to UTC, even if your login setup is correctly set for your timezone via bashrc or other.

You can verify what the MotherBoard has as stored time by probing as follows:

sudo hwclock --show

To counter the changes by the Linux OS, which follows industry standards for time management, you could implement something like the following (with time obtained at moment of action being applied) as a shutdown action, to re-establish the “proper” Windows MotherBoard time:

now=$(date '+%Y-%m-%d %H:%M:%S' )

sudo hwclock --set --date="${now}"


Outside the scope of your original question, if you want to know “everything” about the system’s treatment of the Hardware Clock, you can enter the following:

hwclock --verbose

For me, Desktop showing time as 14:19, it reports as follows:

hwclock from util-linux 2.37.2
System Time: 1780769834.280965
Trying to open: /dev/rtc0
Using the rtc interface to the clock.
Last drift adjustment done at 1617305660 seconds after 1969
Last calibration done at 1617305660 seconds after 1969

Hardware clock is on UTC time

Assuming hardware clock is kept in UTC time.
Waiting for clock tick...
...got clock tick
Time read from Hardware Clock: 2026/06/06 18:17:15
HW clock time : 2026/06/06 18:17:15 = 1780769835 seconds since 1969
Time since last adjustment is 163464175 seconds
Calculated Hardware Clock drift is 0.000000 seconds
2026-06-06 14:17:14.061129-04:00

So, it would seem that Windows does not follow “standard” conventions regarding the management of time settings on computers.

1 Like

This can also be done using System Settings utility. Go to System. There we can disable Automatic Date and Time and Automatic Time Zone. We can also change the Time Zone (TZ) if Ubuntu is set to a different Time Zone to Windows

Regards

This ‘problem’ is due to the fact that windows by default is set to ‘local’ timezone while Linux is usually set to UTC. Set both to UTC or both to local timezone.

3 Likes

On October 14, 2025, Windows 10 reached end of support.

I trust that you are using a supported version of Ubuntu?

1 Like

I think that was exactly the problem.

This terminal command solved everything: timedatectl set-local-rtc 1 --adjust-system-clock

I ran that command, but got a warning about it. Now, I believe as a result, the time zone menu doesn’t come up in the system settings:

How can I get it back?

Sorry to hear it caused you a problem but I wouldn’t know what to do in your case since it didn’t cause me any problem like yours.

All I did was search the internet & tried a bunch things & that ended up to be the command that worked. I hope you find the answer to your problem.

When I ran into this problem, I just had to set the correct time in my BIOS. Windows and Linux use different time systems and that sometimes causes this error

I can only suggest that you try the following sequence of steps, to get back to where you were:

  • set proper reference to your timezone:
sudo timedatectl set-timezone "America/Toronto"
  • set your Network Time Protocol preference (on/off):
sudo timedatectl set-ntp true

        OR

sudo timedatectl set-ntp false
  • set hardware clock to local time:
sudo timedatectl set-local-rtc 1

Hopefully, that gets you back to where you started.

1 Like

This topic was automatically closed 18 hours after the last reply. New replies are no longer allowed.