#Windows PEでdism, sfc /scannowを実行する方法
windows復旧でよく使うコマンドの備忘録
Windows PEについて
Windows Pre-install Environment の略.Winをインストールするときに使うインストールメディアなどで採用されている最小限構成のWindows.
ちなみにWindows RE (Windows Recovery Environment)はPEを基につくられている.
https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/winpe-intro
PEでのDISMとSFC
DISMはシステムイメージのチェックと修正を
SFCはシステムファイルのチェックと修正をこころみてくれる
Windowsに不具合がありそうなときにsfc /scannow
をするという手法がある.
また,それが失敗する場合,dism /online /cleanu-image /ScanHealth
などすればよいかもという話もある.
こうしたコマンドが,Windows PEではこのまま実行するとエラーに終わる.
これはおそらくこれらのコマンドが対象としている領域(大抵C:
かD:
)がPEでブートしているところ(USBメモリX:
など)とは異なるためだと思う.
そのため以下の様にチェック領域を指定すればよい
- Windows イメージの修復
- Windowsが起動しない時に「sfc /scannow」を実行する方法
- How to run sfc /scannow from the Windows Recovery Environment (WinRE)
dism /image:c:\ /cleanup-image /scanhealth
dism /image:c:\ /cleanup-image /restorehealth
c:
sfc /scannow /offbootdir=c:\ /offwindir=c:\Windows
そのほかchkdsk
bootrec /fixboot
などもやってみる.
---wip
これ↓とか見ると,
GPTの場合,diskpartでEFIシステムパーティションにドライブレター(以下の例ではB:
)を割りあてたうえで/offbootdir=B:
とかした方がいい気がしたけど,まだ試してない
x:> diskpart
DISKPART> list vol
DISKPART> sel vol 2 (EFIパーティションぽい奴500MBくらいでFAT32)
DISTPART> assign letter=b:
DISKPART> exit
x: sfc /scannow /offbootdir=b:\ /offwindir=c:\Windows