Jump to content
10 posts in this topic

Recommended Posts

There was a solution provided for 10.5 which was a PKG and worked. For 10.6, people found a trick, something to add in the windows registry. It worked sometimes, but now it doesn't, maybe cause updated to 10.6.4? Anyway i need a solution cause it's really annoying as you can imagine (or know)... Thanks!

This question comes up often enough that perhaps it should be made sticky.

 

Some background about the problem:

 

The computer's real time clock (RTC) doesn't specify the time zone, and the problem between Windows and OS X is because they interpret the RTC differently.

 

When Windows starts and reads the time from the RTC, it assumes that it is the local time, so it does not need to make any adjustment for time zone. If you change the time zone setting in Windows, it will adjust its time accordingly and then write the new local time to the RTC. When syncing time from the internet, Windows keeps the RTC updated to your local time.

 

On the other hand, when OS X starts and reads the time from the RTC, it assumes that it is Universal Time Coordinated (UTC), aka GMT. OS X then uses your time zone preference to calculate the local time. If you change the time zone preference in OS X, it calculates a new local time, but it does not have to adjust the RTC. When syncing time from the internet, OS X keeps the RTC updated to UTC.

 

The two approaches are opposite but equal and each one obviously works as designed, but they will conflict as soon as you try to multi-boot between them.

 

Linux also stores time the same as OS X so it has the same issue, however multi-booting between Windows and Linux has become common enough that many Linux distributions can be configured to interpret the RTC as local time to stay consistent with Windows. Some distros even ask whether the time is local or UTC during installation. However, OS X doesn't offer a similar compromise.

 

Windows has a registry setting that will make it read and store UTC the same as Linux and OS X. It seems Microsoft didn't officially support it on past versions of Windows, and there were certain instances where it did not work properly, for example when resuming from sleep or hibernate. But that particular bug is apparently fixed in Vista SP2 and in Windows 7.

 

In Regedit, go to:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

Create a DWORD named RealTimeIsUniversal and set its value to 1

 

Boot into OS X and correct the time, then boot back into Windows and it should also have the correct time. You can even change the time zone on one and it won't affect the other.

Thanks for the lesson but the registry thing you mentionned is what i used and now it doesn't work anymore (happened in the begining too), it add +2h often (after i made a sync with microsoft server to correct it) and i've no idea why... By the way, if i use OSX on same computer but another HD, would i still have this problem?

Between reboots, check the time in BIOS setup. It should be UTC before and after each operating system. Also make sure you have the correct time zone in both Windows and OS X.

 

Different HDs won't affect how it works. I use two different HDs for OS X and Windows in my system, Windows has the registry change, and both have the correct time.

  • 5 weeks later...

A quick way to fix this without messing with Windows is opening the Date and Time preference panel, setting Reykjavik, Iceland as your location and disable automatic time synchronization. Then set the time manually. This is a good solution if you're running XP or Vista.

 

If you're dual booting OS X and Windows 7 the registry patch is obviously the superior solution.

 

After applying the registry fix don't adjust the time in your BIOS, it's supposed to be "wrong" because it is now UTC instead of local time.

  • Like 1
  • 1 year later...
×
×
  • Create New...