ブログアーカイブ
0x800f0906, 0x800f081f エラー
Dism.exe /Online /Cleanup-Image /RestoreHealth を実行すると、0x800f0906, (0x800f081f) エラーが発生します。
CBS.log に次のようなメッセージが書き込まれます。
Not able to find package: Package_11_for_KB2973351~31bf3856ad364e35~amd64~~6.3.2.0 from the cached windows update index. [HRESULT = 0x800f090d – CBS_E_MISSING_PACKAGE_MAPPING_INDEX]
Failed to find package: Package_11_for_KB2973351~31bf3856ad364e35~amd64~~6.3.2.0 from the index with mapping index packages recently rebuilt, [HRESULT = 0x800f090d – CBS_E_MISSING_PACKAGE_MAPPING_INDEX]
Dism 0x800f081fの記事を参考にしてください。
DISM またはいずれかが 0x800f0906 で失敗する Windows Server 2012 の R2」の GUI のサーバー「に変換するときに継続的に実行 と同様に%windir%\servicing\packages\wuindex.xml ファイル内の、該当する updateID が存在しないために発生します。
Windows8.1-KB2938772, Windows8.1-KB2973351-v2(6.3.2.0), Windows8.1-KB2959626-v3
Dism /Online /Remove-Package /PackageName:(name) を実行すると
詳細については、ログ ファイルを確認してください。DISM ログ ファイルは C:\WINDOWS\Logs\DISM\dism.log にあります
先に「インストールされた更新プログラム」の項目を選択してアンインストールを実行します。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages の Package_ で始まるキーの InstallClient の値を WindowsUpdateAgentに変更します(一部のキーは DISM Package Manager Provider になっています)。
さらに InstallLocation が \\?\C:\WINDOWS\SoftwareDistribution\Download\(Guid)\ -KBxxxxxxx-x64.cab になっている(Package_n_for …, RTM, RTM_GT はフォルダ名のみ)か確認します。
.NET Framework 4.5 is default and .NET Framework 3.5 is optional (Windows) のように [HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Servicing] LocalSourcePath (REG_EXPAND_SZ) を設定することで Dism source オプションと同じ効果があります。cabファイルを任意のフォルダーに展開します。
UpdateID を読み取れる KB2919355 と読み取れない KB2955164 のmumファイルを比較したところ、installerAssembly要素のversion属性に相違がみられました。
Package_for_KB2919355~31bf3856ad364e35~amd64~~6.3.1.14.mum(update.mum), Package_n_for_KB2919355~31bf3856ad364e35~amd64~~6.3.1.14.mum
<installerAssembly name=”Microsoft-Windows-ServicingStack” version=”6.3.9600.17021” language=”neutral” processorArchitecture=”amd64″ versionScope=”nonSxS” publicKeyToken=”31bf3856ad364e35″ />
Package_for_KB2955164~31bf3856ad364e35~amd64~~6.3.1.3.mum(update.mum), Package_n_for_KB2955164~31bf3856ad364e35~amd64~~6.3.1.3.mum
<installerAssembly name=”Microsoft-Windows-ServicingStack” version=”6.0.0.0” language=”neutral” processorArchitecture=”amd64″ versionScope=”nonSxS” publicKeyToken=”31bf3856ad364e35″ />
こちらの情報は UpdateID とは関連がありません。
0x800f0818 Error
pkgmgr.exe を実行すると %SystemRoot%\Logs\CBS\CBS.log に “Pkgmgr: Failed installing selectable updates for: Windows Foundation, hr: 0x800f0818” が書き込まれる。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages を確認します。
私の環境では、package_n_for_kb979688~31bf3856ad364e35~amd64~~, package_n_for_kb2705219~31bf3856ad364e35~amd64~~, package_n_for_kb2731847~31bf3856ad364e35~amd64~~ のキーに問題があることがわかりました。このKB979688, KB2705219, KB2731847 にはそれぞれ複数のバージョンが存在します。リリースされた日時により、Windows6.0-KB979688-v3-x64.msu, Windows6.0-KB2705219-v2-x64.msu, Windows6.0-KB2731847-v2-x64.msu など-v -が含まれます。さらに ~~のあとに 6.0.1.1, 6.0.2.0, 6.0.3.0 と、異なる.cat, .msu ファイルが存在します。
Package_for_kb979688~31bf3856ad364e35~amd64~~6.0.1.0, Package_for_KB2705219~31bf3856ad364e35~amd64~~6.0.2.0, Package_for_KB2731847~31bf3856ad364e35~amd64~~6.0.2.0 に沿うように、Package_n_for…のキー名と、InstallName, \Owners の名前を修正したところ、このエラーが発生しなくなりました。
リカバリ、再インストールを行った場合には、最新のバージョンのものがインストールされます。インストールした時期によりこのように複数のバージョンが混在したものと思われます。
Windows Update 80070490 Error
こちらの記事を参照してください。
Windows Update の際に 80070490 エラーが発生
システム更新準備ツールを利用します。
レジストリエディタで と HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\ のキーを確認します。
%systemroot%\servicing\Packages に存在する mum ファイルが HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages のサブキーに正しく登録されているか確認します。