当我启动到 Windows 时,我的 Mac 上的时钟被改变

Bri*_*lis 17 mac clock time-zone boot-camp macos

我正在运行带有 OS X Leopard 和 Windows 7 Release Candidate 的 iMac(使用训练营)。有时,当我启动到 Windows,然后启动回 OSX 时,我发现 Windows 已更改系统时钟以使用不正确的时间。我在使用 Vista 和 bootcamp 时也遇到过这个问题。

我如何防止这种情况发生?

hbw*_*hbw 17

编辑:使用我最初发布的方法几天后,我发现该RealTimeIsUniversal标志作为 Windows NT 中未维护的遗留物,实际上通常非常脆弱且不切实际。每隔一段时间,Windows 时钟就会以看似随机的间隔从 UTC 恢复到本地时间,这非常烦人(并导致一些 git 提交看起来像是来自提交日志中的未来)。这导致我寻找另一个修复程序......

一般来说,问题在于,正如 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 中设置的时区匹配。