下記のサイトの通りで解決
ウインドウズとlinuxのダブルブートで問題が起こるようだ
linuxは世界標準時(UTC) ウィンドウズはlocaltimeがデフォルトだそうだ
解決策はウィンドウズ側のシステムクロックをUTCに変更する
方法はーー
コマンドプロンプトを管理者で起動し、以下のコマンドを実行する
reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
*コマンドプロンプト(管理者)で起動する
実行した結果
レジストリの[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]キーに
“RealTimeIsUniversal”という名称の、16進数の’1’のDWORD値が追加され
これでウィンドウズ側のシステムクロックがUTCに設定されるということらしい
結局ーー時計が狂ってしまうからくりはーーー
「どの時刻系を既定として用いるのかは、OSによって異なる。
MacOSではUTC、Windowsではlocaltime、Unix系では既定無し(UTCが使われることが多い)が、デフォルトとして設定されている。
OSは、起動時にCMOSからハードウェアクロックを読み出し、その時刻に設定された時刻系に基づいた修正を加え、システムクロックの時刻としている。
このとき、OSの時刻系がUTCであればロケールに基づいた時刻修正(Asia/Tokyoなら+0900)を行い、localtimeであれば修正を行わない。
また、OSは、シャットダウンする際に、現在のシステムクロックの時刻を、ハードウェアクロックとしてCMOSに書き込む。
したがって、OSの時刻系がUTCに設定されており、かつハードウェアクロックの時刻がlocaltimeの値である場合、時刻のずれが発生してしまう。
これは、タイムゾーンに基づいた時刻補正を既に行ったlocaltimeの値を、UTCと扱ってしまい、更に時刻補正を加えてしまうためである。」
BIOSを起動したときCMOSの時間が狂っていたのはそういうわけだったんだ–納得、納得
コメント