子子子子子子(ねこのここねこ)はてブロ部

Macネタが主のIT記事と、興味ある展覧会リストや観覧感想などを書いてますよ。自転車ロードレースも好き。

BootCampからの復帰時の時刻ずれ解消!

時刻ずれ - 子子子子子子(ねこのここねこ)で書いたのだが、WinからOSXへ戻ると時刻がずれる。いちいちコントロールパネルの「日付と時刻」を開いていたのだが、やはり面倒。
同様のことがLinuxとのデュアルブート環境でも起こっているようである。

Windows NT系のOSではリアルタイムクロックにローカルタイムを書き込む。それに対して、UNIX系OSでは一般的にUTCで書き込む。その為、両者の間をデュアルブートで往復すると時計がタイムゾーンに応じて狂ってしまう。この問題に対して、Windows NT系ではUTCを使うという対策がある。しかし、時刻が直感的に判り難く、またローカルタイムの概念を持たないアプリケーションではタイムスタンプがUTCをローカルタイムとみなして保存するので都合が悪くなる。
wikipedia:リアルタイムクロック

前置きはさておき。
上記Wikipediaにも記載されているが、NT系ではUTCを使うことが出来る。もちろん弊害付きだが。でもこれで時刻ずれを解決することにする。

Windows 2000 SP2以降はハードウェアクロックをUTCにすることが可能な機能が内蔵されているので(Vistaでもバグあり)、それを利用する事にした。やり方は簡単で、レジストリエディタを起動し、下記レジストリを作成すれば良い。

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

http://yebo-blog.blogspot.com/2007/12/boot-campwindows-xp.html

WindowsTimeFixUTC.regをダウンロードしてダブルクリックして、レジストリに書き込むのが楽ちん。

その他の参考サイト
その1:小悪魔な林檎♪ BootCampの時計
その2:http://coreblog.atikoro.net/iyoda/128



ということでやってみたのだが、OSXに戻ったときに、時間が9時間進んでしまってなかなか直らない…ntpサーバになかなか繋がらなかったようだ。

そののちの激しい時刻修正。

Apr 22 20:09:06 air ntpd[215]: time reset -32400.933948 s

9時間は32400秒ですからねぇ。
ログを見直すと、ふだんBootCampから復帰するときにはntpサーバに繋いでいないことが分かった。そうなんだ。



追記:この設定を行ってから、ときどきWindows側で時刻ずれが生じるようになった。というのは、もともと時刻ずれを補ってきた「Apple Time サービス」が悪さをしてしまうから、と思われる。
ということで、管理ツールのサービスから「Apple Time サービス」を選択して「スタートアップの種類」を「無効」にする。これでOKと思われる。

追記2(080827):残念ながら「Apple Time サービス」を無効にしても時刻ずれが生じるので、これではなさそうである。
時刻ずれが生じるのは

  • 休止状態からの復帰後
  • 長時間起動しているとき

現在なぜなのか確認中。