こんにちは、阿久津です。9月16日にiOS 9がリリースされましたが、内蔵時計の時刻がズレるという問題が発生しているのをご存じでしょうか。筆者のiPhone 6では30秒ほどズレていました(図01~02)。以前使っていたiPhone 4でも同様の問題が発生し、手動で時刻設定を変更するアプリを使っていたように記憶しています。OSのバージョンアップで繰り返し同じ問題が発生するのは閉口しますが、現時点では解決策は見つかっていません。
さて、WindowsはiPhoneのように携帯基地局ではなく、NTP(Network Time Protocol)サーバーから日時を取得し、正しい時刻に同期します。筆者も以前は独自のNTPサーバーを建ててネットワーク内のPCをすべて参照させていましたが、今では初期設定のtime.windows.comのまま運用しているPCも少なくありません(図03~04)。
上図のとおりWindows 10でもNTPサーバーの設定箇所は、コントロールパネルの深い階層にあるため、ついつい忘れがちです。そこで今週はNTPサーバーの選択をレジストリから実行するチューニングをお送りします。
1. 管理者権限でレジストリエディターを起動します。
2. レジストリエディターが起動したら、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Serversキーを開きます。
3. 文字列値「1」を開き、データを「ntp.nict.jp」に変更します。
4. Serversキーのメニューから<エクスポート>を選択します。
5. 任意のファイル名でレジストリファイルを作成します。
6. 次にHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parametersキーを開きます。
7. 文字列値「NtpServer」を開き、データを「ntp.nict.jp,0x9」に変更します。
8. Parametersキーのメニューから<エクスポート>を選択します。
9. 任意のファイル名でレジストリファイルを作成します。
10. レジストリエディターを終了します。
これでチューニングが完了しました(図05~14)。
図06 レジストリエディターが起動したら、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\DateTime\Serversキーをたどって開きます |
早速結果を確認してみましょう。まずはレジストリエントリーの変更を反映させるため、「w32tm /config /update」を実行します。この操作は、サービスをコマンドラインから制御するコマンド「sc」を使用し、「sc stop w32time && sc start w32time」でも構いません(図15~16)。
今度はNTPサーバーとの時刻同期を実行するため「w32tm /resync」を実行してください。続いて「w32tm /query /status」を実行して同期設定を確認しましょう。下図のとおり、「最終正常同期時刻」は最後にNTPサーバーと交信を行った時刻を示し、「ソース」は参照するNTPサーバーを示しています(図17~18)。
ちなみに、ステップ7で指定したNTPサーバー名末尾の数値は具体的な同期方法を指定するというもの。「0x09」はクライアント&サーバー方式による同期と定間隔(Fixed Intervals)の同期という2つを指定します。なお、ステップ6~7の操作は「Windows Time」サービスに対する設定、ステップ2~3の操作は「日付と時刻」が正しく動作するために必要な操作となります(図19~20)。
後はレジストリファイルを1つにまとめておけば、OSの再インストールや他のPCへの設定適用も簡単になることでしょう。ポイントはParametersキーの文字列値「NtpServer」と、Serversキーの文字列値「1」。そして、Serversキーの既定値のデータが「1」になっているため、ステップ3で書き換えたNTPサーバーを参照しています(図21~22)。
それでは、また次号でお目にかかりましょう。
阿久津良和(Cactus)