Windows 7 のインストールディスクに Windows Update を適用して初回のアップデートを短縮してみました
概要
Windows のインストールで時間がかかる作業のひとつに、Windows Update の適用があります。 インストールディスクの版にもよりますが、初回は 100~200 個程度の更新プログラムの適用を必要とすることも少なくありません。
今回はインストールディスクに前もって更新プログラムを適用しておくことで、初回の Windows Update を短縮できないか試しました。
具体的には、インストールイメージの wim ファイルへ更新プログラムのロールアップファイルを適用します。
実施環境
対象OS
Windows 7 Professional SP1 64bit
作業PC
- Windows 10 Pro [Version 10.0.14393]
- Windows ADK for Windows 10 Version 1607
更新プログラムのダウンロード
以下の更新プログラムをダウンロードします。
- http://www.catalog.update.microsoft.com/Search.aspx?q=KB3020369
- http://www.catalog.update.microsoft.com/Search.aspx?q=KB3125574
- http://www.catalog.update.microsoft.com/Search.aspx?q=KB3172605
- http://www.catalog.update.microsoft.com/Search.aspx?q=KB3212646
また、IE11へアップグレートする場合は、以下の更新プログラムをダウンロードします。
- http://www.catalog.update.microsoft.com/Search.aspx?q=KB2670838
- http://www.catalog.update.microsoft.com/Search.aspx?q=KB2729094
- http://www.catalog.update.microsoft.com/Search.aspx?q=KB2731771
- http://www.catalog.update.microsoft.com/Search.aspx?q=KB2786081
- http://www.catalog.update.microsoft.com/Search.aspx?q=KB2834140
- https://www.microsoft.com/ja-jp/download/internet-explorer-11-for-windows-7-details.aspx
作業フォルダの準備
ダウンロードしたファイルを作業フォルダにコピーします。今回は作業フォルダをC:\tmp
としました。
今後の作業に合わせて、各ファイルを以下のフォルダへコピーします。
C:\TMP └─update │ IE11-Windows6.1-x64-ja-jp.exe │ ├─iepre │ windows6.1-kb2533623-x64_8a59ea3c7378895791e6cdca38cc2ad9e83bebff.msu │ windows6.1-kb2670838-x64_9f667ff60e80b64cbed2774681302baeaf0fc6a6.msu │ windows6.1-kb2729094-v2-x64_e1a3ecc5030a51711f558f90dd1db52e24ce074b.msu │ windows6.1-kb2731771-x64_98dba6673cedbc2860c76b9686e895664d463347.msu │ windows6.1-kb2786081-x64_dc63b04c58d952d533c40b185a8b555b50d47905.msu │ windows6.1-kb2834140-v2-x64_3db9d9b3dc20515bf4b164821b721402e34ad9d6.msu │ ├─kb3020369 │ windows6.1-kb3020369-x64_5393066469758e619f21731fc31ff2d109595445.msu │ ├─kb3125574 │ windows6.1-kb3125574-v4-x64_2dafb1d203c8964239af3048b5dd4b1264cd93b9.msu │ ├─kb3172605 │ windows6.1-kb3172605-x64_2bb9bc55f347eee34b1454b50c436eb6fd9301fc.msu │ ├─kb3177467 │ windows6.1-kb3177467-x64_42467e48b4cfeb44112d819f50b0557d4f9bbb2f.msu │ └─kb3212646 windows6.1-kb3212646-x64_a94cf69326099fb121cdd7daf9dfc558f740afb8.msu
Internet Explorer 11 インストールファイルの解凍
Internet Explorer 11 (IE11)のインストールファイルを wim ファイルへ統合できる形へ解凍します。
C:\tmp\update\IE11-Windows6.1-x64-ja-jp.exe /x:C:\tmp\update\ie
C:\tmp\update\ie
にインストールファイルが解凍されました。
作業フォルダにWindowsインストールディスクをコピー
Windows 7 のインストールDVDを挿入し、インストールファイルをコピーします。
> robocopy /E /V /DCOPY:T /A-:R D: C:\tmp\windows
ここで、
D:
は光学トライブのドライブC:\tmp\windows
はコピー先のディレクトリ
です。
更新プログラムの適用
以降の作業は、「展開およびイメージング ツール環境」を管理者権限で起動して実施します。
アップデートするwindowsを確認
Windows 7 のインストールディスクには、複数のエディションのイメージファイルが含まれています。 適用するエディションのインデックス番号を次のコマンドで確認します。
今回は Professional に適用するので、インデックス: 3
であることが確認できました。
> dism /Get-WimInfo /wimFile:C:\tmp\windows\sources\install.wim 展開イメージのサービスと管理ツール バージョン: 10.0.14393.0 イメージの詳細: C:\tmp\windows\sources\install.wim インデックス: 1 名前: Windows 7 Home Basic 説明: Windows 7 Home Basic サイズ: 11,681,373,841 バイト インデックス: 2 名前: Windows 7 Home Premium 説明: Windows 7 Home Premium サイズ: 12,194,650,761 バイト インデックス: 3 名前: Windows 7 Professional 説明: Windows 7 Professional サイズ: 12,096,751,107 バイト インデックス: 4 名前: Windows 7 Ultimate 説明: Windows 7 Ultimate サイズ: 12,259,188,245 バイト 操作は正常に完了しました。
イメージファイルのマウント
> dism /mount-wim /wimfile:C:\tmp\windows\sources\install.wim /index:3 /MountDir:C:\tmp\mount 展開イメージのサービスと管理ツール バージョン: 10.0.14393.0 イメージをマウントしています [==========================100.0%==========================] 操作は正常に完了しました。
更新プログラムの適用
> dism /image:C:\tmp\mount /Add-package /packagepath:C:\tmp\update\kb3020369 > dism /image:C:\tmp\mount /Add-package /packagepath:C:\tmp\update\kb3125574 > dism /image:C:\tmp\mount /Add-package /packagepath:C:\tmp\update\kb3172605 > dism /image:C:\tmp\mount /Add-package /packagepath:C:\tmp\update\kb3212646 > dism /image:C:\tmp\mount /Add-package /packagepath:C:\tmp\update\iepre > dism /image:C:\tmp\mount /Add-package /packagepath:C:\tmp\update\ie
イメージのアンマウント
更新プログラムが正常に適用できたら、以下のコマンドで更新内容を保存します。
> dism /Unmount-Image /MountDir:C:\tmp\mount /commit
ここで、/commit
は更新内容を保存する(commit)を示します。更新内容を破棄する場合は、
/discard
を指定します。これは、更新が失敗した場合に、指定するとよいでしょう。
ISOファイルへ書き出し
> oscdimg -n -m -bc:\tmp\windows\boot\etfsboot.com c:\tmp\windows c:\tmp\win7_hotfixed.iso
動作確認
作成したインストールディスクを用いて、Windowsインストールを実施した結果、初回の更新プログラムは63個と大幅に減らすことができました(2017/3/26実施)。