Blogger Actions: New Post Edit Posts Edit Template Edit Settings

Taming the Windows clock when running Boot Camp

So there's a problem with Windows. It assumes the RTC is in local time which is stupid. Of course, Mac OS X on the other hand is a good citizen and assumes the RTC is in UTC. The problem comes because of Boot Camp. Amazingly, nobody at Apple seemed to pick up on the problem before release. Even now, after the 1.1 release, it's still a problem (despite Apple's claims to the contrary).

So, I found a tip about a registry key but as discussed in the article above, it's a remnant that isn't supported. Nevertheless, it's a damn sight better than what I get from Apple's drivers (that is, nothing!). I found that the setting caused problems when sleeping Windows though. The time is taken backwards, probably by 10 hours (my local time offset). Worse, the Windows NTP stuff in XP Home doesn't handle polling often. I found a utility called NTPTime that, while not being the easiest thing to install and configure, is free, open source and works. Of course it only works when I've got an internet connection so it's still not a complete solution. Certainly, it wouldn't have helped me on my recent holiday.

I really hope Apple addresses this properly sometime soon. I would have thought the ideal solution would be for the Mac OS X timezone to be recorded somewhere where EFI can get to it so that the time Windows reads and writes is adjusted by the timezone Mac OS X uses. It's not perfect (eg. what if you change timezones in Windows?) but a real solution will require Microsoft to fix Windows and even Vista will continue the tradition of treating the clock incorrectly.

Labels: computers eve

Post a Comment. Note that all comments are moderated. Both public and private comments are welcome. Comment SPAM will not be tolerated.

Post a Comment (admin only).

Subscribe to the comment feed for this post.

7 Comments:

Sarah said...

Linux has the more intelligent option - make it user-configurable whether the RTC is in local or UTC.

Monday, October 16, 2006  

a1291762 said...

Windows does too, it just has bugs in it's implementation. Anyway, I don't run Linux on my MacBook Pro.

RTC in local time is always going to be a problem when you boot multiple operating systems (as the linked article explains) so it's not at all "intelligent" to let the user store local time on their RTC. It helps to work around Windows but so does setting up NTP correctly (assuming you have a permanent network connection, which I do).

I would be downright annoyed if Apple's solution to this problem was to store local time in the RTC.

Monday, October 16, 2006  

Anonymous said...

Wow! great advice, have to say works beautifully.

This issue has been addressed (not sure how) by the bootcamp 1.2beta drivers (they have apple's own ntp updater included in the drivers cd)

http://www.apple.com/macosx/bootcamp/publicbeta.html

Sunday, April 01, 2007  

a1291762 said...

According to Apple, the issue was fixed in Boot Camp 1.1. Of course, they lie because if they had fixed it, I wouldn't have needed to write this post.

http://docs.info.apple.com/article.html?artnum=303572

They've included enough information in their install guide for 1.2 to demonstrate that they haven't actually fixed the problem at all.

My computer doesn’t always show the correct date and time.
You must have an active Internet connection in order to maintain the correct date and time when going between Mac OS X and Windows. If you are not connected to the Internet, you need to set the date and time manually when you go between operating systems.

http://images.apple.com/macosx/bootcamp/pdf/Boot_Camp_Beta_Setup_Guide_v1.2.pdf

I don't care about NTP because that doesn't help when I'm not connected to the internet.

Windows has it's own NTP client (it's just not very good). Some people (like me) will have already installed a better NTP client. I'm going to be really annoyed if I find that Apple has installed its own NTP client as well.

The _only_ way Apple can fix this is to:
1) Fix Windows so that it reads/writes the hardware clock in UTC.
2) Emulate the clock interface that Windows uses (it'll be in the BIOS compatibility layer somewhere).

Monday, April 02, 2007  

Anonymous said...

I don't know about the BootCamp Windows issue..I was hoping to hear that it had been solved by now...As for better NTP solutions just for Windows: I found this little nugget on the NIST site a few years ago:

> By default, Windows XP updates the system clock once every seven
days.
> Due to the fact that the computer
> could drift several seconds or even minutes in this time frame, you
may wish to
> change the update interval in the
> system registry.
> TO CHANGE THE UPDATE INTERVAL
> 1) Start
> the
> Registry Editor
> 2) Go to HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \
> Services \ W32Time \ TimeProviders
> \ NTPClient \
> 3) Double-click
> the
> SpecialPollInterval value, and change the Base of the Value data to
Decimal
> 4) Now change the Value data to the time interval you desire, noting
that the
> time is given in seconds. The
> default value is 604800 seconds which equals seven days. A typical
interval is
> once per hour or 3600
> seconds.
> 5) Close the registry editor.


Naturally, Microsoft won't tell you about this, because they don't want everyone hitting their time server once an hour.. :)

Friday, May 25, 2007  

Anonymous said...

I also had this issue. I found this note that 'helps' windows play fair and use UTC for the clock: (At the bottom)
https://help.ubuntu.com/community/UbuntuTime

Create a registry entry to use UTC:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=dword:00000001

Thursday, March 20, 2008  

a1291762 said...

The registry key hack is documented in the linked article (this one). It's a leftover from when Windows NT ran on non-x86 machines that used a UTC RTC. It's not at all supported on current versions and fails to work correctly in some cases (I've seen this myself). I still use it because it improves the chance that my clock will remain correct (especially when I'm not near a network) but I primarily rely on NTP to keep the clock set correctly.

Thursday, March 20, 2008  

Post a Comment. Note that all comments are moderated. Both public and private comments are welcome. Comment SPAM will not be tolerated.

Post a Comment (admin only).

Subscribe to the comment feed for this post.

Blogger Actions: New Post Edit Posts Edit Template Edit Settings