Windows Updateのエラー0x800f0900を解決

前回まではXiaomエコシステムのネットワークカメラの紹介をしてきました。

今回は先日はまってしまったWindows Updateのエラーについての紹介です。

Windows Updateのエラー0x800f0900

「Windowsの設定」→「更新とセキュリティ」を確認するといつからかWindows Updateが適用できていないことに気づきました。

「更新プログラムのチェック」を選択すると更新プログラムのインストールを開始するのですが、失敗してしまいます。失敗したときのエラーコードは0x800f0900です。

このエラーコード0x800f0900でインストールできない更新プログラムは「2020-03 x64ベースシステム用Windows 10 Version 1903の更新プログラム (KB4540673)」です。

KB4540673の0x800f0900エラー

また、この更新プログラムをスキップしようとして「Windows 10、バージョン1909の機能更新プログラム」を導入しようとしたところ、こちらもエラー0x800F0900となってしまいました。

バージョン1909の0x800f0900エラー

効果が無かった対処方法

Windwos Updateのエラーを検索するといろいろ情報が出てきます。

なんとかエラーを解消しようと試してみたのですが、私の環境では効果が無かったのは次の対処法です。

それぞれの対処法について参考になりそうなサイトへのリンクを張ってあります。

いずれもWindows Updateがエラーとなったときによくとられる対処法のようなのですが、私の場合には全く効果はありませんでした。

エラー0x800f0900は結構重症なようです。

エラー0x800f0900を解決する方法

私がエラー0x800f0900を解決した方法は、次の通りです。

  1. DISMコマンドで使用するWIMファイルの作成する
    (これによりDISMコマンドの0x800f081fエラーを回避します)
  2. DISMコマンドでシステムファイルを修復する

の2ステップでした。

この対処をした後にWindows Updateを実行すると、エラーは発生せずに無事にWindows Updateを完了することができました。

なお、DISMコマンドのエラー0x800f081fを解消する際には下記のサイトが大変参考になりました。ありがとうございました。

Windows 10 Creater Updateにアップデートしました。暫くは問題なく使用できていたのですが、最適化ソフトで異常に気付きました。次に、DISMでWindowsイメージの修復を試したところ、 エラー0x800f081f が出力され、修復が完了しませんでした。今回はこの修復方法を紹介します。

この参考にしたサイトとかなりかぶりますが、手順を紹介していきたいと思います。

DISMコマンドのエラー0x800f081f

最初にDISMのエラー0x800f081fが表示される状態を紹介しておきます。

まずWindowsメニューを右クリックして「Windows Power Shell (管理者)」を実行しましょう。

Windows PowerShell(管理者)の実行

これで管理者用のWindows PowerShellが開きます。

Windows PowerShell

ここでシステムファイルを修復するためには次のコマンドを入力します。

DISM.exe /Online /Cleanup-image /Restorehealth

DISMコマンドによる修復が正常に進むとプログレスバーが100%になり「操作は正常に完了しました」と表示されるはずです。

しかし、私の場合はここでエラーコード0x800f081fが表示され、さらに

機能の復元に必要なファイルの場所を指定するには、”Source” オプションを使用してください。ソースの場所 の指定の詳細について は、http://go.microsoft.com/fwlink/?LinkId=243077 を参照してください。

と表示されました。

これが問題となっているDISMコマンドのエラー0x800f081fです。

なお、Windows PowerShellは以降の処理でも利用するので、閉じないでそのまま残しておきましょう。

WIMファイルの作成

DISMコマンドの”Source”オプションを使うためには、WIMと呼ばれるファイルが必要になります。

このWIMファイルを用意するのかがなかなか面倒でした。

いろいろ手順があるようですが、私はWindows10のインストールメディアを作成し、その中のファイルからWIMファイルを抽出しました。

Windows10のインストールメディアの作成

まずマイクロソフトのサイトからメディア作成ツール(Media Creation Tool)をダウンロードしましょう。

ダウンロードは「ツールを今すぐダウンロード」のボタンでできます。私が試したときには「MediaCreationTool1909.exe」というファイルがダウンロードできました。

MediaCreationTool

作成にはUSBメモリ(SDカードでもOK)が必要になります。PCから読み書きできるようにしておきましょう。

そしてダウンロードしたファイルをダブルクリックして実行します。最初にライセンスの確認がでるので「同意する」を選択します。

MediaCreationToolのライセンスの確認

次に実行する操作を選択するように表示されるので「別のPCのインストールメディアを作成する」を選択しして「次へ」を選択します。

USBメモリにインストールメディアを作成

次に作成するインストールの種類を選択します。エラーを修復したPC上でMedia Creation Toolを実行している場合はデフォルトのままでOKと思いますので「次へ」を選択します。

Windowsの選択

作成するメディアはUSBフラッシュドライブを選択して「次へ」を選択します。

USBフラッシュドライブを選択

あとはインストールメディアに用いるUSBメモリ(SDカード)のドライブを選択して「次へ」を選択します。

USBフラッシュドライブを指定

これでインストールメディアの作成が始まります。インターネット回線の速度にもよりますが10分ぐらいはかかりますのでしばらく待ちましょう。

次のような画面になればインストールメディアの作成完了です。

インストールメディアの作成完了

WIMファイルの抽出

まず作成したインストールメディアのsoucesフォルダにあるinstall.esdというファイルをCドライブにコピーします。約3.5GBの巨大なファイルです。

install.esdファイル

コピー先はCドライブのTempフォルダ(C:\Temp)にしておきましょう。

次にDISMコマンドを使ってinstall.esdの中身を確認します。管理者用のWindows Powershell (起動方法はこのページの上の方に記載してあります)で、次のように入力します。

cd C:\Temp
DISM /Get-ImageInfo /ImageFile:install.esd

実行結果は次のようになるはずです。

install.esdの中身の確認

ここで重要なのは、自分の利用しているWindows10のエディションのインデックスです。

例えば、Windows 10 Homeを利用していればインデックスは「1」になりますし、Windows 10 Proを利用していればインデックスは「3」になります。

インデックスを把握したら先ほどのWindows PowerShellで次のコマンドを入力します。ここで「/SourceIndex:」の続く数値は先ほど確認した自分のWindows 10に対応した数値です。

dism /export-image /SourceImageFile:install.esd /SourceIndex:1 /DestinationImageFile:install.wim /Compress:max /CheckIntegrity

このコマンドはかなり時間がかかりますので、のんびり待ちましょう。私は結構高速なCPUとSSDを利用していますが30分以上かかりました。

次のようになればWIMファイル(install.wim)の抽出が完了です。

WIMファイルの抽出

同じフォルダ(C:\Temp)に「install.wim」というファイルができているはずです。

なお、Windows PowerShellは以降の処理でも利用するので、閉じないでそのまま残しておきましょう。

DISMコマンドでシステムファイルを修復する

WIMファイル(install.wim)の用意ができたらこのファイルを利用してDISMファイルのエラー0x800f081fを回避しつつ、システムファイルを修復します。

この作業にも管理者用のWindows PowerShellを利用します。

まず、次のコマンドを実行します。

DISM /Online /Cleanup-Image /StartComponentCleanup

このコマンドも多少時間(10分ぐらい)がかかります。100%まで行けばOKです。

コンポーネントのクリーン

続いて次のコマンドを実行します(このコマンドは不要かもしれません)。

DISM /Online  /Cleanup-Image /AnalyzeComponentStore

こちらは割とすぐに終わります。

コンポーネントストアの解析

次が重要です。先ほど抽出したWIMファイル(install.wim)を使ってシステムファイルを修復します。このとき

DISM /Online /Cleanup-Image /RestoreHealth /source:WIM:C:\Temp\install.wim:1 /LimitAccess

こちらも数分で終了します。100%になって正常に完了すれば成功です。

WMIファイルを使ったシステムファイルの修復

最後にシステムファイルをスキャンして問題ないかどうかを確認しましょう。

sfc /scannow

私の場合は次のようになりました。

システムファイルのスキャン

100%まで到達したものの「破損したファイルが見つかりましたが、それらは正常に修復されました」と表示されました。

これでも問題ありません。

ここまできたらいったんWindows 10を再起動しましょう。

Windows Updateの再実行

Windows 10を再起動したら「Windowsの設定」→「更新とセキュリティ」でWindows Updateを実行してみましょう。

エラー0x800f0900を引き起こしていた更新が問題なくインストールできればOKです。

成功したWindows Update

まとめ

今回はWindows Updateがエラー0x800f0900となっていた状況を解決したことを紹介しました。

なかなか解決できなかったのですが、DISMというコマンドにWIMファイルを指定することで私の場合は回復することができました。

同じ問題にはまっている方は試してみてください。

次回はDJIのビデオカメラOSMO POCKETを購入したことを紹介します。

『Windows Updateのエラー0x800f0900を解決』へのコメント

  1. 名前:悪戦苦闘 投稿日:2020/04/19(日) 05:38:46 ID:5a923475a 返信

    いつも楽しく拝見しております。

    僭越ながら「DISM /Get-ImageInfo /ImageFile:install.esd」での
    WIN10Proのインデクス番号は「3」ではないでしょうか。
    当方の間違いでしたらすいません。

    当方もSYS修復で参考にさせていただき、同じツリー構成で行っていますが、
    「DISM /Online /Cleanup-Image /RestoreHealth /source:WIM:~」で
    「ソースが見つかりません」となって困っております。
    ここまでは順調だったのですが…。
    「ローカルグループポリシー」も通してみたのですが結果は同じです。

    どこか注意点があればご指南くだされば助かります。
    最後になりましたが、これからも楽しく役に立つ記事を楽しみにしております。

    • 名前:scratchpad 投稿日:2020/04/19(日) 17:17:21 ID:c3d7926d9 返信

      コメントありがとうございます。

      確かにインデックス番号は「3」ですね。修正しておきました。ご指摘ありがとうございます。

      DISMのRestoreHealthでWIMファイルを指定してもソースは見つかりませんといのはおかしいですね。
      私の記憶だと、私も「ソースが見つかりません」となった記憶があって、そのときはWIMの後ろのファイルパスを手打ちではなく、エクスプローラからコピペしたら大丈夫でした。
      単なる打ち間違えだったのかもしれませんが・・・

  2. 名前:悪戦苦闘 投稿日:2020/04/21(火) 06:35:58 ID:edb3ab2ca 返信

    連投失礼いたします。

    おかげさまでDISMによるSYS修復が完了いたしました。
    原因はやはりパスで、カギは返答を頂いた「エクスプローラ」でした。

    「エクスプローラー」からパスをコピペしたところ、
    直ぐに治ってしまいました(あっけ)。

    当方は自分の手入力は信用していないため基本コピペなのですが、
    長年ファイラー&cmdを使用しており今まで問題はありませんでした。
    「DISMはセンシティブでファイル名の大文字小文字まで注意」とありましたが、
    まさかこんなオチがあるとは。

    記事&コメが大変参考になりました。ありがとうございました。

    追記:参考になれば…
    例えば「dism /export-image /SourceImageFile:install.esd /SourceIndex:3 /~」で、
    抽出した「install.wim」はエディションにかかわらずインデクス番号が「1」に書き換わります。
    なので、
    「DISM /Online /Cleanup-Image /RestoreHealth /source:WIM:~」での
    インデクス番号は「1」の固定になります。
    これは「DISM /Get-ImageInfo /ImageFile:install.wim」で確認できます。

    当方はSFCでの結果は「NET FrameworkのVer不整合」のエラーでした。
    なのでDISMの「0x800F0906、0x800F081F、0x800F0907エラー癖」と混在してしまい、
    手間取ってしまいました。
    そこで「NET Framework」の機能を止めてみてはいかがでしょう。
    WIN10ではNET Frameworkがパッキングされていることですし、
    機能を止めてのSFC&DISMは理にかなうと思います。

    乱筆失礼しました。

    • 名前:scratchpad 投稿日:2020/04/27(月) 19:21:06 ID:4d054ebd6 返信

      無事に修正できたようで良かったです。

      私は0x800f0900エラーでWindows Updateができなくなってこまっていて、修正するのにかなりの時間がかかりました。
      このブログが役に立って良かったです。