Windows Update の対応は、特に Windows Update サービスが誤作動を起こしたり無効になったりすると、時に少々面倒なことがあります。更新プログラムは便利なMSUファイルやCABファイルとしてリリースされることもありますが、更新プロセスが壊れていたり失敗したりする場合は、これらのファイルを手動でダウンロードしてインストールすることが命綱となります。このガイドでは、適切な更新ファイルの入手からオフラインインストールまで、プロセス全体を解説します。少し面倒ですが、効果的です。また、特に Windows Update サービスが不安定だったり完全にオフになっているシステムでは、更新プログラムを直接処理する方法を知っておくと便利です。これらの手順をいくつか試すと、システムが更新され、1999 年のようにサービスがオンラインに戻るのを待つことなくパッチを適用できる可能性が高くなります。さあ、シートベルトを締めてください。コマンドラインでの作業が多少ありますが、一度コツをつかめば、手動で更新プログラムを適用できた時の満足感は格別です。
MSU および CAB ファイルを使用して Windows 更新プログラムを手動でダウンロードしてインストールする方法
MSU Windows Update ファイルを手動でダウンロードする方法
MicrosoftはセキュリティパッチやアップデートをMSUファイルまたはCABファイルとしてリリースし続けています。これらは基本的に直接インストールできるパッケージです。通常、Windows Updateは自動的にインストールされますが、何かが壊れていたり無効になっていたりする場合は、自分でこれらのファイルを入手する必要があります。これらのファイルを入手するのに最適な場所は、Microsoft Updateカタログです。必要なKB番号またはアップデートを検索し、適切なバージョン(x64など)を見つけて、ダウンロードをクリックしてください。
プロのヒント:MSUファイルをダウンロードしたら、C:\tempのようなシンプルなフォルダに移動してください。ファイル名が長い場合は、windows10-kbXXXX.msuのように分かりやすい名前に変更してください。そうすれば、後でコマンドがごちゃごちゃして混乱することがありません。環境によっては、ダウンロードリンクから直接CABファイルが提供される場合もありますが、オフラインインストールではMSU形式の方が一般的です。
MSU ファイルから Windows Update をインストールする
MSUファイルをダブルクリックしてみたことはありますか?それほど複雑ではありません。システムのWindows Updateサービスが正常に動作していれば、Windows Updateスタンドアロンインストーラーが起動し、残りの処理が行われます。ただし、場合によっては「 」エラーが表示される場合があるので注意してくださいThe update is not applicable to your computer。これは、パッチが既にインストールされているか、現在のバージョン/ビルドに対応していないことが原因である可能性があります。
GUIに加えて、コマンドラインからMSUを直接インストールすることもできます。これは、スクリプト作成や完全なサイレントインストールを行う場合に便利です。コマンドプロンプトを管理者として開き、次のコマンドを実行します。
wusa.exe c:\Temp\windows10-kbXXXX.msu /quiet /norestart
これにより、アップデートがサイレントモードで開始され、再起動が遅れます。アップデートが完了したかどうかを確認するには、次のコマンドを実行してください。
wmic qfe list | findstr KBXXXX
または、 Windows ログ > セットアップのイベント ビューアーで、成功または失敗を示すイベント メッセージを確認します。
この方法でMSUファイルをインストールすると、CABファイルを直接使用するよりも時間がかかる場合があることにご注意ください。少し奇妙に感じるかもしれませんが、これはWindowsがプロセス中に追加の検証を行うためかもしれません。環境によっては、更新が完全に開始される前に再起動が必要になる場合があります。
MSU 更新パッケージから CAB ファイルを抽出する方法は?
Windows Updateサービスが完全にダウンしている場合、または手動でパッチを適用したい場合は、MSUパッケージからCABファイルを抽出するのが良い回避策となる場合があります。まず、解凍先のフォルダ(例:C:\Temp\kb4056887)を作成します。次に、管理者特権のコマンドプロンプトで次のコマンドを実行します。
expand -f:* “C:\Temp\windows10.0-kb4056887-x64.msu” C:\Temp\kb4056887
これにより、必要なCABファイルを含むすべてのコンテンツがそのフォルダに解凍されます。フォルダ内には、次のようなファイルがあります。
- .xml — パッケージに関するメタデータが含まれています(スクリプトやチェックに非常に便利です)
- .cab — 実際の更新アーカイブ
- *pkgProperties.txt — リリース日やアーキテクチャなどのパッケージに関する情報
あるいは、7-Zip またはその他のアーカイブ ツールを使用して MSU ファイルを開き、CAB を手動で抽出することもできます。この方法の方が制御性が高く、好まれる人もいます。
Windows 10 または 11 に CAB 更新ファイルをインストールする方法
CABファイルをお持ちの場合は、DISM.exeを使ってインストールするのが最も速い方法です。追加のスキャンを行わないため、WUSAの実行を待つよりもはるかに高速です。管理者特権のプロンプトで以下のコマンドを実行するだけです。
DISM.exe /Online /Add-Package /PackagePath:c:\Temp\kb4056887\Windows10.0-KB4056887-x64.cab
1台のマシンではアップデートがすぐに解除されましたが、別のマシンではハングアップしたように見えましたが、通常はスムーズに動作します。完全に静かにして再起動を避けたい場合は、/Quiet /NoRestartを追加してください。
start /wait DISM.exe /Online /Add-Package /PackagePath:c:\Temp\kb4056887\Windows10.0-KB4056887-x64.cab /Quiet /NoRestart
また、スクリプトの作成や自動化を計画している場合は、DISM はオフライン イメージでも機能することを覚えておいてください。そのため、あまり手間をかけずに更新プログラムを Windows イメージに組み込んだり、複数のコンピューターにインストールしたりできます。
PowerShell 愛好家向けには、同様に動作するAdd-WindowsPackageコマンドレットもありますが、多くの人は依然として DISM を使用する傾向があります。
複数のアップデートを一括インストールする
大量のMSUファイルやCABファイルを手動で更新するのは面倒ですよね?そんな時こそスクリプトが役立ちます。更新ファイルをすべてフォルダにまとめ、バッチスクリプトやPowerShellを実行するだけで、すべてを処理できます。
基本的なバッチ スクリプトは次のようになります。
Set Folder="C:\updates" for %%f in (%Folder%\*.msu) do ( wusa.exe %%f /quiet /norestart )
または、PowerShell の場合は、これを試してみてください。
$dir = (Get-Item -Path C:\updates).FullName foreach($item in (ls $dir *.msu -Name)) { $fullPath = Join-Path $dir $item wusa.exe $fullPath /quiet /norestart | Out-Null }
この方法を使えば、すべてのパッチを一度に適用できるので、大幅に時間を節約できます。ただし、依存関係や前提条件には注意してください。アップデートによっては、スムーズにインストールするために、以前のパッチやサービスパックが必要になる場合があります。
覚えておいてください。このプロセスは、Win7 から Windows 11 まで、サポートされているほぼすべての Windows バージョンで機能し、さらに新しいサーバー エディションでも機能します。