Skip to content
FixingBook
Verifiedbeginnerest. 10 minutes

Fix Dual Boot Windows and Linux Time Sync Issue

Resolve the issue where Windows shows the wrong time after booting from Linux due to RTC time standard differences.

Confirmed working on: All Linux Distributions

Before you begin

Match the environmentUse this guide only for All Linux Distributions or a clearly compatible setup.
Protect recoveryBack up important data and save encryption or account recovery keys before changing system state.
Know when to stopMake one change at a time and stop if the result differs from what the guide describes.

Problem overview

When you dual-boot between Windows and Linux, the system clock is always incorrect by several hours when you switch operating systems.

Common causes

  • Windows saves the hardware Real-Time Clock (RTC) in local time.
  • Linux saves the hardware Real-Time Clock in Coordinated Universal Time (UTC) by default.

Solution 1: Make Linux use local time

The fastest fix is to configure your Linux system to treat the hardware clock as local time, matching the default Windows behavior.

  1. Boot into your Linux distribution.
  2. Open a terminal.
  3. Instruct systemd to use local time for the RTC:
    timedatectl set-local-rtc 1
  4. Verify the change by checking the output of this command:
    timedatectl
    You should see a warning that the RTC is in local TZ.
  5. Reboot into Windows and let the time sync from the internet once. Both systems will now agree on the time.
Caution

Using local time in Linux can occasionally cause issues with daylight saving time changes, as both operating systems might attempt to adjust the clock simultaneously.

Solution 2: Make Windows use UTC

A cleaner technical solution is to force Windows to use UTC for the hardware clock, matching Linux.

  1. Boot into Windows.
  2. Open the Start menu, type cmd, right-click Command Prompt, and select Run as administrator.
  3. Add the necessary registry key to use UTC:
    reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f
  4. Turn off the “Set time automatically” toggle in Windows Settings, then turn it back on to sync the time.
  5. If you previously applied Solution 1 in Linux, revert it by booting into Linux and running:
    timedatectl set-local-rtc 0

Confirm the result

  1. Repeat the exact action that originally triggered the problem.
  2. Confirm the original error or symptom is gone and no new warning has appeared.
  3. If the guide changed a driver, service, package, or system setting, restart once and test again.
  4. If the result is worse or unexpected, stop. Reverse only the last change using its documented restore option; if none is documented, use your backup or qualified support.

Questions about this fix

Why do Windows and Linux handle time differently?

Windows assumes the hardware clock is set to local time. Linux assumes it is set to UTC and applies timezone offsets in software.

Should I change Linux or Windows?

Changing Windows to use UTC is technically better, but changing Linux to use local time is often easier and less prone to breaking during Windows updates.

Did this fix work for you?

Weighted Consensus Protocol

Consensus0%
Required100% (Weight 3)
Contributors0
Verified By YouNo
Your Weight--

Did this solution resolve your issue?

Confirming if this works strengthens verification statistics on the registry.

Sign In to VerifySign in required to verify

FixingTeam10,000 rep

Official Project Maintainers

The core engineering and moderation team behind FixingBook. We curate, verify, and maintain the standards of the troubleshooting ledger.

Spotted something outdated? Suggest an edit. Maintainers review submissions within 48 hours.
Share:XReddit

Discussion (0)

No comments yet. Share your experience or verify if this fixed your issue!

Join the Discussion