macOSやLinuxとのデュアルブート環境にある Windows PCにおいて、これらのOS起動後に Windowsを起動すると、PCの時刻のズレが生じてしまいます。
この時刻のズレを回避すべく、Windows PCのログオン時に時刻を同期する対応として、複数のサイトを参照し 数パターンを試したところ、以下のバッチファイルとタイムスケジューラの組み合わせにより、複数のPCにおいて機能していますので、設定の手順を記載します。
バッチファイルの作成
ログオン時の時刻同期のコマンドは、複数のサイトで紹介されていますが、私は以下のサイトの記載のコマンドのコピペで対応しました。
同サイトの記事の冒頭に記載のコマンドをそのままメモ帳にコピペし、拡張子 batでの保存にて バッチファイルを作成します。コマンドについては以下のサイトを参照ください。
▲▼Windows 11の事例ですが、メモ帳はホーム画面の右クリックで表示の画面にて、「テキストドキュメント」から開くことができます。下の画像は、上のサイト記事のコマンドを貼り付けたスクショです。
▼コピペしたメモ帳のファイルをバッチファイルとして保存しますが、保存時の注意事項としては、以下の2点です。
- ①のとおり、「ファイルの種類=すべてのファイル」とし、ファイル名にて任意のファイル名+batの拡張子とすること。事例のファイル名は「time_sync.bat」としています。
- ②のとおり、「エンコード=ANSI」とすること。必須ではありませんが、日本語表記のコマンド説明分の文字化けを回避することができます。
▼バッチファイルを保存しました。次の段落で、このバッチファイルをWindowsのログオン時に実行できるよう設定します。
なお、バッチファイルの右クリックで表示の子画面にて、「管理者として実行」の押下により コマンドの動作を確認することができます。
タイムスケジューラでの設定
上記のバッチファイルをWindowsのログオン時に実行できるよう、タイムスケジューラで設定します。
▼Windows 11のスタートアイコンを右クリックし表示の画面から、「コンピューターの管理」を押下します。
▼左メニューの「タスクスケジューラ」「タスクスケジューラ ライブラリ」と進みます。中央の画面の下の余白を右クリックし表示の画面から、「新しいタスクの作成」を押下します。
▲▼上の画像はクリックで拡大できますが、下の画像は拡大したもの。
▼以下の画面が表示となりますが、「全般」タブの項目のうち、下記を設定し、右下の「OK」を押下します。
- 上の赤枠の名前は、任意の名前で入力。事例では「時刻同期」としています。
- 下の赤枠の「最上位の特権で実行する」にチェックを入れます。
▼「トリガー」タブに移動し、左下の「新規」を押下します。
▼「トリガーの編集」画面となりますが、上の赤枠の「タスクの開始」のプルダウンを開き、「ログオン時」を選択後、右下の「OK」を押下します。
▼続いて「操作」のタブに移動し、左下の「新規」を押下します。
▼「プログラム/スクリプト」の項目にて、「参照」を押下し 上の段落で保存したバッチファイルを指定します。なお、パスの最初と最後を「”」とする必要があります。
▼「条件」のタブに移動し、赤枠の「コンピューターをAC電源で使用している場合のみタスクを開始する」のチェックを外します。これにより、ノートパソコンの場合には、バッテリー稼働の場合にも 時刻の同期のタスクが動作します。
▲▼入力後 「OK」を押下し、「タスクスケジューラ」の最初の画面まで戻ります。動作することの確認としては、作成したタスクの右クリックから「実行する」を押下し、コマンドプロンプトの画面が表示となればOKです。
▼その後、PCを再起動・ログオン後に、自動的に以下のコマンドプロンプト画面が表示となり、時刻が正しく表示されていることを確認して完了です。
他の手法では時刻を上手く同期できない、同期するまで 30分以上の時間を要す事例もりましたが、今回の設定では コマンドプロンプトの画面の表示後、10秒程度で同期します。なお、3台のPCで試してみましたが、いづれも機能しています。
コメント