2.9. WinPE 起動する環境の作成

WinPE とは、Windows の最小限の機能のみをもった環境のことです。 ほたてにおいては、「フルキャッシュ環境における端末側でのイメージ更新を行うとき」などに WinPE 環境を利用します。

上記のような作業を行わない限りにおいてはすぐに必要とはならないですが、あらかじめ WinPE 環境を作っておくことをおすすめします。

ここでは、WinPE モジュールを作成し、そのモジュールを用いて端末を「USB から起動する」「ネットブートで起動する」の2つの手順を示します。

2.9.1. WinPE の作成方法

Windows PE (以降 WinPE と呼ぶ)の作成は以下の手順で行います。

  1. WinPE 作成環境の準備
  2. WinPE モジュールの作成
  3. WinPE ブート環境の準備

メモ

WinPE イメージ作成は、どの端末で行っても構いません。

注意

Windows ADK にはいくつかのバージョンがありますが、「イメージの OS と同一バージョン」もしくは「イメージの OS より上位のバージョン」の Windows ADK を選択してください。

WinPE 作成環境の準備

WinPE 作成に必要となるツールをインストールします。

  1. WinPE を作成するためのスクリプト WinPeSetup.ps1 を取得します。
最新の SetupServer をダウンロードし、適当な場所に展開してください。
  1. Windows ADK をインストールします。
  1. ADK for Windows XXXX 及び ADK の Windows PE アドオン をダウンロードします。
  1. Windows ADK をインストールします。

ダウンロードした adksetup.exe を実行し、起動したインストーラにおいて次の機能を選択してインストールしてください。 インストール先のパスはすべてデフォルトのまま変更しないでください。

  • Deployment Tools

    展開イメージの管理を行うツール (DISM) などが含まれます。

  1. Windows PE アドオンをインストールします。
adkwinpesetup.exe を実行し、Windows プレインストール環境 (Windows Preinstallation Environment) をインストールしてください。 インストール先のパスはすべてデフォルトのまま変更しないでください。

WinPE モジュールの作成

  1. WinPE モジュールを作成します。

管理者権限で PowerShell を開き、下記コマンドを実行します。

  • 第一引数に WinPE モジュールを作成するフォルダ
  • 第二引数に ほたての Client モジュールのフォルダへのパス

を指定してください。

PS > cd \path\to\SetupServer\HotateScriptingTools
PS > .\WinPeSetup.ps1 path\to\workingdir [-client path\to\client]

メモ

第二引数を省略したときには C:\HotateShare\Modules\Client となります。

(実行例)

PS C:\work> .\WinPeSetup.ps1 c:\work\winPE -client C:\\HotateBoot_2022-01-06-10\client

Windows PE 環境を c:\work\winPE に準備します。
c:\work\winPE には Windows PE のデータがありません。
c:\work\winPE の中身を空にしてよいですか? [Y/N]: Y
c:\work\winPE を削除しました。

copype を実行します...
~省略~

成功しました。
■ Windows PE 環境を USB ブートする場合
 ~省略~
■ Windows PE 環境をネットブートする場合
 ~省略~

成功しました。と表示されていれば OK です。

メモ

WinPE にデバイスドライバーを追加するなど、作成した WinPE モジュールをカスタマイズする場合は、下記のドキュメントをご参照ください。

WinPE ブート環境の準備

WinPE を起動する手順は、次の2つの方法があります。

  • USB ブートする WinPE 環境の準備
  • ネットブートする WinPE 環境の準備

いずれか一方を準備しておくことをおすすめします。

USB ブートする WinPE 環境の準備

USB メモリに WinPE モジュールを出力します。

注意

USB メモリ内のデータが初期化されてしまう点に注意してください。

  1. USB メモリを接続します。
  2. 管理者権限の PowerShell を起動して下記コマンドを実行します。
PS > .\WinPeSetup.ps1 path\to\workingdir  -USB ドライブレター

(実行例)USB メモリのドライブレターが D: の場合

PS C:\work> .\WinPeSetup.ps1  c:\work\winPE -USB D:
***********************************************************
Windows PE を USB メディアに出力します
***********************************************************
D: の中身が消えます。続行してよいですか? [Y/N]: Y ← y を入力してエンター
Formatting D:...
Setting the boot code on D:...
Copying files to D:...
Success
成功しました。

成功しました。 と表示されていれば OK です。

メモ

DiskPark errorlevel –2147024809 のようなエラーが表示される場合は次の点を確認してください。

  • ドライブのサイズが 32GB より大きい場合は、サイズを小さくしてください。
  • GPT ディスクの場合は MBR ディスクに変換してください。
ネットブートする WinPE 環境の準備
  1. path\to\workingdir の tftproot フォルダの中身を HotateTFTP サーバーのルートフォルダ (C:\ProgramData\CO-CONV\HotateTftp\tftp) にコピーします。
  2. C:\Program Files\CO-CONV\CO-Booter\tftp\CO-BooterMenu_admin.iniC:\ProgramData\CO-CONV\HotateTftp\tftp にコピーします。
  3. C:\ProgramData\CO-CONV\HotateTftp\tftp\CO-BooterMenu_admin.ini を編集します。

冒頭の「ブートメニューの項目の設定」の下に下記の4行を追加します。

{
  Name = WinPE 起動
  PxeFile = EFI/Boot/bootx64.efi
}