私のPCの時刻は10分毎に、ntp.nict.jpと同期させています。しかしWindows 7のインストール時の設定では週に一度、日曜日の午前1時にtime.windows.comと同期するだけです。
このインストール時設定を変更するには次の3ステップが必要です。
- タイムプロバイダーを日本のNTPサーバーに切り替える
time.windows.com から ntp.nict.jp に変更する。 - Windows Timeサービスを常時起動に変更する
http://support.microsoft.com/kb/2385818/ja
コマンドプロンプト(cmd.exe)を管理者権限で起動して、回避策の方法2を実行する。 - 同期周期を短く変更する
次のフォーラムの回答のようにレジストリを2か所変更する。
http://answers.microsoft.com/ja-jp/windows/forum/windows_7-desktop/%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%8D/385b4717-a58a-4622-b888-fb3fbddbf42f
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\
W32Time\TimeProviders\NtpClient の SpecialPollInterval
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\
W32Time\Config の UpdateInterval について
10分なら10進数で600に変更する。
Windows Vistaではステップ1と、ステップ3のSpecialPollIntervalだけでよかった。しかしトレードフロアのPCを整備している過程で時刻ズレに気が付き、この3ステップを実行することで、誤差0.1秒以内で同期するようになった。
なお、この記事はWindows 7 Professionalを前提にしているので、Windows 7 Home Premiumの場合はわかりません。
Windows 8 Proでも、この3ステップで時刻合わせができました。インストール時のタスクスケジューラ設定には週一の時刻合わせも登録されていないのですが、手動で時刻サーバーと同期させると次回同期が1週間後になるので、Windows 7とは違うところに何かあるのかもしれません。
ステップ1 タイムプロバイダーを日本のNTPサーバーに切り替える
わざわざ北米のNTPサーバーまでアクセスしなくとも、日本の標準時の元締めであるNICT(情報通信研究機構)がNTPサーバーを運用しているので切り替える。
タスクバーの時刻を右クリックして日付と時刻のプロパティを選択、日付と時刻を開くので、インターネット時刻のタブに切り替えて、設定の変更をクリックして、サーバーを ntp.nict.jp と入力し、今すぐ更新(U)をクリック、同期することを確認する。NICT以外に各インターネットプロバイダーや、インターネットマルチフィード(mfeed)などがNTPサーバーを運用している。
mfeedのほうが各ISPから近いので次のNTPサーバーを推奨。
ntp.jst.mfeed.ad.jp
ステップ2 Windows Timeサービスを常時起動に変更する
Windows7でアクティブディレクトリに参加していないスタンドアローンPCは、タスクスケジューラで週に一度Windows Timeサービスが起動するように設定されている。Windows Vistaでは常時起動していたのでこの設定は必要ない。これを有効なIPアドレスを取得しているときに起動するに変更。
手順は http://support.microsoft.com/kb/2385818/ja の方法 2の通り。
アクセサリからコマンドプロンプトをたどるのも面倒なので、スタートで cmd を検索、cmd.exeを右クリックして、管理者として実行を選択。
次のコマンド(回避策の方法 2)を入力し、Enterキーで実行。コマンドプロンプトでの貼り付けは、左上アイコンをクリックして、編集 - 貼り付け(P)で出来る。
サービスが起動しているかは、管理ツールのサービスで Windows Time が開始となっているかを確認。
ステップ3 同期周期を短く変更する(レジストリの変更)
スタートで regedit を検索して、regedit.exeを起動する。この操作に慣れていない場合は避けたほうがよいかもしれないが、同期周期の変更はレジストリの直接変更(あるいはレジストリ変更を記述したファイル)が必要。以下の例では600秒周期に変更。表記を10進数に切り替えて入力する。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\
W32Time\TimeProviders\NtpClient の SpecialPollInterval
(Windows7のみWindows Vistaは不要)
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\
W32Time\Config の UpdateInterval
Zinc
HKEY_LOCAL_MACHINE\System_CurrentControlSet\Services\W32Time\TimeProviders\NtpClient の SpecialPollInterval
HKEY_LOCAL_MACHINE\System_CurrentControlSet\Services\W32Time\Config の UpdateInterval
は、それぞれ、
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient の SpecialPollInterval
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W32Time\Config の UpdateInterval
のタイポですよね。
マイクロソフトコミュニティの方でもそう書いてありますが。