2017.04.04: 多くのPCで時計がずれる問題が発生している模様。

Windows 時計

臨時追記: 2017年4月4日

2017年4月2日頃から「急に時計が1時間ずれた」という場合、PC (マザーボード) のサマータイムの設定が有効になっているのが原因かもしれません。

「4月最初の日曜、または10月最後の日曜に時計がずれた」という場合は、まずここを疑うのが良いかと思います。(マザーの設定変更が難しいと思った場合、以下このページの手順でNTPサーバーと同期を行い その場しのぎ するしかないと思います。)

追記おわり

本文

実は、Windowsマシンに搭載されている時計はそんなに正確ではありません。

派手に時間が狂っちゃうマシンは今でこそ少なくなりましたが、今でも1日で1~2分平気で時計が遅れる(進む)PCは結構あります。

ネットに接続されたPCは、タイムサーバー(NTPサーバーと言います)に定期的に接続し、狂った時計を同期させる機能が備わっています。
Windowsの初期設定では7日に1回同期を取るようになっていますが、1日で時間が狂っちゃうPCなどは、24時間おきに同期させた方が良いでしょう。

※Vista/XPの場合

このページは Windows 7/8.1向けです。
Vista / XP の場合は以下。
Windows XP~Vistaの設定方法はこちら

Windows7以降の挙動について

※この項目は、「難しい」と感じた場合は読み飛ばしてもOKです。

Windows7以降、タイムスケジューラの挙動が変更されました。
(XPの頃と同じ手順では、上手く時計を合わせる事が出来ません)

Windows Timeの挙動は、Windows7以降新しく実装された「トリガー起動サービス」で指定されるように変更され、「タイムスケジューラ」では[手動]になっています。(つまりOS起動時に自動起動しなくなりました。)
つまり OSの初期設定では、SynchronizeTimeが一週間ごとにWindows Time(W32Time)を起動し、W32Timeが時刻同期を行う設定になっています。

以下、手順の紹介です。

スポンサー リンク

Windowsの時間同期のさせ方 (Windows7以降)

まずは
[コントロールパネル]>[管理ツール]>[タスクスケジューラ]
を起動します。
[コントロールパネル]>[管理ツール]>[タスクスケジューラ]
▲クリックで拡大
タスクスケジューラ内で
 ・[Microsoft]>[Windows]>[Time Synchronization]を開き、
 ・[SynchronizeTime]を右クリックして[プロパティ]を選択します。

次に、[トリガー]タブに移動します
トリガーを選択し、[編集]ボタンをクリック
▲クリックで拡大
初期設定では、1週間に1度、時間を合わせるよう設定されています。
これより短い間隔に変更したい場合は、以下の操作を行います。

まずトリガーを選択し、[編集]ボタンをクリックします。
[コントロールパネル]>[管理ツール]>[タスクスケジューラ]
▲クリックで拡大

1日に1回時間を合わせれば良い場合は、以下の様に設定します。
1日に1回時間を合わせれば良い場合
▲クリックで拡大
[タスクの開始]は[スケジュールに従う]を指定し、
[設定]に[毎日]を指定します。

数時間で時計がずれてしまう場合は、以下の様に設定します。
数時間で時計がずれてしまう場合
▲クリックで拡大
[タスクの開始]は[スタートアップ時]を指定します。
[詳細設定]の設定は、上図あたりが無難かと思います。

この方法で設定を変更した場合、PCの再起動は特に必要ありません。
(心配な場合は一度再起動しておきましょう)

従来のような方法を取りたい場合

従来の様にレジストリエディタからタイムサーバへのアクセス間隔を指定したい場合は、まず「トリガー起動サービス」からWindows Time(W32Time)を削除する必要があります。

削除方法
管理者権限でコマンドプロンプトを起動し
sc triggerinfo w32time delete
sc triggerinfo w32time delete」と入力します。
ChangeServiceConfig2 SUCCESS とメッセージが出ればOKです。

次に、レジストリエディタを起動します。
Windowsスタートボタン
▲Windowsスタートボタンから「ファイル名を指定して実行」を選びます

regedit
▲regeditと入力
レジストリエディタを起動します。

次にレジストリエディタ内で
  • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W32Time\TimeProviders tpClient
    の「SpecialPollInterval」の値
  • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W32Time\Config
    の「UpdateInterval」の値
上記2つのキーを開き、値を変更します。

 

SpecialPollInterval
SpecialPollInterval
▲クリックで拡大
赤枠で括った値を変更します。

UpdateInterval
UpdateInterval
▲クリックで拡大
赤枠で括った値を変更します。

どちらも、
DWORD値変更
「表記」を10進数にして、「値のデータ」を以下の様に変更します

7日ごとに更新したい場合:604800
3日ごとに更新したい場合:259200
1日ごとに更新したい場合:86400
12時間ごとに更新したい場合:43200
1時間ごとに更新したい場合:3600

上記を設定した後、PCを再起動すれば設定が反映されます。

 

作動の確認

Windows7以降の場合、上記だけではタイムサーバへのアクセスが自動で行われない場合があります。

PCを再起動した後は、
[コントロールパネル]>[管理メニュー]から[サービス]を開き
[コントロールパネル]>[管理メニュー]から[サービス]
▲クリックで拡大
Windows Timeサービスが「自動」または「自動(遅延開始)」になっている事を確認しましょう。

補足(上手く作動しない場合)

レジストリを変更して時間合わせを行う場合、指定したタイムサーバーによっては上記の設定では上手く作動しない場合があります。

上手く作動しない場合は。以下のページが参考になります。
時刻同期設定 - Server/PC設定メモ

引用

時刻同期先サーバを設定(レジストリ)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Parameters

名前
NtpServerREG_SZtime.windows.com,0x9(デフォルト)

サーバが複数の場合は、スペースで区切る。
ntp.nict.jp,0x9 time.windows.com,0x9

NTPサーバと正常に同期出来ない場合は、下記を指定せず、NTPサーバ名のみを設定すると正常動作する場合がある。

方式説明
0x0Symmetric Active/Passive ModeNTP による標準的な時刻同期
0x1SpecialIntervalWindows 上のみ実装された定間隔での同期
0x2UseAsFallbackOnlyドメインおよび外部の両方から時刻を同期
0x4SymmetricActive明示的なSymmetric Active/Passive Modeによる同期
0x8ClientモードでのNTP要求明示的なClient/Server Modeによる同期
0x90x1と0x8を組み合わせたもの

 

注意

時計サーバーには、世界中のWindows機が時間を確認しに接続を行っています。
時間のずれが殆ど発生しないマシンで頻繁に時間の同期を取るのは控えましょう。
サーバー負荷の原因になります。
5~10分時計が狂うあたりを目安にしておきましょう。

 

おまけ: タイムサーバー(NTPサーバー)の変更

注意
下記手順 ( [インターネット時刻] のタブで時刻同期の設定を変更 ) から手動でインターネット時刻の同期を行うと、上の解説で行った変更はデフォルトに戻されます。
参考
[インターネット時刻] のタブで時刻同期の設定を行うと、SpecialPollInterval を使用する設定に変更される

また、[インターネット時刻] のタブで時刻同期の設定を変更した場合、その設定は以下のレジストリに変更が加えられます。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\Parameters

インターネットで時刻を同期させる場合、近くのサーバーや軽いサーバーに接続する事で、より良い結果が得られる事があります。

「コントロールパネル」≫「日付けと時刻」≫「インターネット時刻」から、
「設定の変更」を選択します
インターネット時刻
▲「サーバー」タブを開くと標準で選択出来るNTPサーバーが、いくつかリストアップされています。
「今すぐ更新」を押してみて、軽いサーバーを選ぶようにしましょう。

補足

以下の操作でも、NTPサーバーを変更する事が可能です。
レジストリエディタで
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
このキーまで進み、値「NtpServer」を開き、「値のデータ」にNTPサーバーを設定する。(その際は「,0x9」を加えましょう)
(「コントロールパネル」≫「日付けと時刻」≫「インターネット時刻」≫「設定の変更」と同じ事を行っています。)

 

参考リンク
Windows Time サービスにおける時刻同期の仕組み

その他のNTPサーバー

上記リスト以外にも、NTPサーバーは多数存在しています。
「NTPサーバー」で検索をかけると、サーバーをリストアップしている紹介サイトもいくつか見つかります。そういった中から、自分の住んでいる地域に近い所を選択するのもありです。

 ・NTP サーバ一覧その1
 ・NTP サーバ一覧その2
 ・国内の公共・公開NTPサーバー一覧
他にもNTPサーバーを探していらっしゃるサイトは沢山あります。
ご自分のお住まいの地域に近い所や、トラフィックに余裕のある所を選びましょう。

数時間単位で時計が狂う場合

ちなみに数時間単位で時計がずれたり、電源ON/OFFする度に時間がずれる場合は、マザーボードに付いている電池が切れている(通常3~6年で電池切れ)か、マザーボードの故障が考えられます。

この場合、マザーボードの電池を交換するか、PCを購入したお店に修理を依頼するしか方法はありません。

他サイト参考リンク