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

Windows
スポンサーリンク

この記事を読むことで、dismやsfc /scannowを使ったWindwosの修復方法dismとsfcの違いdismとsfcはどっちが先か、といったことを理解できます。

古いマシンでWindows10をリカバリする機会がありました。

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

ここでは解決策について詳しく解説します。

dismやsfcは、パソコンでブルースクリーンがでるようになったり、OSを長く使っているうちに不安定になってきたといった場合も重宝する機能ですよ。

この現象が出た背景

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

ちなみに下記がWindows10のバージョンの変遷です。該当マシンの現在のバージョンはwinverコマンドで10586であることを確認。以下のリリース表からみると相当古いですね。

リリース バージョン OSビルド番号 コードネーム
2022年10月 22H2 19045 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)

今回、WindowsUpdateを実行しようとしたところ、明らかに古いバージョンであるにもかかわらず、これ以上アップデートできない旨のメッセージが出ました。

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

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

dismコマンドを試す

dism (Deployment Imaging Service and Management) コマンドというのは、Windowsのシステムイメージを管理・修復するためのツールです。

とりわけ、WindowsUpdateファイルを使い、破損したシステムファイルを修復することに使用されます。

例えば、以下のようなコマンドを打つことで実行できます。以下はインターネット上のWindowsUpdateファイルを使って修復を試みる例です。インターネット環境下で実行する必要があります。

dism.exe /online /cleanup-image /restorehealth

それでは早速dismコマンドを実行してみましょう。dismコマンドを実行するには管理者権限が必要です。

管理者としてコマンドプロンプトを起動するには、Windowsキー+Rで「ファイル名を指定して実行」を起動し、「cmd」と打った後、ctrl+shiftを押しながらEnterが手っ取り早いですよ。

実行すると…

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 にあります

なんと、ソースファイルが見つかりませんでしたとのメッセージがでました。エラーコードは0x800f081fのようです。

sfc /scannow コマンドを試す

システムファイルの破損も疑われるので、sfc / scannowコマンドを試しましょう。

これは、ファイルチェッカー(sfc)を使用して、Windowsシステムファイルの整合性をチェックし、破損したファイルを自動的に修復するコマンドです。

sfcはローカルに保存されているキャッシュをもとに修復をします

ここでは、システムイメージをチェックする「dism」コマンドと、保護されたシステムファイルをチェックする「sfc /scannow」コマンドの両輪から探りをいれようという方針です。

この2つを同時に実行するとトラブルの原因になりますので、絶対に同時に実行しないでください。

先ほどと同じく管理者権限で実行する必要があります。

sfc /scannow

実行してみると…

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

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

ソースを指定したdismコマンド

先ほど「ソースファイルが見つかりませんでした」でうまくいかなかったdismコマンドですが、以下のように、ソースとしてwimファイルを指定してみるというのが次に試すべき手です。

dism.exe /online /cleanup-image /restorehealth /source:wim:f:\sources\install.wim:1 /limitaccess

isoファイルをマウントするとFドライブとしてマウントされたので「f:\」としています。

引数に「/limitaccess」を指定しているのは、インターネット側のWindowsUpdateにdismがアクセスしにいかないようにするためのものです。

ちなみにwimファイルは、Windowsダウンロードサイトからディスクイメージ(isoファイル)をダウンロードし、それをダブルクリックしてマウントすると、その中のsourcesフォルダ配下にあります。

dism と sfc /scannowはどっちを先に実行する?

dism と sfc /scannowはどっちを先に実行するかという話になりますが、基本的にはdismから実行しましょう。上記のように、単純なdismコマンドがうまくいかなかった場合に、dismばかりを深追いせずに、一旦 sfc /scannow を試すといったように探りを入れながら進めていきましょう。

最終的な着地点

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

この事例についてだけでいうと、単純に最新バージョンのisoファイルを使ってWindowsをアップデートした方が早いということです。

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

dism実行でソースファイルが見つかりませんでしたエラー(0x800f081f)がでたときは上記のような手順で対応していくと解決するはずです。

Windowsをもっと使いたおす方法

Windowsをもっと使いたおすことを学べる方法についてはこちらにまとめています。

Windowsをもっと使いたおすためのUdemy学習教材 5選
本記事では、WindowsユーザがWindowsをもっと使いたおせるようになるためのUdemy学習教材について紹介します。 はじめに このブログでもWindowsに関する話題をかいつまんで取りあげていますが、体系立った知識を得るためには、や...



本ブログでは業務に役立つ技術情報をこれからも発信していきますので、困った時にはぜひ参考にしてみて下さいね。

\ほかにもWindows11の機能を知りたい人はこちらもおすすめ/

楽天Kobo電子書籍ストア
¥1,188 (2024/09/07 13:13時点 | 楽天市場調べ)
タイトルとURLをコピーしました