Windows 10はバージョン1607からアクティブ時間という概念が導入され自動再起動を止めることができなくなりました。
ただし、企業向けのPC管理手法で再起動を抑制することは可能となっています。
(御注意) この記事ではグループポリシーやレジストリーを操作するため、一般ユーザーには敷居が高いものになっています。難しいと感じた場合は操作しないようにしてください。どうしても実施たい場合は分かる人に操作を頼んでください。
Windows Updateの3つの各段階での問題
Windows Updateは3つの段階に分けられます。
- 更新プログラムのダウンロード
- 更新プログラムのインストール
- 実行中のプログラムを更新するための再起動
各段階での問題について順に説明します。
更新プログラムのダウンロード
Windowsパソコンはキャリアと組んでモバイル通信対応の機種を出しても売れないので、殆どのメーカーはWi-Fiモデルしか販売していません。そのためモバイルで使う場合は、モバイルルーターかスマートフォンのテザリング経由で通信を行います。
この通信方法はWi-Fiを使うため何も設定しないとWindows 10は従量制課金接続とは判断せず、大容量の更新ファイルをダウンロードしてしまいます。
Windows 10では更新ファイルのダウンロードを止められないためWi-Fiごとに従量制課金接続であることを指定する必要があります。
また、安定しているドライバーの更新も行われるため、逆に不安定になることもあります。ドライバーの更新を除外することもできますが、不具合が直ることもあり、あまりお勧めできません。不具合が発生したものだけを除外した方がよいでしょう。
更新プログラムのインストール
従来のWindowsでは機能修正プログラムとセキュリティ対策プログラムは別々に配信されていたため、ネットで騒がれているバグ有り更新プログラムを除外することも可能でした。
Windows 10は当初からWindows 7/8.1は2016年10月からこれらの更新プログラムは1つの累積的な更新プログラムというパッケージとして配信されています。そのため更新プログラムを選択することができなくなりました。(企業などでSUSを使う場合は選択可能)
したがって、自動的にインストールされることは止めてもあまり意味がありません。
再起動
Windows 10 バージョン1511までは従来のWindowsと同様に更新プログラムをインストールした後の動作を「設定」アプリから指定できるようになっていました。しかし、Windows 10 バージョン1607からはアクティブ時間という概念が導入され、パソコンの連続使用は12時間以内に強制されるようになりました。
これに対しては反感が大きく、Windows 10 Insider Preview Build 14942ではHomeエディション以外については18時間に制限を緩和しました。それでもまだ不満はくすぶっているようです。
Windows Updateはコントロールできないのか
結論から言えば、Windows 10 バージョン1607でもWindows Updateはコントロール可能です。
ただし、「設定」アプリや「コントロールパネル」からの操作はできません。コントロールするにはグループポリシーエディターを使うか、直接レジストリーを変更する必要があります。
方法についてはマイクロソフトのサイトに説明があります。
- グループ ポリシーまたはレジストリの設定を使用して自動更新を構成する方法(Microsoft)
「自動更新を構成する」というポリシーなのですが、この機能自体はWindows XPから有効です。ただし、Windows 10では既定がどれにも該当しないアクティブ時間を使ったものに変わっています。一番近いものは「4-更新プログラムを自動的にダウンロードし、以下に指定されたスケジュールでインストールする」なのですが、インストールは即時行い、再起動をアクティブ時間でコントロールするというものです。
また、自動更新を変更してしまうとWindows Defenderの定義ファイルの更新も連動しているためいろいろと面倒になります。その点についてはこちらの記事で説明されています。検索すると自動更新の構成を変更するだけの記事が多いので注意してください。
- Windows 10 Proにおける自動更新についてのメモ書き(るなおーびっと!)
実際にポリシーでの設定がWindows 10 バージョン1607でも有効なことは、下記のように操作すると分かります。(やらないでください)
Windows 10 Proにおいて[Windows]+[R]で「ファイル名を指定して実行を開き、「gpedit.msc」を実行します。
「ローカルコンピューターポリシー」「コンピューターの構成」「管理用テンプレート」「Windowsコンポーネント」「Windows Update」にある「自動更新を構成する」というポリシーを「無効」にします。次に、管理者モードのコマンドプロンプトから「gpupdate /force」を実行してポリシーを適用させます。最後に「設定」アプリの「更新とセキュリティ」「Windows Update」で「更新プログラムのチェック」をクリックしてチェックが終わったら「詳細オプション」をクリックします。
すると「Windowsの更新時に他のMicrosoft製品の更新プログラムも入手します。」がグレーになりチェックできなくなっていることから自動更新が無効になっていることが分かります。
現実的な設定
現実的な設定は以下のどちらかということになるでしょう。
- ダウンロードとインストールはWindows 10の既定のままで、「スケジュールされた自動更新のインストールで、ログオンしているユーザーがいる場合には自動的に再起動しない」ポリシーを「有効」にする
- 「自動更新を構成する」ポリシーを「3-更新プログラムを自動的にダウンロードし、インストールの準備ができたら通知する」として手動で更新をインストール
2.については上記のようにWindows Defenderの更新も手動となってしまうため別途セキュリティソフトを導入している場合のみの選択肢と考えてください。
どちらもグループポリシーエディターで設定するためWindows 10 Proが必要です。Windows 10 Homeの場合は対応するキーと値をレジストリーエディターで作成する必要があります。
1.ログオンしている間は自動で再起動させない
現状、こちらについては動作確認がとれていません。確認ができ次第更新します。
Windows 10 Proの場合
[Windows]+[R]で「ファイル名を指定して実行を開き、「gpedit.msc」を実行します。
「ローカルコンピューターポリシー」「コンピューターの構成」「管理用テンプレート」「Windowsコンポーネント」「Windows Update」にある「スケジュールされた自動更新のインストールで、ログオンしているユーザーがいる場合には自動的に再起動しない」をダブルクリックします。
「有効」を選択して「OK」をクリックします。
最後に、コンピューターを再起動させます。
有効かどうかは、次回の自動更新時に自動再起動しないことでしか確認できません。
Windows 10 Homeの場合
Windows 10ではレジストリーに対応するキー自体が存在しないため、直接コマンドで設定します。
管理者権限のコマンドプロンプトを開いて、下記のコマンドを実行します。必ず1行につなげて入力してください。
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoRebootWithLoggedOnUsers" /t REG_DWORD /d "1" |
最後に、コンピューターを再起動させます。
有効かどうかは、次回の自動更新時に自動再起動しないことでしか確認できません。
詳細は、下記のサイトで説明されています。
2.更新プログラムのインストールは自分で行う
Windows Defenderの更新も手動となるためMicrosoft以外のウィルス対策ソフトを導入している場合のみの方法と考えてください。
Windows 10 Proの場合
[Windows]+[R]で「ファイル名を指定して実行を開き、「gpedit.msc」を実行します。
「ローカルコンピューターポリシー」「コンピューターの構成」「管理用テンプレート」「Windowsコンポーネント」「Windows Update」にある「自動更新を構成する」をダブルクリックします。
「有効」を選択して、自動更新の構成は「3-自動ダウンロードしインストールを通知」を選択します。
Microsoft Officeなども使っている場合は「他のMicrosoft製品の更新プログラムのインストール」にチェックを入れます。
「OK」をクリックします。
最後に、コンピューターを再起動させます。
有効かどうかは、次回の自動更新時に自動再起動しないことでしか確認できません。
Windows 10 Homeの場合
Windows 10ではレジストリーに対応するキー自体が存在しないため、直接コマンドで設定します。
管理者権限のコマンドプロンプトをを開いて、下記のコマンドを1行ずつ実行します。枠内の文字列は必ず1行につなげて実行してください。
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "AUOptions" /t REG_DWORD /d "3" |
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "NoAutoUpdate" /t REG_DWORD /d "0" |
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "ScheduledInstallDay" /t REG_DWORD /d "0" |
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "ScheduledInstallTime" /t REG_DWORD /d "3" |
Microsoft Officeなども使っている場合は下記のコマンドを追加で実行します。
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v "AllowMUUpdateService" /t REG_DWORD /d "1" |
最後に、コンピューターを再起動させます。
有効かどうかは、次回の自動更新時にしか確認できません。
今後の動向
Microsoftはどうしても自動再起動は譲れないようです。更新プログラムをインストールしても再起動して実行中のプログラムを置き換えないと意味が無いためです。
そのためユーザーが問題にしているのは再起動のタイミングであると思い込んでいるようです。
これはWindows 10 バージョン1607 OSビルド 14393.321におけるポリシーですが、「Specify deadline before auto-restart for update installation」という翻訳されていないポリシーが追加されています。再起動を遅らせる設定は7日先までしか指定できませんが、このポリシーを変更することで14日まで延ばせるようになります。
また、こちらはWindows 10 Insider Preview Build 14946のポリシーですが更にポリシーが追加されています。
- Specify active hours range for auto restarts
- Configure auto-restart reminder notifications for updates
- Turn off auto-restart notification for update instration
- Remove access to use all Windows Update features
- Configure auto-restart required notification for updates
- Configure auto-restart warning notifications schedule for updates
Microsoftは自動再起動の通知(notification)に気付かないことが問題だと考えているようです。またWindows Update自体に触れなくすることも考えているようです。
まとめ
基本的には従来からのWindows Updateをポリシーでコントロールする手法が有効です。
ただし、一般向けの方法ではないことと、Microsoftも改善策を模索しているようなので、Windows 10 バージョン1607ではアクティブ時間をうまく設定して逃げるのが得策と思われます。
関連記事: