Homeエディションの場合、アップデートの延期は基本的にはできないが、安全な方法としては以下の2つの回避策がある。
これ以外にも、フリーソフトウェアなどでHomeエディションのWindows Updateを制御するものもある。こちらについては、確実に安全と判定できるものを見つけることができなかった。必要なら、ご自身のリスクで利用してほしい。
Windows Updateサービスを止める方法は、危険ではあるが、今のところこれしか方法がない。アップデートされないリスクもあるが、アップデートで障害が発生するリスクもある以上、一時的にWindows Updateを停止することはやむを得ない対策である。
前述の2つを使ったHomeエディションの安全で面倒のない運用方法は、機能アップデートのダウンロードが始まったら、「Show or hide updates」ツール(後述)で機能アップデートを無効化し、1〜2カ月後安全を確認してから機能アップデートのインストールを行うというものになる。
Windows Updateサービスを止めるには、管理ツールの「サービス」を使うのが簡単だ。[スタート]メニュー−[Windows管理ツール]−[サービス]を開き(タスクマネージャーの[サービス]タブの一番下にある[サービス管理ツールを開く]からも起動可能)、「Windows Update」を捜し、プロパティを開く。[停止]ボタンを押してサービスを止めたら「スタートアップの種類」を「無効」にする。
Windows Updateサービスを再開させたい場合「スタートアップの種類」を「手動」にしておく。これで適当なタイミングでサービスが起動される。
もう1つの方法としては、管理者権限で起動したコマンドプロンプトからsc.exeコマンドを使う方法がある。コマンドラインで指定するWindows Updateサービスの名前は「wuauserv」である(詳細は、Tech TIPS「scコマンドでWindows OSのサービスを確認/一覧/開始/停止する」参照のこと)。コマンドラインを使う方法は、バッチファイルなどを作っておくことで簡単に起動できる。
用途 | コマンド |
---|---|
サービスの起動 | sc.exe start wuauserv |
サービスの停止 | sc.exe stop wuauserv |
サービスの無効化 | sc.exe config wuauserv start=disabled |
サービスの有効化(手動) | sc.exe config wuauserv start=demand |
サービスの実行状態の確認 | sc.exe query wuauserv |
サービスの構成情報の取得 | sc.exe qc wuauserv |
全てのWindows Updateサービスを対象とした場合 |
以下に、サービスの停止/再開/状態表示のバッチファイルを示す。
サービスの状態確認:wu.bat
@echo off
sc query wuauserv | find "STATE"
sc qc wuauserv | find "START_TYPE"
pause
サービスの停止:StopWu.bat
@echo off
sc.exe stop wuauserv | find "STATE"
sc.exe config wuauserv start=disabled
pause
サービスの再開:StartWu.bat
@echo off
sc.exe config wuauserv start=demand
sc.exe start wuauserv | Find "STATE"
pause
ただし、Windows 10では、何らかの定期的に起動されるサービス/タスクなどで、Windows Updateサービスが再開されることがある。幾つか条件を試したが、再起動で必ず有効になるわけでもないようだ。今のところ、どのプロセスがWindows Updateサービスを有効にしているのかが分からないので、時々チェックする必要がある。
筆者がWindows 10 Ver. 1803で確認したところでは、数日程度なら再起動してもWindows Updateサービスが停止したままだった。Windows Updateサービスが停止しているときに、[Windowsの設定]−[更新とセキュリティ]−[Windows Update]で更新の確認を行うと、エラーとなり、コード「0x80070422」が表示される。簡易には、このエラー表示をWindows Updateサービスが停止しているかどうかの確認として利用できる。
前述したように、現在の品質アップデートで配布される「累積更新プログラム」では、過去に適用したものと、そうでないものを区別してダウンロード、インストールを行うようになっているため、簡単に言うと、長時間Windows Updateを止めていると再開時のアップデート処理に時間がかかるようになる。このため、Windows Updateサービスを停止する時間は、できるだけ短くした方が、PCを利用できない時間を短くできる上、複数回に分散されることから、結果的に可用性を下げずに済むだろう。
特定のアップデートを禁止するには、Microsoftが配布しているツール「Show or hide updates」(トラブルシューティングパックキャビネット)である「wushowhide.diagcab」ファイルを使う。Microsoftの「Windows 更新プログラムが Windows 10 に一時的に再インストールされないようにする方法」ページからダウンロードしてきたら、適当なフォルダに置き、エクスプローラーからダブルクリックで起動させる。
ウィザード形式で起動し、現在Windows Updateが把握しているアップデートのリストが表示されるので、必要なアップデートのチェックボックスを「オン」にして[次へ]ボタンで実行を継続する。
この設定が終了すると、指定したアップデートは、Windows Updateには表示されなくなるため、インストールが行われることはない。ただし、このツールでは、Windows Updateが把握している(つまり、これからダウンロード、インストールしようとしている)アップデートしか対象にできない。このため配布が始まっていないアップデートを事前に隠すことはできないので注意すること。
具体的な運用としては、以下のようにするといいだろう。
すでに機能アップデートのダウンロードが開始されていたら、その場で「Show or hide updates」ツールを使っても間に合う。機能アップデートはダウンロードからインストール準備などに時間がかかるので、Windows Updateサービスを止めずに、ギリギリで回避することも不可能ではない。ただし、アップデート処理が完了し再起動を待っている状態になってしまったら、もうアップデートを止めることができないので注意が必要だ。
同様のやり方で毎月第2火曜日(日本だと第2水曜日未明)に開始される品質アップデートを延期させることも可能だ。月曜日にWindows Updateサービスを停止し、水曜日以降に再開して手動更新で「累積更新プログラム」が表示されたら、「Show or hide updates」ツールでこれを「hide」に指定する。あとは必要に応じて「Show or hide updates」ツールで表示を戻せば、品質アップデートが適用される。ただし、品質アップデートを延期するのは、障害が発生していることがニュースになるなど、明らかに危ないと分かる場合のみに限定した方がいいだろう。
Copyright© Digital Advantage Corp. All Rights Reserved.