「Windows 10 バージョン1709の機能更新プログラム」の適用フローについて解析が終わりました。
適用の回避は可能ですが、説明が理屈っぽくなってしまうので先に詳細動作を説明しておきます。
最新の対処法
「Windows 10 更新アシスタント」という新手の強制アップデートが始まっています。詳しくはこちらの記事を参照してください。
Windows 10 バージョン1709の機能更新プログラム
「Windows 10 バージョン1709の機能更新プログラム」とはWindows 10 Fall Creators Updateと呼ばれるもので2017年10月17日から配信されています。
この名称は「Windows Update」経由で配信されている更新プログラムの名称です。
Microsoftは「Windowsはサービスであるのでアップデートは義務である」との主張のもと、1週間の猶予は与えるものの前触れもなく突然アップデートを突き付けてきます。
Windows 10 バージョン1709の機能更新プログラムの適用フロー
「Windows 10 バージョン1709の機能更新プログラム」もWindows Updateで配信されている以上、通常の更新プログラムと同じように判定されインストールされます。
判定は2か所、「配信されているか」と「ブロックされているか」です。これらの判定は最初に行われます。
ところが、通常、自分のパソコンに「Windows 10 バージョン1709の機能更新プログラム」が配信されたと気付くのは、この画面が表示されて作業を妨害された時です。
しかし、この状態はフローでは「再起動の待機」の状態であり、「再起動の待機」の状態でブロックしても判定されないため更新されてしまいます。
これがブロックに失敗する原因です。
更新プログラムのダウンロードと準備の手順
実際に「Windows 10 バージョン1709の機能更新プログラム」が適用されるまでの動作について説明します。
適用の回避方法につきましては記事ができましたので、こちらを御覧願います。
更新プログラムのダウンロード
「Windows 10 バージョン1709の機能更新プログラム」はこのフォルダーにダウンロードされます。
- C:\Windows\SoftwareDistribution\Download\4621457ada0167559a83d
Windows 10 バージョン1703までと違い本体のダウンローダーをダウンロードするのではなく、インストールするプラットフォームと構成に合わせて必要なパッケージが個別にダウンロードされます。
これはUEFIに対応していないWindows 7時代のパソコンにWindows 10 Homeの32ビット版がインストールされている状況で配信されたパッケージの例です。
配信されるパッケージ容量は約5GBです。
インストールパッケージの展開
ダウンロードされたパッケージはチェックされた後、このフォルダーに展開されます。
- C:\$WINDOWS.~BT
Windows 10 バージョン1703までと違いインストールプログラムは「install.esd」というファイルに圧縮されているのではなく、インストールするファイルそのものに展開されます。
検索してみても「esd」という拡張子のファイルは存在しません。
展開されたインストールファイルのサイズは約11GBです。一部圧縮されているフォルダーがあるため実際のサイズとディスク上のサイズが違っています。
ちなみにWindows 10 バージョン1709 32ビット版のインストール用USBメモリーのサイズは約3GBですので3倍以上のサイズに膨らんでいることになります。
再起動待ち
ここまで準備ができたところで「再起動の待機」となります。
インストールに使われるのは
- C:\Windows\SoftwareDistribution\Download\4621457ada0167559a83d
のファイルではなく、
- C:\$WINDOWS.~BT
の方です。
「Windows 10 バージョン1709の機能更新プログラム」適用阻止のテスト
フローで説明したとおり「再起動の待機」まで進んでしまったら、必ず「Windows 10 バージョン1709の機能更新プログラム」は適用されてしまいます。
しかし、適用するべきインストールモジュールが無ければ適用に失敗します。
これがこちらの記事で説明した拒否する方法です。
これまで説明してきたようにファイル内容は変わっていますが、削除すべきインストールモジュールの場所は変わっていません。
「再起動の待機」の状態での「一時ファイル」はこのようになっています。
- Windowsの以前のバージョン --> C:\$WINDOWS.~BT (、C:\Windows.old)
- 保留中の更新とプレビュービルド --> C:\Windows\SoftwareDistribution\Download
を表しています。
サイズが少し違いますが「Windowsの以前のバージョン」を削除してみるとこのようになります。「保留中の更新とプレビュービルド」は削除できません。削除する場合は直接「C:\Windows\SoftwareDistribution\Download」の内容を削除する必要があります。
この状態での「C:\$WINDOWS.~BT」は、
「C:\$WINDOWS.~BT\Sources」は、
とインストールモジュールは削除されています。
「C:\$WINDOWS.~BT」のサイズも約300MBとなります。
この状態で再起動してもインストールモジュールはありませんので当然適用に失敗します。
まとめ
Windows 10 バージョン1709でも拒否する方法に変わりはありませんでした。
問題は、既にインストール準備が整ったところでブロックしただけではダメということ。ブロックされたことをWindows 10に認識させる必要があります。
自分のパソコンが今、どの状態にあるのかを理解して適切に対処すれば「Windows 10 バージョン1709の機能更新プログラム」の適用は回避できます。
コメント
ストアアプリが一切インストールできなくなった時に見つけたページですが、
ヒントが隠されているかもしれません。
https://blogs.technet.microsoft.com/jpwsus/2014/12/02/windows-update-3/
コメントを頂きありがとうございます。
また、貴重な情報を教えて頂きありがとうございます。
確かにここで述べられている方法を使うことで手順を簡略化できると思います。
ただ、誰でも実行できる手順としては敷居が高い気がします。
頂いた情報で試してみます。
ありがとうございました。