時刻ずれ - 子子子子子子(ねこのここねこ)で書いたのだが、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:00000001http://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 サービス」を選択して「スタートアップの種類」を「無効」にする。これでOKと思われる。
追記2(080827):残念ながら「Apple Time サービス」を無効にしても時刻ずれが生じるので、これではなさそうである。
時刻ずれが生じるのは
- 休止状態からの復帰後
- 長時間起動しているとき
現在なぜなのか確認中。