For those dual-boot Windows 11 and Ubuntu or other Linux, you will find that the time display on each system is different. Normally Windows will display the wrong time. In this guide, you will learn how to fix Windows 11 and Linux showing different times when dual booting. You can do it in 2 ways which you will learn below.
Why does this happen? Your computer stores the time in the hardware clock on the motherboard. Even if the computer is turned off, the clock will record the time. By default, Windows assumes that the time is stored in local time, while Linux assumes that the time is stored in UTC and applies an offset. This can cause one of your operating systems to display the wrong time in a dual-boot situation.
Table of Contents
Fix Incorrect Time in Windows 11 That Dual boot with Linux
To solve this problem, you have two options: let Linux use local time, or let Windows use UTC. Do not follow the two options described below, otherwise, they will not speak the same language! If possible, we recommend that you let Linux use local time.
Here are the 2 methods to fix it:
Method 1: Make Linux Use Local Time
Letting Linux use local time like Windows is probably the best option. Windows has a registry setting that forces it to store the time as UTC, but it is reportedly not well supported and can cause problems with some third-party applications that always assume the hardware clock is local time. Itis also incompatible with Windows’ own Internet time synchronization service.
The steps to make the Linux system use local time vary depending on the Linux distribution. However, on any Linux distribution with systemd, you can use the timedatectl command to make this change. This will apply to modern versions of Ubuntu, Fedora, Red Hat, Debian, Mint, and other Linux distributions that use systemd.
Though it’s not recommended, set the Real Time Clock (RTC) to use local time zone just works.
1. To make Linux use local time, Launch the terminal either from the system app launcher or by using the Ctrl+Alt+T shortcut on the keyboard. After it opens, enter the below command:
timedatectl set-local-rtc 1 --adjust-system-clock
2. Then you can check system clock status via command:
And “RTC in local TZ: yes”, where TZ means time zone, tells local time standard is in use.
As I said “it’s not recommended“, it warns that localtime standards may cause various problems with time zone changes and daylight saving time adjustments.
You can restore UTC time standard and do method 2 instead by running the command:
timedatectl set-local-rtc 0
Method 2: Make Windows 11 Use UTC Time
Letting Windows 11 use UTC time like Linux may not be the best option. You can edit the registry so that Windows uses UTC time, but this can cause more problems than simply making Linux use local time.
If you are currently running Windows 11, you can easily enable the UTC \ GMT standard by following the steps below.
1. To make Windows 11 use UTC time, tap on the ‘Search’ icon on the taskbar. Then search for and right-click on ‘Command Prompt’ and select ‘Run as administrator’.
2. When command prompt opens, copy and paste the command below and hit enter:
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f
3. Now, the command creates a registry key to tell Windows to use the universal time standard instead.
That’s it! This is how you can fix Windows 11 and Linux showing different times when dual booting. If you want to know why Windows uses local time instead of UTC like other operating systems, there’s currently no standard for labeling whether a time is stored as UTC or local time in BIOS or UEFI firmware, which would probably be the most logical solution. But this takes some work, and most people won’t even notice that different operating systems use different time formats, except for dual-boot setups.