How to Fix Windows and Linux Showing Different Times When Dual Booting

Your computer stores the time in a hardware clock on its motherboard. The clock keeps track of the time, even when the computer is turned off. By default, Windows assumes that the time is stored in the local time, while Linux assumes that the time is stored in UTC and applies an offset. This leads to one of your operating systems showing the wrong time in a double boot situation .

To resolve this issue, you have two options: Make Linux use the local time or make Windows use UTC time. Do not follow the two steps of the instructions or they still do not speak the same language! We recommend making Linux local time, if possible.

Option 1: Make Linux the local time

Making Linux local time the same way Windows is probably the best option. Windows has a registry parameter that forces it to store time as UTC, but it is not supported properly and can cause problems with some third-party applications that still assume that the hardware clock is in local time. It is also incompatible with Windows' own time synchronization service.

The steps needed for your Linux system to use local time can vary from a Linux distribution to a Linux distribution. However, on any Linux distribution with systemd you can use the timedatectl command to make this change. This will work on modern versions of Ubuntu, Fedora, Red Hat, Debian, Mint and other Linux distributions using systemd.

To make this change, first open a Terminal window on your Linux system. Run the following command to put the clock in real time on the motherboard in the local time. Linux will store the time in the local time, just like Windows.

timedatectl set-local-rtc 1 –adjust-system-clock

To check your current settings, run:


If you see "RTC in local TZ: yes", Linux is configured to use the local time zone instead of UTC. The command warns you that this mode is not fully supported and can cause problems when switching from one time zone to another depending on the time of day. summer. However, this mode is probably better supported than the UTC option in Windows. If you double-boot with Windows, Windows will support the summer time for you.

If you want to undo this change, run the following command:

timedatectl set-local-rtc 0 –adjust-system-clock

Second option: Make Windows Use UTC time

Making Windows time UTC as Linux is probably not the best option. You can modify the registry for Windows to use UTC time, but this could potentially cause more problems than simply having Linux use local time

If you want to do this, you must first disable the Internet Time Update feature on Windows. This ensures that Windows does not set the clock correctly when you try to synchronize the current time on the Internet. For Windows 10, go to Settings> Time and language and turn off "Set time automatically". In Windows 7, right – click the system clock on the taskbar and select "Adjust Date / Time". Click the "Internet Time" tab, click the "Change Settings" button, uncheck the "Synchronize with an Internet Time Server" option and click "OK."

Making Windows use UTC time by modifying the registry

You will now need to add the appropriate value to the Windows registry. Here is our standard warning: The registry editor is a powerful tool and its misuse can make your system unstable or even unusable. This is a fairly easy hack and you should not have problems as long as you follow the instructions. That said, if you have never worked before, consider reading how to use Registry Editor before you start. And definitely save the registry (and your computer !) Before making any changes.

First, open Registry Editor by clicking Start, typing "regedit" and pressing Enter. Accepts the security prompt that appears.

Navigate to the following key in the left pane of the Registry Editor:

HKEY_LOCAL_MACHINE System CurrentControlSet Control TimeZoneInformation

On the latest versions of Windows 10, you can copy and paste the above line into the address box. However, this hack will also work on Windows 7.

Right-click the "TimeZoneInformation" button and select New> DWORD Value (32-bit).

Name your new RealTimeIsUniversal value .

Double-click the RealTimeIsUniversal value that you just created, set the value data to 1, and then click "OK"

You are finished and you can close the Registry Editor. Windows will store time in UTC, just like Linux

If you want to undo this change, return to this location in the registry, right-click the RealTimeIsUniversal value that you added, and then delete it from your registry.

Download our registry hack in one click

If you do not want to modify the registry yourself, you can use our downloadable registry hack. We created a hack that makes Windows use UTC time, and one that restores it to local time. Both are included in the following ZIP file. Just download the file, double click on the hack you want to use and agree to add information to your registry.

Using Windows Use UTC time

The above hacks do the same as we described above. Using Windows uses UTC time hack creates the "RealTimeIsUniversal" entry with the value "1", while Windows hacking uses the local time to remove the "RealTimeIsUniversal" entry,

If you want to see what this file is doing or any other .reg files, right-click it and select "Edit" to see the file in Notepad. You can easily create your own registry hacks, which simply consist of a list of registry entries to be added, modified, and deleted in a properly formatted list.

What about dual boot windows on a Mac?

Although the Apple MacOS uses UTC time as Linux, you should not have to do anything special when runs Windows in Boot Camp on a Mac . Apple Boot Camp drivers manage everything. (Hackintosh dual-booters is another story, however, and will have to try to use the Windows registry tweak above.)

If you are wondering why Windows uses local time instead of UTC like other operating systems, the official Microsoft blog The Old New Thing explains it here . In short, it was to preserve compatibility with the systems Windows 3.1 and to prevent people from being confused when they fix the time in the BIOS 39; computer. Of course, PC manufacturers have chosen the local time to be compatible with Windows and Windows chose the local time to be compatible with the decision that the PC manufacturers have chosen, so the cycle is become self-reinforced

At present, there is no standard for labeling whether a time is stored in UTC or local time in the BIOS or UEFI firmware, which would probably be the most logic. But this would require work, and most people will never notice that different operating systems use different time formats except in dual boot configurations.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.