Dual booting is a popular option and you can dual boot Windows 10 with your other OS, most probably Linux. But as soon as your excitement about a new OS wears out and you return to Windows, youโll notice something peculiar. It doesnโt show the right time. Linux stores the time in UTC and the UTC time, thatโs really the problem here.
Here is the workaround to fix the different times shown on the Windows Clock and Linux Clock.
Why do Windows Clock and Linux Clock Show Different Times?
Your computer keeps track of time even when it is shut down, something we mostly take for granted. It does this by storing the time on a clock on the motherboard. The difference arises in the way Windows and Linux (based on UNIX) handle the stored time.
Windows will assume the time stored on the motherboard is the local time so it doesnโt apply any offset. Whereas, on the other hand, Unix based systems including macOS and Linux assume that the time stored on the motherboard is UTC (a.k.a. Greenwich Mean Time). Therefore, such operating systems will apply an offset to the store time to display the local time.
Neither of these is actually wrong because what is time but a measurement. It doesnโt matter whether you measure it with an analog clock, digital clock, or even an hourglass as long as everyone is onboard with the measurement. Both these systems used by Windows and Linux work just alright independently.
The problem occurs when theyโre no more independent and the two operating systems co-exist on the same motherboard. For example, when you dual boot Windows 10 and Linux. Due to the difference in the way they handle the stored time, their clocks just donโt sync.
Related: How to Fix Android Clock Widget Showing Wrong Time Error
Fix Time Difference Between Windows Clock and Linux Clock
The fix is quite easy when you have a dual boot Windows 10 and Linux setup. We either make Linux change the way it interprets the stored time or we make Windows change its interpretation. Itโs better to change how the Linux clock shows the stored time. Because Windows can run into problems that are hard to track, especially with some third-party applications. Thatโs because some Windows applications just assume that the time is local time. Besides, UTC time doesnโt work really with its Internet time-syncing service.
Method 1: Make Linux use local time
Not only is this a more reliable method, changing Linuxโs ways is a much simpler process too. Ask anyone who uses the command line often, theyโll tell you itโs faster and easier. As long as you know specifically what youโre after it really is. Instead of opening apps browsing through settings and all, you could simply push a command. Itโs a one-step process, provided you know what exactly you want to do.
In this case, we need Linux to use to interpret the motherboardโs time as local time. That can be done with this one simple command.
timedatectl set-local-rtc 1 --adjust-system-clock
Linux will no longer apply timezone adjustments to the clock on your motherboard. As a result, the clocks on your dual boot Windows 10 and Linux set up will be in perfect sync. Before you reboot though you should probably make sure it has worked. Just Enter the command below in the Terminal.
timedatectl
In the text youโre returned, look for โRTC in local TZ: yesโ. If itโs โyesโ it means things have worked out. You will also see a warning that says this mode is not fully supported but you donโt worry as long as you are dual boot Windows 10 alongside Linux. Linux doesnโt handle daylight savings well with the time configured to be interpreted as local time. But Windows will take care of the daylight savings so you donโt need to worry.
In case you would ever like to undo this change, itโs as simple as entering the same command again but with 0 instead of 1.
timedatectl set-local-rtc 0 --adjust-system-clock
Method 2: Make Windows use UTC Time
While this is not the preferable method, you can still do it this way. Before you can though, youโll have to disable the Internet time updating feature on Windows. For this, go to Settings > Time & Language > Date & time. You can also reach here by right-clicking the clock in the taskbar and selecting Adjust date/time. Regardless of how you reach here, disable to toggle under Set time automatically.
Related: Google Clock- How to Get Most Out of Google Clock App?
Next, weโre going to need to make some changes to the registry. This is why we recommend making the necessary changes in Linux instead. The Windows Registry is a sensitive part of the system and breaking it could lead to bad consequences. Although the little change we have to make does not directly affect the system a lot, itโs only fair that youโre warned about the dangers of messing with the registry.
That being said, Windows does provide the tool you need to mess with the registry and itโs called Registry Editor. You can launch it by searching for regedit in the Windows search. When you have it open, navigate to the following address from the left column. You can also copy and paste the address in the address bar instead and hit Enter.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation
Right-click on the TimeZoneInformation key and select New > DWORD (32-bit) Value.
Name the newly created DWORD Value as RealTimeIsUniversal. Now right-click on it and select Modify or just double-click on it.
Change the Value data from 0 to 1 and click OK. You can now close the registry editor. From now on, Windows will store time as UTC time, just like Linux. Therefore, this will fix any time differences between the Windows clock and the Linux clock.
Related: How to Remove the Taskbar Clock?
Why does Windows use Local Time Anyway?
The curious amongst you must be wondering, why does Windows use a different system than almost every other OS out there? The same reason Windows still uses registries and all the old legacy stuff. Backward compatibility has played a huge role in how Microsoft developed future versions of Windows. In this case, this was done to preserve backward compatibility with Windows 3.1.
Admittedly, nobody really uses Windows 3.1 anymore so it doesnโt make much sense now. Itโs about time that Microsoft should fix the Windows time situation. But then, why would they? It works alright, unless you dual boot. The official Microsoft blog explains this in much detail.