2023年12月13日水曜日

WindowsをDISMのrestorehealthで修復するときのSourceについて

 クッソ苦労したからメモっておこう。

windows updateに失敗するようになったから、sfc /scannowしたら、ファイル壊れてるって言われたんだ。

DISM /online /cleanup-image /restorehealth /Source:~ /LimitAccess

で修復するんだけど、/Sourceに何を指定するかってのがキモだよたぶん。

wimを指定するとかisoファイルからぶっこぬくとかいろいろ試したけどよぉ~結果的には

修正しようとしているバージョンと同じwindowsを修復ソースにしないといけなかったZE☆

osビルドバージョンまで合わせないとうまくいかなかったんだZE☆

windows updateを適用している環境だと、インストールメディアisoからぶっこぬいてもビルドバージョンが一致していないせいか、

"ソースファイルが見つかりませんでした"

とか言われるんだ!無慈悲!


で、VMに修復ソースを作ってぶち込んでみたら成功しました。

1. VirtualBoxにインストールメディアからベースのwindowを入れる。

2. ビルドバージョンが一致するwindows updateをMicrosoft®Update カタログから探してきて、1.のVMに適用する。

3.  VM上のwindowsバージョンと修復する側の windowsバージョンが一致することを確認する。

4. 構築したVMのC:\Windowsフォルダを共有フォルダ経由か何かでどうにかして持ってきて、修正ソースに指定してDISMを実行する。

ざっくりこんな感じで何とか修復に成功したってわけ。