見出し画像

デュアルブートで狂ったWindows 10の時計を直す

問題

上記の記事のように、元々WindowsだけをインストールしていたPCに後からUbuntuをインストールした後、Windowsに切り替えると、時刻がズレてしまっていました。

これは、Ubuntu Linuxが起動時にBIOSで管理しているハードウェア時刻をUTC時刻(世界標準時)に上書きした上で、OS上に表示するシステム時刻を日本時間(UTC+9時間)になるように差分を計算して表示しているからのようです。

その状態でWindowsを起動すると、Windowsはハードウェア時刻が日本時間であると思っているため、実際にはUTC時刻を画面に表示してしまいます。

解決策

1.  Windowsのレジストリを修正して、ハードウェア時刻をUTCと認識させて、UTCと日本時間の差分を計算させてシステム時間を管理する
2. Linuxのハードウェア時刻の認識をUTCではなく、日本時間と認識させて、それをそのままシステム時間とする

1と2のどちらかをすることになりますが、私はなんとなくWindowsのレジストリはいじりたくないので、2の方にしました。

$ sudo hwclock -D --systohc --localtime

これをLinux側のターミナルで実行すると、ハードウェア時刻にローカル時刻(日本時間)が書き込まれ、システム時刻はそのままハードウェア時刻(つまり日本時間)が使われます。

この記事が気に入ったらサポートをしてみませんか?