Contribute
Register

Fix incorrect time in Windows + OSX dual boot

Joined
Feb 28, 2013
Messages
185
Motherboard
Gigabyte GA-Z77N-WIFI
CPU
i7 3770K
Graphics
NVIDIA GeForce GTX 770
Mac
  1. iMac
  2. MacBook
  3. Mac Pro
Mobile Phone
  1. Android
  2. iOS
This problem has been bugging me too. Thanks to all who took the time to explain the problem and create the fixes.
 
Joined
Apr 3, 2019
Messages
67
Motherboard
ASRock Z390 Phantom Gaming ITX/ac - v4.40
CPU
i7-9700
Graphics
UHD 630 + RX 590 Nitro+
Thanks for explanations and the fix. Very informative and helpful!
I find it crazy that this topic isn't more present in hackintosh dual boot forums/guides.
 
Joined
Mar 15, 2020
Messages
14
Motherboard
Z390 M Gaming
CPU
i5-9600
Graphics
RX 580
Mac
  1. Mac mini
Mobile Phone
  1. iOS
Worked perfectly! Thanks for the contribution
 
Joined
Aug 12, 2017
Messages
226
Motherboard
ASRock Z390 Phantom Gaming-ITX
CPU
i7-8700K
Graphics
RX 580
Mac
  1. iMac
  2. MacBook
  3. MacBook Air
  4. MacBook Pro
  5. Mac mini
  6. Mac Pro
Classic Mac
  1. 512K
  2. Centris
  3. iBook
  4. iMac
  5. LC
  6. Lisa
  7. Performa
  8. Plus
  9. Power Mac
  10. PowerBook
  11. Quadra
  12. SE
  13. SE/30
Mobile Phone
  1. Android
  2. iOS
  3. Other
I just thought I'd give people an easy to find guide for this information. Hope the mods are alright with that, and that this doesn't violate any posting guidelines.

1. Why does this happen?


The simple explanation is; Windows uses Greenwhich time, and OSX uses Universal Time. It's as simple as that. Every time the other OS boots up - it changes around your BIOS settings in-order to 'correct' the CPU clock timer - which is essential for any computer to calculate things correctly.

2. What's the difference?

GMT


Windows is always defaulted to use GMT as the location to set the time and date. GMT stands for 'Greenwich Observatory'. This observatory broadcasts the current time of the world based on the calculations of where the Earth rotation is in relation to the prime meridian.

Because of the fact that GMT is outdated - it doesn't consider other factors that are important to calculating time - such as; where the earth is in relation to the sun. Because of this - GMT is pretty much an 'average' or an estimated guess as to what time it is where you live.

To quote the Greenwich website...




UTC


As more sophisticated time pieces became available to scientists, the need for a new international time standard became apparent. Atomic clocks did not need to keep time based on average solar time at a particular location because they were very, very accurate. In addition, it became understood that due to the irregularity of the earth and the sun's movements, the exact time needed to be modified occasionally through the use of leap seconds. With this precise accuracy of time, UTC was born.


UTC, while based on zero degrees longitude, which passes through the Greenwich Observatory, is based on atomic time and includes leap seconds as they are added to our clock every so often. UTC was used beginning in the mid-twentieth century but became the official standard of world time on January 1, 1972.


UTC is 24-hour time, which begins at 0:00 at midnight. 12:00 is noon, 13:00 is 1 p.m., 14:00 is 2 p.m. and so on until 23:59, which is 11:59 p.m.


Time zones today are a certain number of hours or hours and minutes behind or ahead of UTC. UTC is also known as Zulu time in the airforce. When European Summer Time is not in effect, UTC matches the time zone of the United Kingdom.


Today, it is most appropriate to use and refer to time based on UTC and not on GMT.

3. How do I fix this?

It's quite simple really. All you need to do is set Windows to use UTC instead of GMT. To do this - we need to perform a simple registry edit. Go perform this - hold down the 'Windows' button, and at the same time press R (Win + R) this will bring up a new window titled 'RUN'

In this window type the command 'regedit'. UAC will popup asking for admin permission. Click accept and the registry editor will open. Now that were in regedit, navigate to...




Left click on 'TimeZoneInformation' and on the left it will display all the current values attributed to this registry key. On the left right click anywhere and choose 'Create new D-WORD'. You will now see a new entry at the bottom of the list.

Right click on this new entry and choose 'Modify'. Rename the key 'RealTimeIsUniversal' and change it's value to '1'. Click save, and now the entry should say 'RealTimeIsUniversal - 0x0000001' If it looks like that - then you're all done!

Reboot, and sync the windows clock - now your time settings will be universal (no pun intended :p ).

EDIT:

If you don't like fooling around with your registry, I've created a .reg file that will do all the work for you. All you need to do is download the attachment, extract it to where ever you want, and double click on 'Windows Universal time On'

If you want to switch back to GMT. Do the same, but instead - double click on the reg file named 'Windows Universal time Off' and that will remove the registry edits we made. :thumbup:

Anyways, hope this guide helps someone! Thanks for reading everyone!! It's greatly appreciated! I'm definitely looking forward to a good tenure on this very helpful forum. :)

View attachment 94625


Perfect solution! I am running OpenCore 0.5.8 on a HP 800 G2 with the same issue. I realised it happened after I setup dual-boot. I talked to HP support and they could not help me. The old CMOS battery was bad but with a new battery I still got the same error. Booting several time to Windows and I did not get the error. Only if I was booting OS X in between. HP Support suggested I replace the logic board! In OC there is an entry "DisableRtcChecksum = false" that I am not sure is equivalent to Clovers fixRTC (?). Anyway I tried the Windows registry change and it fixed my problem. Cheaper than a logic board replacement :cool:
#UPDATE#
Problem is back. Seems I have to hack OpenCore to force localtime (UTC) instead of GMT or get the motherboard to use GMT. I am confused. This is a problem only on my HP 800 G2 Mini. And the problem goes away when I boot Windows several times. I was able to fix it in Linux but when I boot OS X it is back. Patching out memory like I read in some posts seems over my head :(
 
Last edited:
Top