こんにちは、Windows プラットフォームサポート 宮崎です。
Windows 10 や Windows Server 2016 で更新プログラムの適用作業を行う際に、想定通りに検出されないことや適用できないことについてお問合せをいただいております。
この記事ではそういった動作を未然に防ぐ適切な運用方法として、「サービス スタックの更新プログラム」を利用することの重要性や詳細を紹介します。皆様の更新プログラムの適用管理に向けて有用な情報となりましたら誠に幸いです。
目次
本ブログの目次とサマリーです
- サービス スタックの更新プログラムとは
- サービス スタックの更新プログラム適用時の詳細と影響
- 公開されているサービススタックの更新プログラムの最新版の確認方法
- 更新プログラムの前提条件が満たされない場合
1. サービス スタックの更新プログラムとは
サービス スタック (Servicing Stack) の更新プログラムとは、OS のインストール処理を担うコンポーネント CBS (Component Based Servicing) を更新するプログラムです。サービス スタックの更新プログラムをインストールすることで、更新プログラムのインストールを始めとした OS のインストール処理自体が改善されます。
サービス スタックの更新プログラムの例 (KB4132216)
Title: Servicing stack update for Windows 10 Version 1607: May 17, 2018
URL: https://support.microsoft.com/en-us/help/4132216/
Windows 10, Windows Server 2016 では累積更新プログラムという仕組みが採用され、多くの修正が一つの更新プログラムにパッケージされました。また過去の月の分も累積的に修正を含むようになったため、最新の累積更新プログラムを適用するだけで必要な修正が網羅的に反映されるようになっています。しかし、累積更新プログラムに含まれない OS の修正というのが例外としてあり、サービス スタックの更新プログラムが該当しますので、累積更新プログラムとは別に適用が必要です。
サービススタックの更新プログラムの適用によって改善される内容としては主に以下の点となります。
- 更新プログラムの前提条件 (適用する更新プログラムによっては、サービス スタックの更新プログラムを適用し CBS を更新しないと適用できない場合があります。)
- 動作の信頼性の向上 (更新プログラムがエラーで適用できないといったトラブルが改善される場合があります。トラブルを未然に防ぐために有効です。)
- パフォーマンスの向上 (インストール処理が改善され、適用にかかる時間が短縮される場合があります。)
- その他、各サービス スタック更新プログラム特有の改善事項
改善点 A のように更新プログラムによっては、最新のサービス スタックの更新プログラムの適用を条件としている場合がございます。
例えば、Windows Server 2016 において 2018 年 6 月にリリースされた KB4284880 や 2018 年 7 月にリリースされた KB4338814 では、その前提条件として前述の KB4132216 の適用を必要としています。
Title: 2018 年 6 月 13 日 – KB4284880 (OS ビルド 14393.2312)
URL: https://support.microsoft.com/ja-jp/help/4284880/
///// 抜粋ここから /////
必要条件: 最新の累積的な更新プログラム (LCU) (KB4284880) をインストールする前に、サービス スタック更新プログラム (SSU) (KB4132216) をインストールする必要があります。 SSU がインストールされるまで、LCU は適用対象として表示されません。
///// 抜粋ここまで /////
Title: July 10, 2018-KB4338814 (OS Build 14393.2363)
URL: https://support.microsoft.com/ja-jp/help/4338814/
///// 抜粋ここから /////
Prerequisite: The servicing stack update (SSU) (KB4132216) must be installed before installing the latest cumulative update (LCU) (KB4338814). The LCU will not be reported as applicable until the SSU is installed.
///// 抜粋ここまで /////
技術情報によっては過去の更新プログラムの公開経緯などから適用の前提条件をすべて記載していない場合がございます。公開されているサービス スタックの更新プログラムの最新版を都度適用いただくことをお勧めいたします。
2. サービス スタックの更新プログラム適用時の詳細と影響
サービス スタックの更新プログラムを適用することで、CBS のコンポーネントを構成する各モジュール (cbscore.dll 等) が更新されます。
サービス スタックの更新プログラムはロールアップの更新プログラムなどと比較しますと、修正の影響範囲は限定されており通常は大きな機能変更などを及ぼすものではありません。必要に応じて適用前にサポート技術情報を確認いただきたく存じますが、弊社としては更新をお勧めいたしている更新プログラムとなります。
なお、多くの更新プログラムはコントロール パネルから [コントロール パネル > プログラム > プログラムと機能 > インストールされた更新プログラム] よりアンインストール操作が可能です。
しかし、サービス スタックの更新プログラムについてはアンインストールが行えない更新プログラムとなっております。コントロール パネル上でサービス スタックの更新プログラムのカラムを右クリックしても、コンテキスト メニューが全く表示されない動作となりますが想定された動作ですのでご留意ください。
3. 公開されているサービススタックの更新プログラムの最新版の確認方法
公開されているサービス スタックの更新プログラムの最新版を確認する方法は以下の通りでございます。確認が簡単な方法は”方法 3-A” です。
3-A. 検証マシンを仮想環境などに別途用意して、Windows Update を実施し、検出される更新プログラムを確認する。
Windows 10 や Windows Server 2016 では累積更新プログラムの仕組みにより適用される更新プログラムの数自体が少なくなっていますので、
Windows Update を通じて最新の状態にした後、個々の更新プログラムの情報を確認することで簡単に確認が行えます。
(Windows Server 2016 の操作例)
[設定] – [更新とセキュリティ (Windows Update、回復)] – [Windows Update] – [更新プログラムのチェック] ボタン
最新の状態にしたあと、コマンドプロンプトより wmic qfe コマンドを実行することで、適用されている更新プログラムのリストやその技術情報を確認できます。
実行結果として表示される “http://support.microsoft.com/?kbid=4132216” をクリックすることで確認できます。
※WSUS 環境では管理者によってサービス スタックの更新プログラムを承認しておらず適用されない場合がございます。本記事では非 WSUS 環境の検証方法としてお伝えしております。
3-B. 検証環境の用意が難しい場合、”Servicing stack update” や “サービス スタック更新プログラム” といったワードで検索する。
下記の URL のように名称から検索いただきます。
Title: Microsoft Support – “Servicing stack update Windows 10” の検索結果
URL: https://support.microsoft.com/en-us/search?query=Servicing%20stack%20update%20Windows%2010
上記の URL では検索候補として複数表示されますため、最新の更新プログラムは技術情報のタイトル上のリリース日などを参考にしていただく必要がございます。
また、KB の番号は概ね値が大きいものが新しい更新プログラムである指標となりますが、あくまで弊社の技術情報や
更新プログラムの管理上の番号でございます。弊社のリリースの予定管理上、番号と日付の関係が異なる場合もあります。
4. 更新プログラムの前提条件が満たされない場合
サービス スタックの更新プログラムが他の更新プログラムの前提条件となる場合があることは “1. サービス スタックの更新プログラムとは” の項目にて記載させていただきました。
条件を満たしていない更新プログラムのスタンドアロンインストーラーを実行しても「この更新プログラムはお使いのコンピューターには適用できません。」のエラーのダイアログの表示となり適用できません。
その時には イベントビューアー (eventvwr.exe) から [Windows ログ] – [Setup] イベントログを参照すると以下のイベントが記録されます。
ログの名前: Setup
ソース: Microsoft-Windows-WUSA
イベント ID: 3
レベル: エラー
説明:
エラー 2149842967 “” が原因で Windows の更新プログラム をインストールできませんでした (コマンド ライン: “”C:\Windows\system32\wusa.exe” “C:\Users\Administrator\Desktop\2018-06 Cumulative Update for Windows Server 2016 for x64-based Systems (KB4284880)\AMD64_X86-all-windows10.0-kb4284880-x64_34d88e02608fa8c7db3dda395434d93ba109169c.msu” “)
エラーコード 2149842967 (16 進数では 0x80240017) は WU_E_NOT_APPLICABLE を意味しており、ダイアログの表示通り適用できないことを示しております。
Title: Windows Update エラー コード一覧
URL: https://support.microsoft.com/ja-jp/help/938205/windows-update-error-code-list
///// 抜粋ここから /////
0x80240017 WU_E_NOT_APPLICABLE Operation was not performed because there are no applicable updates.
///// 抜粋ここまで /////
これは下記技術情報中の “4 Missing prerequisite update” に該当します。
Title: “The update is not applicable to your computer” error when you install Windows updates
URL: https://support.microsoft.com/en-us/help/3057448
///// 抜粋ここから /////
4 Missing prerequisite update
Some updates require a prerequisite update before they can be applied to a system. If you are missing a prerequisite update, you may encounter this error message. For example, KB 2919355 must be installed on Windows 8.1 and Windows Server 2012 R2 computers before many of the updates that were released after April 2014 can be installed.
– 概訳
いくつかの更新プログラムはシステムの適用前に前提条件を満たす必要があります。この前提条件が満たされていないと「この更新プログラムはお使いのコンピューターには適用できません、」のエラーが表示されます。例えば、Windows 8.1, Windows Server 2012 R2 は 2014 年 4 月以降の更新プログラムにおいて KB2919355 が前提としています。
///// 抜粋ここまで /////
なお、必ずしも上記のメッセージがサービス スタックの適用不足を示しているわけではなく、OS 内において各モジュールが最新のバージョンに置き換えられているため適用できない(適用作業自体が不要)場合を示す場合もございます。これは表中では “1 Update is superseded” を示します。
以上となります。本記事が皆様の運用の一助となりましたら誠に幸いです。