【投稿者コメント】
【キーワード】
[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】項の正常なソースファイルとして使えて修復も出来てしまう!