When Windows and booting Linux are dual-booted, Windows’ time settings are most likely to be affected. Here are three quick fixes for this.
Have you ever attempted to dual-boot Windows and Linux and had a failed time travel experiment? When you start Windows in the afternoon, you find out all of a sudden that night has fallen.
Almost all Windows-Linux dual-boot systems have this persistent nuisance. Let’s find out why this occurs, how to resolve this bizarre time paradox, and return to the current day and time.
Why Does Dual-Booting Linux Mess Up Your Windows Time?
The fundamental problem here is how these two operating systems handle the hardware clock.
The actual component on the motherboard of your computer that keeps time is called the hardware clock. It is controlled by the kernel of the operating system you are using and is powered by the CMOS battery. The way that this clock is managed varies between operating systems.
Since Windows thinks the device clock is already using local time determined from your present location, Linux sets the hardware clock to Universal Time Coordinated (UTC).
Since Linux calculates the time difference between UTC and your local time and puts an internal offset in the OS clock, even when you dual-boot both of these systems, Linux still displays the accurate time.
Windows, however, continues to read the time from the hardware clock and presents it as local time since it is unaffected and untethered by the hardware clock’s timezone change.
You must set up both of your operating systems to handle the hardware clock or the OS clock uniformly in order to address the issue.
1. Make Linux Use Local Time for the Hardware Clock Booting Linux
As was previously mentioned, the problem results from Linux setting the hardware clock to UTC. It is easiest to setup Linux to adjust the hardware clock, also known as the real-time clock (RTC), to local time in order to rectify Windows’ erroneous time display.
After that, Windows would show local time after retrieving it from the system clock. Here’s how to configure Linux’s RTC to use local time:
- Fire up a new terminal window.
- Using the timedatectl command, set the RTC to use local time by running this command with the sudo prefix:
sudo timedatectl set-local rtc 1
- Reboot your system manually or type in reboot.
That’s all the steps required to set the hardware clock to use local time on Linux.
To revert changes, simply type in the same command with a small edit of changing “1” to “0”. This is the easiest way to fix the time inconsistency issue when dual-booting.
2. Configure Windows to Auto Sync Time From the Internet Booting Linux
Your time-related issues should all be resolved by the last technique. Here’s an easy method to correct your Windows time without switching to Linux in case it didn’t.
A built-in automatic time synchronisation capability on Windows and Linux synchronises the system time with an internet time server. The procedures to activate automatic time synchronisation are as follows:
Right-click the taskbar’s bottom-right area, where the time is shown.
Choose Adjust Date and Time from the option that appears. The alternative is to go Settings > Time & Language > Date & Time.
If your timezone was off, fix it by clicking the slider, switch on Set time Automatically, and then save your adjustments by clicking Sync .
3. Make Windows Use UTC Time for the Hardware Clock
Windows doesn’t bother setting the hardware clock to your local time again since it would be redundant because, as was previously said, it thinks that the hardware clock is set to local time.
Windows may be configured to configure the hardware clock and set it to UTC, forcing Windows to convert the UTC from the hardware clock into local time in order to resolve this issue.
It is advised that you first try the other two fixes before turning to this one as it is a more complicated remedy. These are the procedures to take if neither of the earlier remedies worked:
- Using the search bar or Win + R shortcut, fire up the Run dialog box on Windows and type in regedit.
- With Windows Registry Editor opened, go to this location: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation.
- Right-click the empty space, click on New, and add a new Q-WORD (64-bit) Value entry, giving it the name RealTimeisUniversal. If you’re on a 32-bit Windows version, you need to add a D-WORD (32-bit) Value entry instead.
- After the entry has been added, double-click on it and set the value to 1 and reboot your system.
Windows will now first set the hardware clock to UTC and then convert UTC to your local time, giving you the correct time and date and thus eliminating the time discrepancy occurring due to dual-booting Windows with Linux.
Back to the Present: Windows Showing Incorrect Time in Dual-Boot Setup Fixed!
Regardless of the Windows and Linux versions they are using, all dual-boot users have the issue of the wrong time while dual-booting.
Unwanted time travel can get you in trouble or make you look bad, but now you have three distinct methods to deal with it.
Although Linux and Windows’ different approaches to timekeeping are usually to blame for this problem, it is possible for hardware to be malfunctioning or for your system to have concealed spyware.
If none of these dual-boot tailored remedies appear to help you, you could want to verify the hardware’s health or look for any signs of malware on your computer.