「sfc /scannow」がエラーとなり、「dism実行」でも、ソースファイルが見つからないエラー(0x800f081f)となる」場合の対処方法は?

【投稿者コメント】


【キーワード】

[sfcとdismNG]、[dismのソースを他]、[PCのWindowに]


【件名】

「「sfc /scannow」がエラーとなり、「dism実行」でも、ソースファイルが見つからないエラー(0x800f081f)となる」場合の対処方法は?」


【投稿本文】


【1】「sfc /scannow」でも、「dism実行」でもエラーで万事休す!(添付図1の左図参照)


 添付図1の左図に示すように、「sfc /scannow」でも、「DISM.exe /Online /Cleanupーimage /Restorehealth」でもエラーとなり、万事休すだ。

 程度の悪いエラーだが、この原因となるPC操作は思い当たらず、突然の不具合だ!


【2】「dism実行」のエラー:「ソースファイルが見つからない」を改修するには、dismのソースを指定してみるしかない


 こうなったら、「dism実行」のエラーを修復するには、「ソースファイルが見つからない」と云うエラーゆえ、オーソドックスな、本来的な対応なら、dismのソースを指定してみる事が試せるだろう。

【例】
DISM /Online /Cleanup-Image /RestoreHealth /source:WIM:D:\Sources\Install.wim:1 /LimitAccess


【3】dismのソースをそろえるのは煩雑!


 そこで、このソースのInstall.wimの入手方法だが、

【ソースを指定してDISMコマンドを実行する手順】

①OSイメージの入手

マイクロソフト公式サイトから OSイメージを入手する

②OSイメージからinstall.esdを取り出す

・作成したisoファイルを右クリックして「マウント」を選択すると、新たにドライブレターが割り当てられたESD-ISOというディレクトリが開かれて、Dドライブがマウントした仮想ドライブになるとする。
・すると、修復に使うファイルの材料であるinstall.esdの場所は、
【install.esdの場所】
D:\sources\install.esd

③install.esdからinstall.wimを抽出

・Dism /Get-WimInfo /Wimfile:D:\sources\install.esd
のコマンドで、install.esdの中にあるイメージのエディションのインデックス番号を確認する
・1~3のインデックスでHome / Education / Proが割り当てられている
・修復対象のOSのエディションに合ったインデックスを覚えておく
・今回はHomeが修復対象で、Homeのインデックス番号が1だったとする。
・インデックスを確認したら次のコマンドを打つ。
Dism /Export-Image /SourceImageFile:D:\sources\install.esd /SourceIndex:1 /DestinationImageFile:C:\install.wim /Compress:max /CheckIntegrity
 このコマンドのSourceIndex:1の部分に先ほど確認したインデックス番号を入力している。
・この処理には少し時間がかかり、処理が終わったらCドライブ直下にinstall.wimが出来上がっている。

④ソースにinstall.wimを指定してDISMコマンドを打つ

DISM /Online /Cleanup-Image /RestoreHealth /source:WIM:D:\Sources\Install.wim:1 /LimitAccess

 ・・・等々、少し煩雑で、手間暇が掛かり、少々、面倒だ!


【4】DISMコマンドのソースとして他PCのWindowsフォルダを指定する(添付図1右図参照)


 そこで、ソースとするファイルとして、もう1台の正常なPCのWindows 11のWindowsフォルダを使えないのだろうか?と云う考えが浮かぶ。

 ここで、もう1台のPCの「Surface Pro 3」の「Windows11」が、ほぼ素のまま正常に動いているので、これを使ってみる。(勿論、①「sfc /scannow」も②「DISM.exe /Online /Cleanupーimage /Restorehealth」も③「CHKDSK c: /f」も全て正常終了する!)

①まず、もう1台のPCの「Surface Pro 3」の「Windowsディレクトリ」の「ネットワーク共有設定」を行う。
・「"c:\Windows"フォルダ」を「読み取り専用で共有」とする。

②このフォルダをエラーの生じているPCで開いて、修復用イメージ(Source)として使ってみる。
 もう1台のPCの「Surface Pro 3」の「Windowsフォルダのパス」を"\\SURFACE-PRO\Windows"とした場合に、次の様なコマンドを打ってみる。

"dism.exe /online /cleanup-image /restorehealth /Source:\\SURFACE-PRO\Windows"

③すると正常に完了する。

④そのまま続けてシステムファイルチェッカー sfc /scannow を行ってみると、今度は、"正常に修復されました"となる。

⑤本当に直ったのかを確認する為に、PC再起動後に、もう一度システムファイルチェッカーを動かすと、エラーは検出されずに、修復が完了する。

⑥もう1台の、正常なPCの「Windowsフォルダの共有」を解除する。


【5】「dism実行」の、「ソースファイルが見つからないと云うエラー(0x800f081f)」の原因は?


 「dism実行」のエラー(0x800f081f)」は、「修復に必要なソースファイルが見当たらない」と云うエラーだ。

 修復の原本となるソースファイルをPCユーザの操作で削除する事は考えられないので、原因は、つい最近のWindows Updateだろう?

 つい最近のWindows Updateと云えば、2024年4月10日配布の「Windows 11 Version 23H2 の累積更新プログラム(KB5036893)」になる!

 上記【4】項のもう1台のPCでは、「dism実行」のエラー(0x800f081f)」は起きていないから、「累積更新プログラム(KB5036893)」を適用してもエラーとなる条件があるようだ。

 同じWindows Updateの累積修正パッチを適用してもエラーとなる場合とエラーにならない場合とに分かれると云う状況では、毎月、5~8GBも適用する"累積"パッチの意味合いが無い! 通信リソースのムダ遣いだ!

 最近のWindows Updateは不安定で、いつ、何時、深刻バグの被害を受けるかも知れず、1台のPCでは不安であり、WindowsOSのVersion/Revisionを揃えた、もう1台の控えの補完PCが必要だ!

 一見、Version/Revisionを揃えたPCを2台も使うのは、無駄な様に視えても、今回の様に、もう1台控えのPCがあれば、上記の【4】項の正常なソースファイルとして使えて修復も出来てしまう!