Make Windows Use UTC for Dual Boot and Stop the Clock Fight
The dual-boot clock fight has two possible peace treaties. One bends Ubuntu to read the hardware clock the Windows way. This page covers the other: leave Ubuntu at its clean UTC default, and change Windows instead. It is the tidier idea - with one honest asterisk you should read before signing.
✍️ Technical Anshu🐧 Ubuntu⏱️ 7 minute read
🎥 Watch the full video - every Ubuntu time fix shown live, step by step
By default, Windows writes the hardware clock (RTC) as local time; Ubuntu writes it as UTC. A registry value named RealTimeIsUniversal flips Windows to the UTC convention. With both systems speaking UTC, the clock survives every switch untouched, and Ubuntu keeps the default its own tooling prefers. The change is small, reversible, and widely used - but it is not an officially supported Microsoft configuration, and this page grades it as exactly that: a good hack with a known status, not a hidden official setting.
Notepad - the same change as a double-clickable registry file
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=hex(b):01,00,00,00,00,00,00,00
Save as utc.reg and double-click to apply, if you prefer files over regedit. The hex(b) line is a 64-bit value of 1 - the QWORD form, for 64-bit Windows. Example file; the regedit steps below do the same thing.
1
Before You Start - One Convention, Chosen Once
Confirm Ubuntu is at its default: timedatectl shows RTC in local TZ: no
If you previously ran timedatectl set-local-rtc 1, undo it first with timedatectl set-local-rtc 0 --adjust-system-clock
Never run both fixes together. Ubuntu in local mode plus Windows in UTC mode recreates the same error, flipped
Make a restore point in Windows, or export the registry key before editing - thirty seconds of insurance on any registry change
This page changes Windows only. Ubuntu needs nothing - that is the point of choosing this side.
2
The Registry Change - regedit Steps
In Windows, press the Windows key, type regedit, and open the Registry Editor as administrator
Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
Right-click in the empty space on the right, choose New, then the value type for your Windows: QWORD (64-bit) Value on 64-bit Windows (almost every modern install), DWORD (32-bit) Value on 32-bit Windows
Name it exactly RealTimeIsUniversal and set its value data to 1
Restart Windows. Then set the clock correctly once - after this restart, Windows reads the RTC as UTC, so the first display may be off by your offset until corrected
Command-line equivalent, in an administrator Command Prompt: reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /t REG_QWORD /d 1 /f
3
The First Boot After - Set the Time Right Exactly Once
Immediately after the change, Windows interprets the existing RTC value as UTC, so the displayed time will likely be wrong by your offset - this is expected, not a failure
Correct it once: Settings, then Time & language, then Date & time - let it sync, or set it manually
Behind the scenes Windows now writes the RTC as true UTC
Boot Ubuntu: with no change made there, timedatectl should show the correct local time immediately, RTC matching Universal time
Boot Windows once more to complete the proof - both systems now agree across switches
Judging the fix before this one correction is the classic way people abandon it in the first five minutes.
4
The Honest Grading - What Supported Really Means Here
Straight facts, so you choose with open eyes:
Microsoft does not officially support RealTimeIsUniversal on desktop Windows; the value exists and works, but it is not a documented consumer feature
In practice it has worked for years for a large number of dual-boot users, and it keeps Ubuntu on the configuration its own developers recommend
Occasional reports exist of quirks - time oddities after some major Windows updates or around sleep and hibernate on certain builds. If your Windows develops time weirdness after an update, this value is the first suspect to test by removing it
It is fully reversible: set the value to 0 or delete it, restart, and correct the clock once - Windows returns to its factory convention
On a work-managed Windows, do not make this change without your IT team's agreement - unsupported plus managed is a bad combination
Verdict: a sound choice for a personal dual-boot machine whose owner understands the asterisk. Not a choice to make silently on someone else's PC.
5
Ubuntu Side or Windows Side - the Short Comparison
Change Ubuntu (set-local-rtc 1) - one command, built-in and reversible in a line; the trade is living in the mode timedatectl itself warns about, with daylight-saving edge cases (a non-issue in India)
Change Windows (this page) - conceptually the cleanest end state, UTC everywhere, Ubuntu untouched; the trade is relying on an unsupported Windows behaviour
Single-user home machine you fully control: either works; the Ubuntu command is the faster afternoon
Machine where Linux is the main system and Windows the occasional guest: this page's route keeps your main system pristine
Machine owned by an employer or school: neither without permission - ask first, and let them pick their support burden
There is no universal winner. There is only the rule both pages repeat: one convention, chosen once, on one side only.
🕐 Reversal, for the record: delete the RealTimeIsUniversal value (or set it to 0), restart Windows, set the clock right once - and if Ubuntu was ever switched, restore it with timedatectl set-local-rtc 0 --adjust-system-clock. Both systems back to factory in two minutes.
Watch the Complete Video Guide
Watch the video for the registry edit done live, the first-boot correction, and the three-boot proof that the clock fight is over.
Is RealTimeIsUniversal an official Windows setting?
No. The value is real and functional, but Microsoft does not officially support using it on desktop Windows. It is a long-standing, widely used dual-boot remedy - best applied knowingly on your own machine, and reversible in a minute if a future Windows update ever disagrees with it.
Should I use QWORD or DWORD for the value?
Match your Windows architecture: QWORD (64-bit) on 64-bit Windows, which is nearly every modern installation, and DWORD (32-bit) on 32-bit Windows. Using the wrong type is a common reason the change appears to do nothing.
I set the registry value and Windows time got worse. Did I break it?
Almost certainly not. On the first boot Windows reinterprets the old hardware-clock value as UTC, so the clock shows off by your zone offset until you correct it once and let Windows rewrite the RTC as UTC. Judge the fix after that one correction and a full switch test into Ubuntu and back.
This guide is based on the Technical Anshu Ubuntu time fix video - stuck on any step, ask in the video comments and you will get an answer.