【Windows】dism実行でソースファイルが見つかりませんでしたエラー(0x800f081f)がでたときの対応方法

Windows

古いマシンでWindows10をリカバリする機会がありました。リカバリディスクで工場出荷状態へ戻した後、WindowsUpdateを行っていこうとするもうまくいかず、dismコマンドでも「ソースファイルが見つかりませんでした」エラー(0x800f081f)となりました。ここでは解決策について詳しく解説します。

スポンサーリンク

この現象が出た背景

リカバリディスクを使って工場出荷状態に戻すと、Windows10のバージョン(OSビルド)も当時のものになるので、WindowsUpdateをあてていく作業が必要になります。

ちなみに下記がWindows10のバージョンの変遷です。該当マシンの現在のバージョンはwinverコマンドで10586であることを確認。

リリース バージョン OSビルド番号 コードネーム
2022年10月 22H2
2021年11月 21H2 19044 21H2
2021年5月 21H1 19043 21H1
2020年10月 20H2 19042 20H2
2020年5月 2004 19041 20H1
2019年10月 1909 18363 19H2
2019年5月 1903 18362 19H1
2018年10月 1809 17763 Redstone 5 (RS5)
2018年4月 1803 17134 Redstone 4 (RS4)
2017年10月 1709 16299 Redstone 3 (RS3)
2017年4月 1703 15063 Redstone 2 (RS2)
2016年8月 1607 14393 Redstone 1 (RS1)
2015年11月 1511 10586 Threshold 2 (TH2)
2015年7月 1507 10240 Threshold 1 (TH1)

今回、アップデート実行時に以下のような感じで、明らかに古いのにこれ以上アップデートできない旨のメッセージが出ました。

お使いのデバイスは最新の状態です。最終確認日:今日、XX:XX

そこで以下を試していきました。

dismコマンドを試す

dism (Deployment Imaging Service and Management) コマンドというのは、Windowsのシステムイメージを管理・修復するためのツールです。具体的には、Windowsイメージの展開、キャプチャ、サービス、修復などをするもので、とりわけ、破損したシステムファイルの修復やWindowsのイメージファイルのメンテナンスに使用されます。例えば、以下のようにコマンドを打つことで実行できます。

> dism.exe /online /cleanup-image /restorehealth

では早速管理者権限でdismコマンドを実行してみましょう。

すると…

Windows10
展開イメージのサービスと管理ツール
バージョン: 10.0.10586.0
イメージのバージョン: 10.0.10586.0
[==========================100.0%==========================]
エラー: 0x800f081f
ソース ファイルが見つかりませんでした。
機能の復元に必要なファイルの場所を指定するには、"Source" オプションを使用してください。ソースの場所の指定の詳細について は、http://go.microsoft.com/fwlink/?LinkId=243077 を参照してください。
DISM ログ ファイルは C:\Windows\Logs\DISM\dism.log にあります

なんと、ソースファイルが見つかりませんでしたとのこと。

sfc /scannow コマンドを試す

次にsfc / scannowコマンドを試します。これは、ファイルチェッカー(SFC)を使用して、Windowsシステムファイルの整合性をチェックし、破損したファイルを自動的に修復するコマンドです。このコマンドを実行することで、システムファイルの問題を検出し、Windowsの安定性を保つことができます。先ほどと同じく管理者権限で実行する必要があります。

> sfc /scannow

実行してみると…

システム スキャンを開始しています。これにはしばらく時間がかかります。
システム スキャンの検証フェーズを開始しています。
検証 100% が完了しました。
Windows リソース保護により、破損したファイルが見つかりましたが、それらの
一部は修復できませんでした。詳細は CBS.Log windir\Logs\CBS\CBS.log に
含まれています。例: C:\Windows\Logs\CBS\CBS.log。ただし、オフライン
サービス シナリオでのログの記録は現在サポートされていません。

何かもう少し根深い問題がありそうですね。

最終的な着地点

本来であれば、ここから先も試せることはまだまだありそう。例えば以下のような感じで。dism実行時にソースを指定してみるなどもできます。

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

だけどよく考えるとこのマシンはかなり古いバージョン(OSビルド)であり、最新にするために、WindowsUpdateを順番にあてていくのでは時間がかかりすぎてしまいます。
強制的に最新バージョンを早いということです。

ということで、今回はWindows10の最新isoをダウンロードし、更新アシスタントを実行するという方法をとりました。特に問題なく無事にアップデートすることができました。

Windowsにはこういった思いもよらない問題が多く発生しますが、詳細な手順やその他のトラブルシューティングについては、以下の書籍を参考になりそうです。

楽天ブックス
¥1,540 (2024/06/26 16:11時点 | 楽天市場調べ)
\楽天ポイント4倍セール!/
楽天市場
タイトルとURLをコピーしました