
まえがき
Windowsの動作が不安定になった際、システムの不具合を修復する定番のコマンドとして「SFC(System File Checker)」や「DISM(Deployment Image Servicing and Management)」が挙げられます。通常は sfc /scannow や DISM /Online /Cleanup-Image /RestoreHealth を実行することで、破損したシステムファイルが自動的に修復されます。
しかし、「DISMコマンド自体がエラーを出して止まってしまう」「進行状況が0%や62.3%などの途中でフリーズする」というトラブルに直面することがあります。DISMはシステムを修復するための“最後の砦”の1つであるため、これが機能しないと焦ってしまう方も多いでしょう。
この記事では、DISMが動作しなくなる主な原因と、それを解消するための具体的なトラブルシューティング手順を段階別・エラー別に分かりやすく解説します。
DISMについて
DISMとは何か?
DISM(展開イメージのサービスと管理)は、Windowsのシステムイメージの保守や、コンポーネントストア(C:\Windows\WinSxS フォルダなど)の破損を修復するための標準コマンドラインツールです。
SFCとの関係性
システムの修復順序としては「まずDISMでコンポーネントストアを正常化し、その後にSFCを実行する」のが最も効果的な手順となります。
- SFC (sfc /scannow)
破損したOSファイルを「コンポーネントストア」から取得して差し替えます。
- DISM (DISM ... /RestoreHealth)
SFCが参照する「コンポーネントストア」自体が破損している場合に、Windows Update等から正常なファイルをダウンロードしてストアを修復します。
DISMが失敗する際によくあるエラーと原因
DISMが失敗する場合、多くは以下のようなエラーコードや症状が表示されます。
| エラーコード / 症状 | 主な原因・意味 | |
| エラー 0x800f081f / 0x800f0915 | ソースファイルが見つかりません。Windows Updateから修復用ファイルを正常に取得できていない状態です。 | |
| エラー 87 | パラメータが正しくありません。コマンドの構文(スペースの抜け、タイポなど)に誤りがあります。 | |
| エラー 5 | アクセスが拒否されました。コマンドプロンプトが「管理者権限」で実行されていません。 | |
| エラー 2 | 指定されたファイルが見つかりません。パス指定の誤りやシステムファイルの重大な欠損が考えられます。 | |
| エラー 50 | DISMは /Online オプションでの Windows PE サービスをサポートしていません。実行環境の誤りなど。 | |
| スキャンが途中で停止・フリーズする | コンポーネントストアの競合、保留中の更新処理、ディスクのエラーなどが原因です。 |
トラブルシューティング
DISMが動作しない場合は、以下の事前確認を実施した上で、順番に対処法を試してください。
- 管理者権限で実行しているか
スタートボタンの検索から「cmd」または「Terminal」を検索し、右クリックして「管理者として実行」を選択してください。
- 構文(スペース・スラッシュ)の再確認
特に /Online や /Cleanup-Image の前の半角スペースが抜けていないか確認してください。
- ×:DISM/Online/Cleanup-Image
- ○:DISM /Online /Cleanup-Image /RestoreHealth
対処法1:修復ソース(ISOイメージ)を手動指定する
エラー 0x800f081f や「ソースファイルが見つかりませんでした」が表示される場合、Windows Update経由でのファイル取得に失敗しています。Windowsの公式ISOイメージを用意し、ローカルから直接修復ソースを指定します。
手順
- Microsoft公式サイトから、現在使用中のWindows(バージョン・言語・アーキテクチャが一致するもの)のISOファイルをダウンロードします。
- ダウンロードしたISOファイルを右クリックし、「マウント」を選択します(仮想ドライブとして認識され、ドライブ文字「例: D:」が割り当てられます)。
- 管理者権限のコマンドプロンプトを開き、以下のコマンドを実行します。
- 以上
Windows ターミナル -▢✕ |
C:\> DISM /Online /Cleanup-Image /RestoreHealth /Source:WIM:D:\Sources\install.wim:1 /LimitAccess |
(※ D: 部分はマウントされた実際のドライブ文字に置き換えてください。/LimitAccess はWindows Updateへのアクセスを遮断し、指定ソースのみを使用させるスイッチです。)
Windows ターミナル -▢✕ |
C:\> DISM /Online /Cleanup-Image /RestoreHealth /Source:ESD:D:\Sources\install.esd:1 /LimitAccess |
(※ D: 部分はマウントされた実際のドライブ文字に置き換えてください。/LimitAccess はWindows Updateへのアクセスを遮断し、指定ソースのみを使用させるスイッチです。)
対処法2:コンポーネントストアのクリーンアップ・保留処理の解除
過去の更新プログラムの残骸や、完了していないタスクが原因でDISMがブロックされている場合があります。
- 管理者権限のコマンドプロンプトで以下を実行し、コンポーネントストアを整理します。
DISM /Online /Cleanup-Image /StartComponentCleanup
- 保留中の操作が邪魔をしている旨のメッセージが出る場合は、以下のコマンドで保留中の処理を取り消します。
DISM /Online /Cleanup-Image /RevertPendingActions
- PCを再起動し、再度 DISM /Online /Cleanup-Image /RestoreHealth を試します。
- 以上
対処法3:Windows Update コンポーネントのリセット
DISMは標準でWindows Updateの仕組みを利用して修復用データをダウンロードします。Windows Update自体のキャッシュやサービスに問題がある場合は、コンポーネントをリセットすることで解消します。
- 管理者権限のコマンドプロンプトで関連サービスを停止します。
Windows ターミナル Windows ターミナル-▢✕C:\> net stop wuauserv C:\> net stop cryptSvc C:\> net stop bits C:\> net stop msiserver
- キャッシュフォルダ(SoftwareDistribution および Catroot2)をリネームして初期化します。
Windows ターミナル Windows ターミナル-▢✕C:\> ren C:\Windows\SoftwareDistribution SoftwareDistribution.old C:\> ren C:\Windows\System32\catroot2 catroot2.old
- 停止したサービスを再開します。
Windows ターミナル Windows ターミナル-▢✕C:\> net start wuauserv C:\> net start cryptSvc C:\> net start bits C:\> net start msiserver
- PCを再起動した後に、DISMコマンドを再実行します。
- 以上
対処法4:CHKDSKによるディスクエラーのチェックと修復
ストレージ(SSD/HDD)上にセクターエラーやファイルシステムの不整合があると、DISMがファイルにアクセスできず停止します。
- 管理者権限のコマンドプロンプトで以下を実行します。
Windows ターミナル Windows ターミナル-▢✕C:\> chkdsk C: /f /r
- 次回の起動時にスケジュールするか聞かれたら Y を入力してEnterを押します。
- Cを再起動すると、Windows起動前にディスクの検証・修復が実施されます(完了まで時間がかかる場合があります)。
- 以上
対処法5:インプレースアップグレード(上書きインストール)
ここまでの手順を実施してもDISMが回復しない場合、Windowsのシステムコンポーネント自体が修復不可能なレベルで破損している可能性があります。
個人用ファイルやインストール済みアプリを保持したままOSを上書き修復する「インプレースアップグレード」を実施します。
- Windows公式サイトからインプレースアップグレード用の「インストール メディア作成ツール」または「ISOファイル」を取得します。
- ISOファイルをマウント(または解凍)し、内部の setup.exe を実行します。
- セットアップ画面で「個人用ファイルとアプリを引継ぐ」が選択されていることを必ず確認し、指示に従ってインストールを完了させます。
- 以上
あとがき
DISMコマンドが動作しないと「OSの再インストール(クリーンインストール)が必要かもしれない」と不安になりますが、多くの場合「ローカルISOイメージからの修復ソース指定(/Source)」や「コンポーネントストアの整理」によって解決可能です。
DISMが正常に完了した後は、仕上げとして必ず sfc /scannow を実行し、システム全体の不整合がすべて解消されたことを確認しておきましょう。
日常のシステムメンテナンスやトラブルシューティングの参考にしていただければ幸いです。
このサイトを検索 | Search this site






0 コメント
質問はご遠慮ください。不適切なコメントは公開しません。コメントに自サイトの宣伝を書くのはお控えください。