【Windows】ソース指定してdismをかける方法
DISMによる修復のソースをWindows Updateからではなく、外部のシステムイメージから行う方法について解説しています。
DISMのソースを指定したい時
軽微な問題であれば手軽にシステムが修復できるコマンドであるDISM。
ですが、症状がひどい場合Windows Updateがろくに動いておらず、そもそもDISM修復に使用するソースファイルがまともに手に入らないという状況に陥ることがあると思います。
そんなときはWindows updateからではなく、外部の正常なイメージをソースに指定してDISMを使用するとシステムを修復できる場合があります。
大まかな手順
まず大まかな手順を確認していただき、そこから各手順具体的に解説します。
- OSイメージの入手
- OSイメージからinstall.esdを取り出す
- install.esdからinstall.wimを抽出
- ソースにinstall.wimを指定してDISMコマンドを打つ
システム修復は失敗すると症状が悪化することもあります。
修復前に環境のバックアップや重要なデータのバックアップを各自で取っておいてください。
OSイメージを入手
マイクロソフト公式サイトから OSイメージを入手します。
ツールを今すぐダウンロードをクリックしてダウンロードし、ダウンロード後実行ファイルを起動してください。
isoファイルを作成するというような選択肢が出てくると思うのでそれを選択してWindows.isoを作ります。
Windows.isoからinstall.esdを取り出す
作成したisoファイルを右クリックして「マウント」を選択します。
マウントが終わると新たにドライブレターが割り当てられたESD-ISOというディレクトリが開かれると思います。
私の環境ではFドライブがマウントした仮想ドライブになりました。 Cドライブしかない環境であればおそらくDドライブが仮想ドライブになるはずです。
以下当記事ではCドライブが作業ドライブ、Dが仮想ドライブとして話を進めます。
修復に使うファイルの材料である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の部分に先ほど確認したインデックス番号を入力しています。
Proエディションを修復する場合やHomeでも振られていたインデックス番号が違った場合は適宜読み替えてください。
この処理には少し時間がかかります。
処理が終わったらCドライブ直下にinstall.wimが出来上がっているはずです。
install.wimを使ってRestoreHealthを打つ
これでようやく下準備が終わりました。
出来上がったInstall.wimを使ってDismの修復コマンドをかけます。
Dism /online /cleanup-image /RestoreHealth /Source:C:\install.wim:1 /LimitAccess
これでソースを指定したDismでの修復は完了です。
最後に
通常のDISM修復で0x800f081fというエラーコードが出て修復が行えないという状況に合い、ソースを指定してDismをかけたいと思い備忘録として記事を残しました。
私の直面した症状はDism修復では改善されなかったため、結局リカバリーする羽目になったのですが…