ブログアーカイブ

Windows Update (Windows 8.1)


Windows 8.1 で Windows Update に失敗する

KB2919355, KB2934018, KB2975719, KB2984006 などの更新プログラムのインストールに失敗するときに次の点を確認してみてください。マイクロソフトが推奨する方法ではありませんので注意してください。

  1. regedit.exe を起動して、HKEY_LOCAL_MACHINE に ハイブ(%SystemRoot%\System32\config\components)を追加します。キー名を COMPONENTS に設定します。
  2. 更新プログラム(msu ファイル)を展開して、sys ファイルを含むフォルダーを確認します。対応する %SystemRoot%\WinSxS\ フォルダーの古いバージョンを選択します。
  3. %SystemRoot%\WinSxS\ フォルダーのファイルが圧縮されているかどうか確認します。適用する更新プログラムの sys ファイルと比べてファイルサイズが小さい場合は msdelta 圧縮されています。
  4. HKEY_LOCAL_MACHINE\COMPONENTS\DerivedData\Components の 対応するキーに含まれる f! で始まる値の DRORD が 3 に設定されているか確認します。圧縮されているのに 1 に設定されている場合は変更します。圧縮されていないファイルの場合は 1 に設定します。NTFS圧縮(エクスプローラーで青色の表示になる) の場合は 5 に設定します。
  5. f! で始まる値が 1 のみ含まれる場合は、CF, CTS, DV を削除します。

CF の値が存在すると、%SystemRoot%\WinSxS\ManifestCache (blob) を参照します。必要があればこのフォルダーの bin ファイルを削除します。

この状態で 更新プログラムを適用します。次のコマンドを実行します。

  • Dism /Online /Cleanup-Image /StartComponentCleanup
  • Dism /Online /Cleanup-Image /ScanHealth
  • Dism /Online /Cleanup-Image /RestoreHealth

Windows Update とレジストリ


Vista で Windows Update を手動で行う

msuファイルを選択して更新プログラムをインストールできない場合にファイルを展開してインストールする一例です。詳しくはパッケージ マネージャのコマンドラインオプションを参照してください。

Windows Vista Packages


  1. Microsoft ダウンロードセンターから 更新プログラム msu ファイルをダウンロードします。
  2. expand /f:* Windows6.0-KBxxxxxx.xxx.msu [outdir] を実行して任意のフォルダーに展開します。[outdir] は事前に作成しておく必要があります。
  3. [outdir] フォルダーのWindows6.0-KBxxxxxx.xxx.cab を展開します。expand /f:* Windows6.0-KBxxxxxx.xxx.msu [outdir2]
  4. cd [outdir2]
  5. 管理者権限を使用してコマンドプロンプトに start /w pkgmgr /ip /m:update.mum を入力して インストールを行います。%SystemRoot%\servicing\Packagesにcatファイルとmumファイル, %systemroot%\System32\catroot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE} にcatファイルがコピーされているか確認します。

ファイル名に _bf が含まれるものは LDR区分となります。また _server が含まれるものは Windows Server で必要となると考えられます。


レジストリについて

Windows Update のファイルの情報は次のレジストリに書き込まれます。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\ComponentDetect に更新されるシステムファイルを情報が書き込まれます。複数の更新プログラムに同じファイルの更新が含まれることもあります。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages, %systemroot%\servicing\Packages と %systemroot%\System32\catroot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE} にcatファイルとmumファイルの情報を反映しています。