DISM_CD.CMDのコマンド解説

(チェックボックスにチェックを入れると解説が表示される)

setlocal
「このバッチファイルで宣言した変数は、このバッチファイル内だけのローカル変数である」と言う意味の定型句。

set WinPEDir=%~dp0winpe_x86
%~dp0は、このバッチファイルの存在するディレクトリのパスをあらわす。(末尾に\が付き、""で囲まない)
その直下にwinpe_x86というサブフォルダを作ると仮定した時、そのフルパスをWinPEDirという変数に収めろという意味。

if exist %WinPEDir%\nul rd /s /q %WinPEDir%
もしもWinPEDirというフォルダが既に存在していたら削除しろという意味。
これはこの直後に呼び出すcopype.cmdにおいて、WinPEDirフォルダが事前に存在していると失敗してしまうため、それを防ぐ予防策である。確認せずに削除するので大事なファイルなどをWinPEDirフォルダ内に置いておかないように注意すること。

call copype x86 %WinPEDir%
copype.cmdバッチファイルを呼び出す。

Dism /Mount-Wim /Wimfile:%WinPEDir%\winpe.wim /index:1 /MountDir:%WinPEDir%\mount
copype.cmdによってWinPEDirフォルダに作製されたwinpe.wimの中身を、Dism.exeでmountフォルダに展開する。


copy %WinPEDir%\ISO\bootmgr %WinPEDir%\mount
mkdir %WinPEDir%\mount\boot
xcopy /cherky %WinPEDir%\ISO\boot %WinPEDir%\mount\boot\
ISOフォルダのbootmgrbootフォルダを丸ごとmountフォルダにコピーする。

copy C:\Program Files\Windows AIK\Tools\x86\imagex.exe %WinPEDir%\mount\Windows\System32\
WindowsAIKが持つimagex.exeはバックアップやHDDの交換時などに役立つアプリケーションなので、WinPEに取り込むために、mountフォルダ下のサブフォルダにコピーしておく。

call %~dp0IME.cmd
このバッチファイルと同じ階層にあるIME.cmdを呼び出す。

del %WinPEDir%\mount\boot\BCD
bootフォルダ内のBCDだけは新しく作り直す必要があるので、既存のものを消去する。


Bcdedit /createstore %WinPEDir%\mount\boot\BCD
Bcdedit /store %WinPEDir%\mount\boot\BCD -create {bootmgr} /d "Boot Manager"
Bcdedit /store %WinPEDir%\mount\boot\BCD -set {bootmgr} device boot
for /f "tokens=2 delims={}" %%i in ('Bcdedit /store %WinPEDir%\mount\boot\BCD -create /d "WINPE" -application osloader') do set BCDGUID={%%i}
Bcdedit /store %WinPEDir%\mount\boot\BCD -set %BCDGUID% osdevice boot
Bcdedit /store %WinPEDir%\mount\boot\BCD -set %BCDGUID% device boot
Bcdedit /store %WinPEDir%\mount\boot\BCD -set %BCDGUID% path \windows\system32\winload.exe
Bcdedit /store %WinPEDir%\mount\boot\BCD -set %BCDGUID% systemroot \windows
Bcdedit /store %WinPEDir%\mount\boot\BCD -set %BCDGUID% winpe yes
Bcdedit /store %WinPEDir%\mount\boot\BCD -set %BCDGUID% detecthal yes
Bcdedit /store %WinPEDir%\mount\boot\BCD -displayorder %BCDGUID% -addlast
bcdedit.exeを使って、新しいBCDを作る一連の処置

oscdimg -n -m -o -b%WinPEDir%\etfsboot.com %WinPEDir%\mount %WinPEDir%\WinPE3_CD.iso
oscdimgによって、mountフォルダの中身が、ISOファイルに変換される。ブート用のファイルとしてetfsboot.comが指定されている。

endlocal
文頭のsetlocalと対になって使われる定型句で、ここでsetlocalの効用を終了するという意味。

元のページに戻る