Windows で UTC を使用する

Windows で UTC を使用する

システム クロックに奇妙な問題が発生しています。Windows 10 を起動すると、時計に現在の時刻より 5 時間進んだ時刻が表示されることがあります。そのため、私が住んでいる場所 (東部標準時) が正午の場合、時計には午後 5 時が表示されます。夏時間も調整され、5 時間進んだままになります。

タイムゾーン設定を確認しましたが、正しいタイムゾーンに設定されています。インターネット時間を と同期するように設定しておりtime.nist.gov、手動で時間を同期すると、時計は正しく設定されますが、その際に次のエラー メッセージが表示されます。

「Windows が time.nist.gov と同期中にエラーが発生しました。タイムアウト期間が経過したため、この操作は戻りました。」

この問題は、ハード ドライブを消去して Windows 10 を最初から再インストールした直後に発生したため、それ以降にインストールしたものが原因ではありません。Windows の起動時にのみ発生しますが、毎回発生するわけではありません。現在、Ubuntu 16.04 をデュアル ブート構成でインストールしていますが (問題は Ubuntu をインストールする前に発生しました)、Ubuntu のクロックで同様の問題は発生していません。

私はインターネット上で同様の時間関連の問題を調べましたが、どれも私の問題に一致するようには見えませんでした。この質問私の場合と非常に似ていますが、その問題はハードウェア クロックがオフになっていることが原因でした。私のコンピューターの BIOS に表示されるクロックは正しい時刻に設定されています。

私にとって奇妙に思えるのは、時間がその通り5 時間遅れており、夏時間を調整しても 1 分も遅れていません。Windows が間違ったタイム ゾーンと同期していることがあるようですが、それを確認または修正する方法がわかりません。

更新: Ubuntu から Windows に切り替えると、毎回 5 時間のオフセットが発生することが判明しました。つまり、これはハードウェア クロックがそれぞれ Ubuntu/Windows によってユニバーサル/ローカルに設定されていることに起因した問題でした。

答え1

Ubuntu と Windows は、hwclock がローカルタイムか UTC かに関して意見が一致していないと強く疑っています。この矛盾は通常、Linux が UTC に設定された hwclock を使用するのに対し、Windows はローカルタイム ゾーンに設定された hwclock を使用するために発生します。

hwclock にタイムゾーンの時刻を表示させたい場合は、Linux を UTC 以外のものに変更する必要があります。つまり、Linux がローカルタイムを使用するようにします。hwclock (BIOS) を UTC にすることに問題がない場合は、Windows を UTC に変更します。

からここ:

Windows で UTC を使用する

注記:この方法は当初 Windows Vista および Server 2008 ではサポートされていませんでしたが、Vista SP2、Windows 7、Server 2008 R2、および Windows 8/8.1 で復活しました。


MS Windows がハードウェア クロックから UTC として時間を計算できるようにします。

次の内容を含む名前のファイルを作成しWindowsTimeFixUTC.reg、それをダブルクリックして内容をレジストリとマージします。

Windows Registry Editor Version 5.00

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

注記:Windows タイム サービスは、上記のレジストリ設定に関係なく、シャットダウン時に引き続きローカル時間を RTC に書き込みます。そのため、次のコマンドで Windows タイム サービスを無効にすると便利です (Windows で時間同期が引き続き必要な場合は、サードパーティの時間同期ソリューションを使用します)。

sc config w32time start= disabled

変更を元に戻す。

次の内容のファイルを作成し、それをダブルクリックして、上記のように元の変更をマージすることができます。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
    "RealTimeIsUniversal"=-

Windows Time サービスが無効になっている場合は、次のコマンドで再度有効にします。

sc config w32time start= demand

Linux で「ローカル」時間を使用するようにする

Ubuntu システムにハードウェア クロックが「ローカル」時間に設定されていることを通知するには:

Ubuntu 15.04 より前のシステム (例: Ubuntu 14.04 LTS):

/etc/default/rcSを編集し、次のセクションを追加または変更します。

#Set UTC=yes if your hardware clock is set to UTC (GMT)
UTC=no

Ubuntu 15.04 システム以降 (例: Ubuntu 16.04 LTS): ターミナルを開き、次のコマンドを実行します。

timedatectl set-local-rtc 1

関連情報