デュアルブート環境のWindows 10とUbuntuの時計が9時間ずれるのを直す。
同じPCに Windows と Ubuntu をインストールして、それらを交互に立ち上げてみると、時刻が9時間ずれてしまいます。少し放っておけば自動修正されるのだけれど、あまり良くない。
これは各OSが、時刻を
- Windows : ローカルな時刻(日本だったらJST:日本標準時)
- Ubuntu : 協定世界時(UTC)
で管理していることから生じてしまう現象で、
- Linuxを立ち上げる
- Linuxをシャットダウン … このときハードウェア・クロック(リアルタイム・クロック:RTC)に UTC の時刻を書き込む。
- その後 Windows を立ち上げると、ハードウェア・クロックの時刻を JST だと思いこんで読み込む。
- Windowsのロケール(地域)設定に基づいて、JST と UTC の時差(=9時間)を差っ引いて OS 内で利用する。
…で、結果 9時間 ズレる、ということですね。
ハードウェア・クロックだの、リアルタイム・クロックだの、システム・クロックだのの説明は下記ページ
…に、解りやすく書かれています。
ということで、この事象を解消するには、
- Windowsに「ハードウェア・クロックの値は UTC だよ」と教える。
もしくは、
- Ubuntuに「ハードウェア・クロックの値は JST だよ」と教える。
…という、どちらかの手立てを取れば良いのです。
うちのデュアルブートマシンは Ubuntu メインで使用しているので、Ubuntu の設定を尊重して、Windows のほうを弄ってみましょ。
Windowsのレジストリを変更しなければなりません。
- "コマンドプロンプト" を管理者権限で開く。
- 以下のコマンドを実行。
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f
以上。これでWindowsシステムが UTC になる筈。
よろしくどうぞ。
コメント