当我启动Windows时,Mac上的时钟被更改了


17

我正在使用OS X Leopard和Windows 7 Release Candidate(使用Bootcamp)运行iMac。有时,当我启动到Windows,然后重新启动到OSX时,我发现Windows更改了系统时钟以使用错误的时间。将Vista与Bootcamp一起使用时,我也遇到了这个问题。

如何防止这种情况发生?

Answers:


17

编辑:在使用我最初发布的方法几天后,我发现该RealTimeIsUniversal标志作为Windows NT的一个未维护的剩余部分,实际上实际上很脆弱并且不切实际。Windows时钟每隔一段时间(似乎是随机的时间)从UTC转换为本地时间,这非常烦人(并导致一些git commit看起来像来自未来的提交日志)。这导致我寻找另一种解决方法…

通常,问题在于,正如John Fouhy在评论中提到的那样,Windows将时钟保持在本地时间,而OS X将时钟保持在UTC(使用指定的时区作为修饰符来提供正确的时间)。为了解决此问题,其中一个操作系统将不得不向后弯腰,并使用另一个系统的方法来跟踪时间。

现在,到目前为止,我发现最可靠的方法可以解决此问题,基本上是使OS X在关闭时将时钟从UTC切换到本地时间,然后在启动时将其切换回本地时间。有趣的是,可以在OSx86项目Wiki上找到执行此操作的确切方法。(注意:有一些东西似乎是OSx86特有的,即Leopard指令的LaunchDaemon plist。但是,我在MacBook Pro上逐字尝试了Leopard方法,并且效果很好。换句话说,请严格按照说明进行操作,并且不要介意文件中对OSx86的任何引用-它们无关紧要。)

如果您想尝试一下,这是旧的解决方案。但请注意:它从未更新过,无法与新版本的Windows一起正常使用,所以它非常不可靠,因为我发现了困难的方法……

同步时钟的另一种方法是通过注册表黑客强制Windows使用UTC(我从Mac OS X Hints中找到了一个技巧):

  1. 启动RegEdit(开始->运行...,输入regedit
  2. 导航到“ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation”。
  3. 从“ 编辑”菜单中,选择“ 新建”->“ DWORD值”
  4. 将此值命名为“ RealTimeIsUniversal”。
  5. 双击RealTimeIsUniversal,然后输入1数值数据。

下次启动Windows时,时钟应与Mac OS X时钟匹配,并且Windows时区仍可与Mac OS X中设置的时区匹配。


哇,双启动情况的好提示!
格雷格·希吉尔

在过去的几周里,我一直在Windows 7下使用注册表黑客。到目前为止,一切都很好。从夏时制切换期间,它甚至可以正确切换。
kdmurray


0

检查以确保在两个操作系统上使用相同的时区。如果一个时区不同,则可能会更改系统时钟以显示其时区,该时区可能与另一个操作系统的时间不同。


2
Mac(如linux / unix)使系统时钟保持在UTC并应用时区作为显示的修改器。Windows将系统时钟保持在本地时间。因此,如果Windows意识到其时钟“错误”,它将对其进行修复。因此,一种解决方法是将Windows时区故意设置为UTC。
John Fouhy

0

我在Mac方面有一个登录脚本-在我的情况下是Leopard-这是一个用于通过Internet设置时钟的简单shell脚本:

#!/bin/sh
ntpdate -uvs time.apple.com
exit 0

因此,当您启动Windows时,如果您位于东海岸,则将时钟向前发送5个小时;而当您重新启动至Mac OS X时,它将时钟重新设置为UTC。

干杯...

吉姆·费尔(Jim Ferr)


您如何将其设置为在登录时自动运行?
布赖恩·威利斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.