🧬

オフラインでWindows Updateをするときに知りたいこと

2024/01/25に公開

概要

Windows Serverをオンプレで運用しており、普段はWindows Updateを止めて塩漬けしているが、セキュリティ要件などでWindows Updateをしなければならないときなど、オフラインでWindows Updateを行うときの知識についてまとめました。

「累積的」な更新プログラム

Windows Updateではよく累積的な更新(Cumulative Update)という用語が使用されます。
基本的には累積更新プログラムは過去にリリースされた更新プログラムがすべて含まれるという認識で問題ありません。

そのため、「バージョンAからBの間の更新プログラムを順番に適用する」とか「2023年1月から2024年1月の月次累積更新プログラムを順番に適用する」とかは必要ありません。

ただし、サービススタック更新プログラム(後述)に関しては、累積更新プログラムを実行する前にインストールが必要な場合があります。サービススタック更新プログラム自体も累積的な更新プログラムとなるため最新版をインストールすれば問題ありません。

更新プログラムの種類

Windows Updateには大きく2種類の更新プログラムがあります。
新しい機能が追加される「機能更新プログラム」とそれ以外の修正を含む「品質更新プログラム」です。

機能更新プログラム (Feature Update)

新しい機能をWindowsに追加する大型アップデートです。毎年リリースされます。
通常、これらの更新は累積的となります。

品質更新プログラム(Quality Update)

不具合修正やセキュリティ対策を目的とするアップデートです。リリースサイクルによっていくつかの種類があります。

Bリリース / 月次セキュリティ更新プログラム (Monthly Security Update)

毎月第2火曜日にリリースされるセキュリティ更新プログラムです。
Bリリースは累積的であり、新しいセキュリティ修正+前月のCリリース+以前のBリリースが含まれます。
セキュリティ更新プログラムのうち、最新のものは最新の累積的な更新プログラム(LCU)と呼ばれます。

Cリリース / オプションのセキュリティ以外のプレビュー (Optional nonsecurity preview)

毎月第4火曜日にリリースされるIT管理者向けのプレビューリリースです。
翌月のBリリースのうち、セキュリティ以外の累積的な更新プログラムがリリースされます。
IT管理者はこれを利用することで、翌月のBリリースを事前にテストすることができます。
必ず適用する必要はありません。

OOBリリース / 帯域外リリース (Out-of-Band release)

特定の問題や脆弱性を修正するために提供される更新プログラムです。いわゆる緊急パッチに相当します。
OOBリリースは常に累積的であり、対象の修正プログラム+以前のB/Cリリースが含まれます。

サービススタック更新プログラム (SSU)

サービススタックとは更新プログラムのインストールを実行するためのコンポーネントです。そのため、サービススタックに問題があると、更新プログラムのインストールに失敗する可能性があります。
このサービススタックを修正するための更新プログラムがサービススタック更新プログラム(SSU)と呼ばれます。

参考
https://jpwinsup.github.io/blog/2022/06/04/WindowsUpdate/HowToFindNecessarySSU/

オフラインでWindows Updateを行う手順

例としてWindows Server 2019をOSビルド17763.737から17763.2210にアップデートすることを考えます。

必要なバージョンの更新プログラムを確認する

必要なバージョンの更新プログラムを公式HPで確認します。

https://support.microsoft.com/ja-jp/topic/2021-年-9-月-21-日-kb5005625-os-ビルド-17763-2210-プレビュー-5ae2f63d-a9ce-49dd-a5e6-e05b90dc1cd8

ほとんどの場合は問題ありませんが、前提条件を満たしているかも確認しましょう。今回はSSUのインストールも行います。SSUに関しては対象OSに対応した最新を使用すれば大丈夫です。

前提条件

Microsoft Update カタログから更新プログラムのダウンロードを行う

Microsoft Update カタログで必要な更新プログラムを検索してダウンロードします。今回は累積更新プログラム(KB5005625)とSSU(KB5005112)をダウンロードします。

https://www.catalog.update.microsoft.com/home.aspx

検索方法

引用符、マイナス検索を使っていい感じに検索しましょう。

Windows Server 2019 のKB5005625

KB5005625 "Windows Server 2019" -azure

Windows Server 2019 の累積更新プログラム

累積更新プログラム "Windows Server 2019" -azure -".NET Framework"

Windows Server 2019 のサービススタック更新プログラム

"サービス スタック" "Windows Server 2019" -azure

サービススタック更新プログラムをインストールする(オプション)

ダウンロードした.msuファイルを実行してインストールします。

サービススタック更新プログラムをインストールする場合、累積更新プログラムよりも先にインストールする必要があります。順番を間違えると累積更新プログラムのインストールに失敗する可能性があります。

再起動はしなくてもいいみたい。

サービス スタック更新プログラムをインストールする場合、デバイスを再起動する必要がないため、インストールを中断する必要はありません。

更新プログラムをインストールする

ダウンロードした.msuファイルを実行してインストールします。再起動が必要です。

知っておくと便利

適用された更新プログラムを確認する

PowerShellのGet-Hotfixコマンドで適用された更新プログラムを確認することができます。

Get-Hotfix

下記のようにすればCSV出力することもできます。

Get-Hotfix | Export-Csv -Path "$HOME\Desktop\Hotfix.csv" -NoTypeInformation

累積更新更新プログラムに更新プログラムが含まれてるか確認する

Microsoft Update カタログで対象の更新プログラムの詳細ページの「パッケージの詳細」から

  • この更新プログラムが含まれる未来の累積更新プログラム
    = 「この更新プログラムは、次の更新プログラムで置き換えられました」
  • この更新プログラムの中に含まれてる過去の更新プログラム
    = 「この更新プログラムは、次の更新プログラムを置き換えます」

を確認することができます。

パッケージの詳細

GitHubで編集を提案

Discussion