Open5

WindowsPE を作ってみる

ktooiktooi

Windows ADK インストール

Windows ADK を Deployment Tool 機能を含めてインストールする。管理者権限で実行。

winget install -e --id Microsoft.WindowsADK --custom "/features OptionId.DeploymentTools /ceip off"
Found Windows Assessment and Deployment Kit [Microsoft.WindowsADK] Version 10.1.22621.1
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://download.microsoft.com/download/6/7/4/674ec7db-7c89-4f2b-8363-689055c2b430/adk/adksetup.exe
  ██████████████████████████████  2.10 MB / 2.10 MB
Successfully verified installer hash
Starting package install...
Successfully installed

Windows PE add-on for the Windows ADK を Windows Preinstallation Environment を含めてインストールする。こちらも管理者権限で実行。

winget install -e --id Microsoft.ADKPEAddon --custom "/features OptionId.WindowsPreinstallationEnvironment /ceip off"
Found Windows Assessment and Deployment Kit Windows Preinstallation Environment Add-ons [Microsoft.ADKPEAddon] Version 10.1.25398.1
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Successfully verified installer hash
Starting package install...
Successfully installed
ktooiktooi

展開およびイメージングツール環境

ktooiktooi

WindowsPE をマウント

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
Dism /Image:"%WS_DIR%\mount" /Enable-Feature /FeatureName:TelnetClient
Dism /Image:"%WS_DIR%\mount" /Enable-Feature /FeatureName:TFTP

rem 日本語化
Dism /Image:"%WS_DIR%\mount" /Set-Allintl:ja-jp
Dism /Image:"%WS_DIR%\mount" /Set-Inputlocale:0411:{03B5835F-F03C-411B-9CE2-AA23E1171E36}{A76C93D9-5523-4E90-AAFA-4DB112F9AC76}
rem InputLocaleの値は諸説あり 参考: https://docs.microsoft.com/ja-JP/previous-versions/windows/it-pro/windows-8.1-and-8/hh825682(v=win.10)
Dism /Image:"%WS_DIR%\mount" /Set-Layereddriver:6

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

FYI: 日本語版WindowsPEメディアを作成する方法 #Windows - Qiita

ktooiktooi

Intel MEドライバーの追加

Windows* 10 および Windows* 11 用インテル® マネジメント・エンジンドライバー からドライバーをダウンロードし、 zip ファイルを展開する。

C:\intelme フォルダを作成し、解凍したファイルの Drivers フォルダにある MEI, SOL フォルダをコピーする。

rem Intel MEドライバーの追加
Dism /Image:"%WS_DIR%\mount" /Add-Driver /Driver:"C:\intelme" /Recurse /ForceUnsigned

Intel ME FW の追加

xcopy /e "%USERPROFILE%\Documents\MEUpdateTool_16.1.30.2307_TP\FW" "%WS_DIR%\mount\FW"

FYI: WindowsPEメディアを通してマザーボードのIntel MEをアップデートする #Windows - Qiita

自動起動設定

notepad "%WS_DIR%\mount\Windows\System32\startnet.cmd"
wpeinit
"%SystemDrive%\FW\FWUpdLcl64.exe" -f "%SystemDrive%\FW\ME.bin"
ktooiktooi

WindowsPE をアンマウント & ISO 化 or USB 書き込み

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

ISO イメージ化する場合:

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

USB メモリに書き込む場合:

rem usbメモリ書き込み
makewinpemedia /UFD "%WS_DIR%" E:  # E: は USB メモリのドライブレターに置き換える事!