DISM /RestoreHealthでソース指定が必要なときの対処法|失敗原因と正しい修復手順

DISM /Online /Cleanup-Image /RestoreHealth が『ソース ファイルが見つかりません』などで失敗した場合は、対象Windowsと一致する承認済みWIMの正しいインデックスをWim:付きで指定するか、そのWIMからマウント済みのWindowsフォルダーを/Sourceへ指定します。ただし、インターネットとWindows Updateを利用できる個人PCでは、最初はソースも /LimitAccess も付けない標準コマンドを試すのが先です。

/Sourceは、どのファイルでも代用できる指定ではありません。エディション、言語、CPUアーキテクチャ、Windowsのリリースや更新水準が合わないと、パスが正しくても修復ファイルを採用できません。また /LimitAccess は『失敗を直すスイッチ』ではなく、Windows Updateを修復元や予備の修復元として使わせない指定です。オフライン環境や管理方針がある場合だけ意図を理解して付けます。

目次

まず失敗内容を分類する

表示・状況主な確認点次の一手
0x800f081f/ソースファイルが見つからないソースの版・インデックス・パス、更新水準公式ISOと一致するインデックスを確認
0x800f0906/修復ファイルをダウンロードできない通信、Windows Update、プロキシ、組織ポリシー標準修復元へ到達できるか管理者と確認
0x800f0954など組織端末で失敗WSUS・修復コンテンツのポリシーローカルの回避設定を作らず管理者へ相談
進捗が一定値で長く止まって見えるディスク動作、ログ更新、電源状態強制終了せず十分待ち、ログを確認
破損は修復不可能と判定コンポーネントストア、ストレージ、バックアップ同じコマンドを反復せず復旧方針を検討
RestoreHealth成功後も症状が残るシステムファイル、アプリ、ドライバーsfc /scannowと症状固有の診断へ

エラーコードは原因を狭める手掛かりですが、1つのコードだけで断定しません。コマンド全文、完了メッセージ、実行日時、Windowsのバージョン、ソースの入手元を記録します。検索結果にある『この値を消せば直る』といったレジストリ操作へ進む前に、Microsoftの修復元ルールと組織の更新経路を確認してください。

作業前の安全確認

  • 重要なファイルを外部媒体または組織指定の保管先へバックアップする。DISMは個人ファイル削除用のツールではないが、修復中の電源断や既存障害に備える。
  • ノートPCは電源へ接続し、再起動待ちのWindows Updateがあれば完了してから作業する。
  • BitLockerやデバイス暗号化を使用している場合は、回復キーへアクセスできることを確認する。
  • 管理者としてWindows Terminalまたはコマンドプロンプトを開く。インターネットから入手したスクリプトを管理者権限で実行しない。
  • 公式ISOを使う場合は、Microsoftまたは組織の正規配布元から入手する。改変ISO、非公式ミラー、出所不明のWIMは使わない。
  • 組織PCではWSUS、グループポリシー、プロキシの管理範囲を確認し、管理者の許可なく回避しない。

DISM実行中は、進捗率がしばらく変わらなくても即座にウィンドウを閉じません。タスクマネージャーのディスク動作や C:\Windows\Logs\DISM\dism.log の更新状況を確認し、十分な時間を置きます。強制終了や電源断をした場合は、再実行前にWindowsの起動状態とログを確認します。

手順1:ソースなしの標準修復を試す

Microsoftは、オンラインイメージの破損状態を確認する /CheckHealth/ScanHealth、修復する /RestoreHealth を文書化しています。まず高速な状態確認、次に詳細スキャン、必要なら修復の順で進めると、不要なソース指定を避けられます。

DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth

/Online は現在起動しているWindowsを対象にします。標準のRestoreHealthは、ポリシーで許可されていればWindows Updateなど既定の修復元を利用します。インターネットへ接続でき、Windows Updateも正常なら、ここで成功する可能性があります。成功した場合は別のISOを指定せず、後述のSFCへ進みます。

『コンポーネント ストアが修復可能』と出たのにRestoreHealthがソース不足で失敗した場合に、次のメディア準備へ進みます。『破損は検出されませんでした』なら、元の不具合がDISMで直す種類ではない可能性があります。アプリ、ドライバー、ストレージ、ネットワークなど症状に合う診断へ戻ります。

手順2:対象Windowsと修復ソースを合わせる

確認する4項目

項目確認例不一致時の影響
エディションHome、Pro、Enterprise、Server Standardなど別インデックスを選ぶと必要ファイルが一致しない
言語日本語、英語など言語コンポーネントの違いで失敗することがある
アーキテクチャx64、Arm64異なるアーキテクチャは修復元にできない
リリース・ビルドWindows 11 24H2など古すぎるメディアでは更新済みコンポーネントが不足し得る

[設定]→[システム]→[バージョン情報]や winver で対象OSを確認し、Microsoftまたは組織が承認した修復ソースを用意します。WIMファイルを直接使う例では E:\sources\install.wim、管理者がWIMをマウント済みの例では C:\mount\Windows を使います。これらは例示パスなので、実在する承認済みパスへ読み替えてください。

WIMを直接指定する場合は、E:\sources\install.wim が実在することを確認します。入手したメディアにWIMがなく、install.esdだけがある場合、本記事ではMicrosoft Learnに明示されていないESD向け指定を推測して実行しません。Windows Updateを使う標準RestoreHealthへ戻るか、管理者に公式資料で裏付けられたWIM/マウント済みソースを用意してもらいます。拡張子の変更や、ESDをWIMとして扱う操作は行わないでください。

手順3:正しいインデックスを確認する

WIMには、Home、Proなど複数のイメージが含まれることがあります。現在のエディションに対応するインデックスを、DISMの情報取得コマンドで確認します。番号を推測せず、表示された名前と説明を読みます。マウント済みWindowsフォルダーを使う場合は、管理者が対象イメージとマウント先の対応を記録します。

DISM /Get-WimInfo /WimFile:E:\sources\install.wim

出力にある『インデックス』と『名前』を確認し、現在のWindowsエディションに対応する番号を控えます。たとえばProがインデックス6とは限りません。メディアの作成方法や版で並びが異なるため、毎回そのファイルを照会します。Windows ServerではDesktop Experienceの有無なども名前で確認します。

手順4:/Sourceを指定してRestoreHealthを実行する

WIMファイルを直接指定する場合

DISM /Online /Cleanup-Image /RestoreHealth /Source:Wim:E:\sources\install.wim:<インデックス> /LimitAccess

マウント済みWindowsイメージを指定する場合

DISM /Online /Cleanup-Image /RestoreHealth /Source:C:\mount\Windows /LimitAccess

山括弧を含む <インデックス> は例示なので、確認した数字へ置き換えます。WIMファイルを直接指定するときはMicrosoft Learnの説明どおり Wim: プレフィックスとインデックスを使います。マウント済みソースでは、WIMファイル自体ではなく、そのマウント先にあるWindowsフォルダーを指定します。ドライブ文字、パス、対象イメージを実行前に照合してください。

/LimitAccess を付けると、DISMはWindows Updateを修復元または予備の修復元として使いません。完全オフライン環境、組織が承認したソースだけを使う環境には適します。ローカルソースに不足がありWindows Updateを予備に使いたい場合は、組織方針を確認した上で /LimitAccess を外します。意味を逆に理解しないことが重要です。

手順5:成功後にSFCを実行する

DISMはWindowsコンポーネントストアを修復し、SFCはその正常なコンポーネントを使って保護されたシステムファイルを検査・修復します。Microsoftサポートの案内どおり、RestoreHealthが正常終了した後に次を実行します。

sfc /scannow

『Windows リソース保護は整合性違反を検出しませんでした』なら、保護対象システムファイルの検査は完了です。修復したと表示されたら再起動し、元の症状を再現条件で確認します。修復できないファイルがある場合は、C:\Windows\Logs\CBS\CBS.log を管理者やサポートへ提供できるよう保管します。ログには環境情報が含まれるため公開範囲に注意してください。

ソース指定でも失敗する主な原因

メディアの更新水準が合わない

対象PCへ累積更新が適用され、ISOのコンポーネントが古い場合、同じ24H2や同じエディションでも必要ファイルが合わないことがあります。最新の公式メディアを取得するか、組織が用意した修復ソースを使います。別バージョンのWindowsフォルダーを安易にコピーして修復元にしないでください。

インデックスまたは言語が違う

Homeを修復するのにProのインデックスを選ぶ、日本語環境へ別言語メディアを指定するなどの不一致を見直します。/Get-WimInfo の結果と対象PCの情報を並べて確認します。インデックス番号は固定値として覚えず、使用するWIMごとに取得します。マウント済みフォルダーなら、どのWIMとインデックスからマウントしたかを管理記録で確認します。

Windows UpdateやWSUSのポリシー

企業では『オプション コンポーネントのインストールとコンポーネントの修復の設定』などで修復元が管理されることがあります。ローカル管理者でも上位のグループポリシーやMDMを恒久的に回避すべきではありません。エラー時刻、DISMログ、対象ビルドを管理者へ渡し、承認済みネットワークソースまたはWindows Updateの利用可否を確認します。

ストレージやファイルシステムの異常

DISMが読み書きエラーで落ちる、OSが頻繁にフリーズする、イベントログにディスク関連エラーがある場合は、修復元よりストレージの健全性を優先します。重要データを保全し、PCメーカーの診断や管理者の手順を使います。故障が疑われるドライブへ負荷の高い修復を何度も繰り返すと、状況が悪化する可能性があります。

ロールバックと次の復旧手段

DISMの成功をワンクリックで取り消す機能はありません。正しいコンポーネントへ修復する操作なので、事前バックアップと復元ポイント、組織の端末バックアップが重要です。ソース指定が失敗しただけなら、まずコマンドとメディアを見直し、コンポーネントストアの手動削除や WinSxS の整理へ進まないでください。

正しいメディアでも修復不能、SFCも修復不能、Windows機能や更新が広範囲に壊れている場合は、バックアップを確認した上でMicrosoftのインプレース修復や回復オプションを検討します。クリーンインストールはアプリや設定、選択によって個人データを失うため最後の手段です。会社PCは独自イメージや暗号化、業務アプリがあるので必ず管理者へ引き継ぎます。

よくある質問

/Sourceを付ければ必ず直りますか?

必ずではありません。対象OSとソースの版、エディション、言語、アーキテクチャ、更新水準が合い、コンポーネントストアが修復可能である必要があります。ストレージ障害など別原因もあります。

/LimitAccessは付けたほうが安全ですか?

用途次第です。付けるとWindows Updateを修復元として使いません。承認済みローカルソースだけを使う環境には適しますが、ローカルソース不足をWindows Updateで補いたい環境では逆効果です。

WIMとマウント済みWindowsフォルダーのどちらを使いますか?

Microsoft Learnで明示される方法として、承認済みWIMをWim:とインデックス付きで直接指定するか、そのWIMからマウント済みのWindowsフォルダーを指定します。どちらも対象OSとの一致と更新水準を確認します。ESDしかない場合は構文を推測せず、Windows Updateまたは管理者が用意した公式対応ソースを使ってください。

ISOのインデックス番号はいつも同じですか?

同じとは限りません。WIMの版や構成で変わるため、使用するinstall.wimを毎回照会し、表示名が対象エディションと一致する番号を選びます。マウント済みソースは、管理者が記録した元WIMとインデックスを照合します。

進捗が62.3%などで止まりました

一定時間進捗が動かないことはあります。電源を確保し、ディスク動作やDISMログの更新を確認して十分待ちます。フリーズと断定して強制終了する前に、管理者やサポートへ状況を伝えてください。

RestoreHealthの後に再起動は必要ですか?

正常終了後にsfc /scannowを実行し、その結果と元の症状に応じて再起動します。Windows Updateの保留や修復メッセージがある場合は再起動して同じ条件で確認します。

まとめ

DISM /RestoreHealthでソースが必要になったら、対象Windowsと一致する承認済みWIMのインデックスを確認してWim:付きで指定するか、そのWIMからマウント済みのWindowsフォルダーを/Sourceに指定します。オンラインでWindows Updateを使えるなら、まずソースなしの標準RestoreHealthを試します。/LimitAccessはWindows Updateを使わせない指定であり、万能な修復オプションではありません。

成功後はsfc /scannowを実行し、元の症状を確認します。版・言語・アーキテクチャ・更新水準が合わない、組織ポリシーで修復元が制御される、ストレージ異常がある場合は、コマンド反復では解決しません。ログと環境情報を保全し、管理者またはMicrosoftサポートへエスカレーションしてください。

公式情報・参考資料

コマンドの意味、修復元の選び方、SFCとの実行順は、次のMicrosoft公式文書を基準にしています。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次