日本語版WindowsPEメディアを作成する方法



WindowsADKがあればイメージ取得や展開にも使えるWindowsPEを作成できますが、何も考えず作ったものだと日本語に対応していなかったりドライバ不足でストレージやNICが見えなかったりと具合の良くない部分があります。
そこで、不具合を解消した日本語版のWindowsPEメディアの作成方法を紹介します。

WindowsADKのインストール

WindowsADK入手先:
https://developer.microsoft.com/ja-jp/windows/hardware/windows-assessment-deployment-kit

上記サイトからダウンロードしたadksetup.exeを起動して下さい。



Deployment Toolsは必ず選択して下さい。他は任意ですが、自分はなんとなく全て入れています。

WindowsPEアドオンのインストール

1809からなぜかADKからWindowsPEイメージがアドオンとして分離されたため、別途インストールを行う必要があります。
WindowsPEアドオン入手先:
https://developer.microsoft.com/ja-jp/windows/hardware/windows-assessment-deployment-kit

上記サイトからダウンロードしたadkwinpesetup.exeを起動して下さい。



Windows Preinstallation Environment (Windows PE)は必ず選択して下さい。

WindowsPEメディアを作成する

WindowsADKで必要な機能をきちんとインストールしていれば「展開およびイメージングツール環境」がインストールされているはずです。それを管理者権限で起動して以下のコマンドを実行して下さい。

展開およびイメージングツール環境
set WS_DIR=C:\winpe
set ADK_PATH=C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit
set ADK_PACK=%ADK_PATH%\Windows Preinstallation Environment\amd64\WinPE_OCs

rem WindowsPEベース準備
copype amd64 "%WS_DIR%"

rem WindowsPEのマウント
Dism /Mount-Image /Imagefile:"%WS_DIR%\media\sources\boot.wim" /Index:1 /Mountdir:"%WS_DIR%\mount"

rem 日本語化+αで必要なパッケージ追加
Dism /Image:"%WS_DIR%\mount" /Add-Package /Packagepath:"%ADK_PACK%\ja-jp\lp.cab"
Dism /Image:"%WS_DIR%\mount" /Add-Package /Packagepath:"%ADK_PACK%\WinPE-FontSupport-JA-JP.cab"
Dism /Image:"%WS_DIR%\mount" /Add-Package /Packagepath:"%ADK_PACK%\WinPE-WMI.cab"
Dism /Image:"%WS_DIR%\mount" /Add-Package /Packagepath:"%ADK_PACK%\ja-jp\WinPE-WMI_ja-jp.cab"
Dism /Image:"%WS_DIR%\mount" /Add-Package /Packagepath:"%ADK_PACK%\WinPE-NetFx.cab"
Dism /Image:"%WS_DIR%\mount" /Add-Package /Packagepath:"%ADK_PACK%\ja-jp\WinPE-NetFx_ja-jp.cab"
Dism /Image:"%WS_DIR%\mount" /Add-Package /Packagepath:"%ADK_PACK%\WinPE-Scripting.cab"
Dism /Image:"%WS_DIR%\mount" /Add-Package /Packagepath:"%ADK_PACK%\ja-jp\WinPE-Scripting_ja-jp.cab"
Dism /Image:"%WS_DIR%\mount" /Add-Package /Packagepath:"%ADK_PACK%\WinPE-PowerShell.cab"
Dism /Image:"%WS_DIR%\mount" /Add-Package /Packagepath:"%ADK_PACK%\ja-jp\WinPE-PowerShell_ja-jp.cab"
Dism /Image:"%WS_DIR%\mount" /Add-Package /Packagepath:"%ADK_PACK%\WinPE-DismCmdlets.cab"
Dism /Image:"%WS_DIR%\mount" /Add-Package /Packagepath:"%ADK_PACK%\ja-jp\WinPE-DismCmdlets_ja-jp.cab"
Dism /Image:"%WS_DIR%\mount" /Add-Package /Packagepath:"%ADK_PACK%\WinPE-SecureBootCmdlets.cab"
Dism /Image:"%WS_DIR%\mount" /Add-Package /Packagepath:"%ADK_PACK%\WinPE-WDS-Tools.cab"
Dism /Image:"%WS_DIR%\mount" /Add-Package /Packagepath:"%ADK_PACK%\ja-jp\WinPE-WDS-Tools_ja-jp.cab"

rem 機能の有効化
Dism /Image:"%WS_DIR%\mount" /Enable-Feature /FeatureName:SMB1Protocol

rem 日本語化
Dism /Image:"%WS_DIR%\mount" /Set-Allintl:ja-jp
Dism /Image:"%WS_DIR%\mount" /Set-Inputlocale:0411:00000411
Dism /Image:"%WS_DIR%\mount" /Set-Layereddriver:6

rem タイムゾーン設定
Dism /Image:"%WS_DIR%\mount" /Set-Timezone:"Tokyo Standard Time"

rem WindowsPEの変更適用とアンマウント
Dism /Unmount-Image /Mountdir:"%WS_DIR%\mount" /Commit

rem isoイメージ化
makewinpemedia /iso "%WS_DIR%" C:\winpe.iso

備考

「WindowsPEベース準備」について

copypeのオプションは、32bitマシン上での利用を想定しているならx86、64bitマシン上での利用を想定しているならamd64にする必要があります。今時のハードウェアで64bitに非対応のものはほぼ無いため、よほど古いハードウェアで使う予定でなければ64bitマシン向けに作ってしまって問題ないと思われます。

「日本語化+αで必要なパッケージ追加」について

Add-Package にて追加している各種パッケージの詳細は以下を参照して下さい。
https://docs.microsoft.com/ja-jp/windows-hardware/manufacture/desktop/winpe-add-packages--optional-components-reference?view=windows-11

WindowsPEにドライバを追加したい場合

稀にNICやストレージがWindowsPEでは認識できない場合があります。特にストレージは致命的で、イメージの操作自体ができません。
その場合は以下の手順にてWindowsPEにドライバを追加可能です。

展開およびイメージングツール環境
set WS_DIR=C:\winpe

rem WindowsPEのマウント
Dism /Mount-Image /Imagefile:"%WS_DIR%\media\sources\boot.wim" /Index:1 /Mountdir:"%WS_DIR%\mount"

rem ドライバ追加
rem INFファイル直接
Dism /Image:"%WS_DIR%\mount" /Add-Driver /Driver:{ドライバファイル(.inf)} /ForceUnsigned
rem 指定ディレクトリ丸ごと
Dism /Image:"%WS_DIR%\mount" /Add-Driver /Driver:{ドライバファイル(.inf)フォルダ} /Recurse /ForceUnsigned

rem WindowsPEの変更適用とアンマウント
Dism /Unmount-Image /Mountdir:"%WS_DIR%\mount" /Commit

なお、ストレージに関するドライバ不足がPEで起きる環境にて、Hyper-V等で作成したドライバが入っていないWindowsイメージを展開した場合にブルースクリーンが発生する場合があります。その場合は、該当PC上にドライバが入ったUSBメモリ等を接続した状態でWindowsPEを起動して、以下のコマンドで直接ドライバを投入することも可能です。投入後起動を確認できたら、ドライバは正式な手順で入れておいた方が良いかもしれません。

WindowsPE
Dism /Image:"C:\" /Add-Driver /Driver:{ドライバファイル(.inf)フォルダ} /Recurse /ForceUnsigned

イメージ化について

isoファイルとしてイメージ化する他、起動USBメモリを作成することも可能です。こちらのほうがCDを無駄にしなくて良いかもしれません。

展開およびイメージングツール環境
set WS_DIR=C:\winpe
makewinpemedia /ufd "%WS_DIR%" {USBメモリのドライブレター}:

アンマウントせずにイメージングツール環境を閉じてしまった場合

作業の途中で/Unmount-Imageしている箇所がありますが、これをしない状態でツール環境画面を閉じてしまうとマウントしっぱなしとなり、管理者であっても該当フォルダの操作が出来なくなってしまいます。
その際には、コマンドプロンプトで以下のコマンドを実行すると、マウント中のすべてのイメージを強制アンマウントできます。

展開およびイメージングツール環境
Dism /Cleanup-Wim

参考

https://msdn.microsoft.com/ja-jp/library/hh825071.aspx
https://msdn.microsoft.com/ja-jp/library/hh824926.aspx
https://technet.microsoft.com/ja-jp/library/dd744355(v=ws.10).aspx