修正プログラム ( Hotfix ) を適用すると時間がかかる場合の対処方法について

こんにちは、Windows プラットフォーム サポートの頂です。

Windows 7 / 8 や Windows Server 2008 R2 / Windows Server 2012 に修正プログラム ( Hotfix ) を適用すると時間がかかるとのお問い合わせを頂いております。
そこで、今回は Hotfix (修正プログラム) を適用する際の時間を短縮する方法について、ご紹介したいと思います。

どのような場合に、修正プログラム ( Hotfix ) 適用に時間がかかるのか
--------------------------------------------------------------------------------------------------------------
セキュリティ更新プログラム等、Windows Update から多くの更新プログラムを適用した環境に対して、修正プログラム ( Hotfix ) を適用すると発生いたします。

たとえば、KB2927725 の場合ファイルとしては、Ntoskrnl.exe のみを修正したものとなりますが、これまで多数のセキュリティ更新プログラム等によって、Ntoskrnl.exe が更新されておりますため、KB2927725 を適用すると完了まで時間がかかる場合がございます。

"0x133"、"0x101"stop エラーまたはシステムが応答を停止開始時に
https://support.microsoft.com/ja-jp/kb/2927725

適用に時間がかかる理由について
--------------------------------------------------------------------------------------------------------------
修正プログラム ( Hotfix ) 適用時に、適用済みのセキュリティ更新プログラム等に含まれるファイルについて再評価を行っているために、時間がかかります。

セキュリティ更新プログラムなどのパッケージには GDR と LDR の両方が含まれています。
一方で、今回のご紹介例として挙げております、KB2927725 (修正プログラム) では、Ntoskrnl.exe の LDR 版のみ提供しております。

一例となりますが、Windows Update によって最新の状態となっている環境に対して、KB2927725 のような修正プログラム ( Hotfix ) を適用すると、最新のセキュリティ更新プログラムによって適用された Ntoskrnl.exe ( GDR ) より低いバージョンの Ntoskrnl.exe ( LDR ) の適用となるため、修正プログラム ( Hotfix ) 適用後のセキュリティ レベルを保ち、最新の脆弱性に対応するために、適用済みのセキュリティ更新プログラムに含まれております最新の Ntoskrnl.exe ( LDR ) へと切り替えを行います。
このように、システムの整合性を保つために関連するコンポーネントの再評価が実施されます。

GDR と LDR の詳細については以下のエンジニア ブログをご参照ください。

修正プログラムにまつわるお話
https://blogs.msdn.com/b/japan_platform_sdkwindows_sdk_support_team_blog/archive/2012/01/26/10260805.aspx

適用にかかる時間を短縮する方法について ( 汎用的な対処方法 )
--------------------------------------------------------------------------------------------------------------
適用済みの更新プログラムが多ければ多いほど、再評価にかかる時間が増加いたしますので、適用済みの更新プログラムについて整理を行うことが有効な対処方法となります。
具体的には、修正プログラム ( Hotfix ) 適用前に、コンポーネントのクリーンアップを実施します。

注意:
コンポーネントのクリーンアップによって、現在使用されていない更新プログラムについては削除されます。
削除された更新プログラムは、システムで適用済みの更新プログラム一覧から無くなりますのでご注意ください。

Windows 7 および Windows Server 2008 R2 の場合
----------------
KB2852386 を適用しディスク クリーンアップ機能に、Windows Update のクリーンアップを追加します。
    ※ Windows Server 2008 R2 では、 デスクトップ エクスペリエンス 機能を有効にする必要がございます。

Windows Update のクリーンアップ について
https://blogs.technet.com/b/askcorejp/archive/2013/12/09/windows-update.aspx

ディスク クリーンアップ ウィザード アドオンで、Windows 7 SP1 または Windows Server 2008 R2 SP1 上の古い Windows の更新プログラムを削除できるようにする。
https://support.microsoft.com/ja-jp/kb/2852386

デスクトップ エクスペリエンスの概要
https://technet.microsoft.com/ja-jp/library/cc772567.aspx

Windows 8 および Windows Server 2012 の場合
----------------
ディスク クリーンアップ機能に、Windows Update のクリーンアップが既定で存在しますので、そちらを実行します。
    ※ Windows Server 2012 では、 デスクトップ エクスペリエンス 機能を有効にする必要がございます。
もしくは、StartComponentCleanup タスクによるクリーンアップ、Dism コマンドによるクリーンアップがございます。

WinSxS フォルダーのクリーンアップ
https://msdn.microsoft.com/ja-jp/library/Dn251565.aspx

StartComponentCleanup タスクによる、不要な更新プログラムの削除について
https://blogs.technet.com/b/askcorejp/archive/2015/12/03/startcomponentcleanup.aspx