久々にWindows PEを作らなければいけない案件があったのでWindows ADKをインストールしてみたらちょっと躓いたので、簡単にまとめておきます。
ちなみにWindows ADK for Windows 11を使用すると(御幣がありますが)Windows 11ベースのWindows PEが作成できます。なお、Windows 10でも利用できますので、Windows 11をゴニョニョしたいときにもおすすめです(表現がよくない)
Windows PEを作りたい
先日Mac Pro 2006にWindows 11をインストールしたいと思い、Windows 10とWindows 11のキメラインストールディスク(USBメモリ)を作成したのですが、うまくいかず、ならばWindows PEからさせることにしました。
実際には、Windows 8.1のISOをMac Proでブートできるようにして作業したのですが、「これ、新規でやるならPE作った方がスマートでは?」と疲れた頭が訴えかけてくるのです。
ちなみに、その時の結果などはこちらにまとめました。
ただ、長らくWindows PEを作っていない間にいろいろあったようで、いろいろ変わっていたのでまとめておこうと思ったわけです。
Windows ADK for Windows 11をインストールする
まずはこちら(https://docs.microsoft.com/ja-jp/windows-hardware/get-started/adk-install)にアクセスします。
「ADK for Windows 11 をダウンロードする」項まで進みます。
すると、「Windows ADK のダウンロード」がありますので、クリックすると「adksetup.exe」をダウンロードできます。
ダウンロードした「adksetup.exe」 を実行します。
スプラッシュ画面が一瞬出てきますので、次の画面に切り替わるまで待ちます。
「このコンピューターに Windows アセスメント & デプロイメント キット をインストールします」の前のラジオボタンがオンになっていることを確認して、「次へ(N)」をクリックします。
分析情報の収集についての設問に答え、「次へ(N)」をクリックします。
「使用許諾契約」です。同意できる場合には「同意する(A)」をクリックします。
インストール内容を選択します。今回はデフォルトのままインストールしました。インストールを行うには「インストール(I)」をクリックします。
ユーザーアカウント制御が立ち上がります。「はい」をクリックしてインストールを継続します。
しばらく待ちます。
インストールが完了しました。「閉じる(C)」をクリックしてウィンドウを閉じます。
で、今までならこれで完了だった気がするのですが、これだけでは不十分なようで…。
というのも、「展開およびイメージング ツール環境」を立ち上げ、CopyPEを使用してWindows PEの作業ディレクトリとそれに必要なファイル群を用意しようと、次のコマンドを入力し、実行すると、
copype amd64 C:\WinPE_amd64
「‘copype’ は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
'copype' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
と出力されます。どうやらWindows PEはアドオンとして提供されているようで別途インストールする必要があるようです。
Windows ADK 用の WinPE アドオンをインストールする
先ほどと同様にこちら(https://docs.microsoft.com/ja-jp/windows-hardware/get-started/adk-install)にアクセスします。
「ADK for Windows 11 をダウンロードする」項まで進みます。
すると、「Windows ADK 用の WinPE アドオン」がありますので、クリックすると「adkwinpesetup.exe」をダウンロードできます。
ダウンロードした「adkwinpesetup.exe」 を実行します。
「Install the Windows アセスメント & デプロイメント キット…」の前のラジオボタンが選択されていることを確認して、「Next」をクリックします。
分析情報の収集についての設問に答え、「次へ(N)」をクリックします。
Allow Microsoft to collect insights for the Windows Kits? (Microsoft が Windows キットの分析情報を収集できるようにしますか?)
「使用許諾契約」です。承認できる場合には「Accept」をクリックします。
インストール内容を選択します。インストールを行うには「Install」をクリックします。
ユーザーアカウント制御が立ち上がります。「はい」をクリックしてインストールを継続します。
インストール完了までしばらく待ちます。
インストールが完了しました。「Close」をクリックしてウィンドウを閉じます。
これで、今度こそWindows PEがビルドできるようになったと思います。
「展開およびイメージング ツール環境」を管理者として実行します。
「初代MacProにWindows 11をBIOS互換でインストールする」からお越しの方はここまで完了したら準備万端です!元の記事に戻っていただいてもかまいません。
Windows PEを作成する
これでようやくWindows PEをカスタマイズできます。とは言え、Windows PEを利用する目的はOSの修復やキッティング、ハードウェアの評価、趣味など色々ありますので、ここではシンプルなカスタマイズのみを扱いたいと思います。
Windows PEのカスタマイズはアイディア次第であらゆる分野で利用できますので、ぜひ色々と試していただければと思います。「なんちゃって俺様OS」を作っちゃってください。
まずは管理者で「展開およびイメージング ツール環境」を立ち上げ、CopyPEを使用してWindows PEの作業ディレクトリとそれに必要なファイル群を用意します。
copype amd64 C:\WinPE_amd64
次にBoot.wimをマウントします。
Dism /Mount-Image /ImageFile:"C:\WinPE_amd64\media\sources\boot.wim" /index:1 /MountDir:"C:\WinPE_amd64\mount"
マウントされた内容は”C:\WinPE_amd64\mount”内にあります。ファイルの追加は”C:\WinPE_amd64\mount”に行っていくようになります。
日本語環境の設定
言語パック
Dism /Add-Package /Image:"C:\WinPE_x86\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\ja-jp\lp.cab"
日本語フォントサポート
Dism /Add-Package /Image:C:\WinPE_amd64\mount /PackagePath:”C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-FontSupport-JA-JP.cab”
ロケールを変更: 日本
Dism /Image:"C:\WinPE_amd64\mount" /Set-AllIntl:ja-jp
入力ロケールの変更: 0411:00000411(日本語)
Dism /Image:"C:\WinPE_amd64\mount" /Set-InputLocale:0411:00000411
キーボードレイアウトの変更: 日本語106/109キー
Dism /Image:"C:\WinPE_amd64\mount" /Set-LayeredDriver:6
タイムゾーンの変更: (UTC+09:00)
Dism /Image:"C:\WinPE_amd64\mount" /Set-TimeZone:"Tokyo Standard Time"
ドライバの追加
またNICなどのドライバを追加したい場合には↓を利用します。
ただし、この時「C:\Drivers」の中にインストールしたいドライバ「yourDriver.inf」があると仮定してます。
Dism /Image:"C:\WinPE_amd64\mount" /Add-Driver /Driver:C:\Drivers\yourDriver.inf
「C:\Drivers」やそのサブフォルダ内に複数のドライバを用意して、その中のドライバをすべて院ストーリしたい場合には/Recurse オプションを使用します。
Dism /Image:"C:\WinPE_amd64\mount" /Add-Driver /Driver:C:\Drivers /Recurse
署名されていないドライバーをインストールするには、 /ForceUnsigned を使用します。
Dism /Image:C:\WinPE_amd64\mount" /Add-Driver /Driver:C:\Drivers\yourDriver.inf /ForceUnsigned
起動時に実行されるコマンドの編集
その他、Windows PE起動時に実行されるコマンドを編集する際は
C:\WinPE_amd64\mount\Windows\System32\Startnet.cmd
を編集します。
例えば
notepad "C:\WinPE_amd64\mount\Windows\System32\startnet.cmd"
とするとメモ帳で startnet.cmd が開かれます。よくあるカスタマイズ例としては電源スキームを高パフォーマンスにするといったことが挙げられます。これを実現するには、元からある「wpeinit」の下に
powercfg /s 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
を追加します。つまり、
wpeinit
powercfg /s 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
このようになります。この一行があるだけで電源パフォーマンスで「高パフォーマンス」を選択した状態になります。
ただし、PCによっては高温になるケースや、ラップトップを使用している場合にはバッテリーの消費が激しくなるケースもあり、このカスタマイズをするかどうかはよく検討してください。
そのほか(注意点など)
そのほか、壁紙の設定やソフトの組み込みなども可能です。
ただし、Windows PEはプレインストール環境であり、起動中はメモリに展開して動作します。壁紙やソフトを組み込む際はC:\WinPE_amd64\mountにコピーしますが、あまりファイルサイズが肥大すると、動作が遅くなったり、「IO1_INITIALIZATION_FAILED」エラーで起動しなかったりもしますので注意が必要です。
またその他のカスタマイズについては「Microsoft WinPE:マウントとカスタマイズ」に掲載されています。
アンマウント
boot.wim をアンマウントします。
Dism /Unmount-Image /MountDir:"C:\WinPE_amd64\mount" /commit
ちなみに、アンマウントする際にはマウントする際に指定したフォルダ、今回の場合、「”C:\WinPE_x86\mount”」が開かれていたり、メモ帳で「startnet.cmd」などが開かれていたりすると
ディレクトリを完全にはマウント解除できませんでした。これは通常、アプリケーションがマウント ディレクトリ内のファイルを開いていることが原因です。マウント解 除のプロセスを完了するには、これらのファイルを閉じてから、再度マウントを解除してください。
というように表示され、アンマウントに失敗することがあります。
該当するエクスプローラーやソフトをすべて閉じた後、再度先ほどのコマンドを実行してください。それでもコミットができない場合には、/discard を使用します。
Dism /Unmount-Image /MountDir:"C:\WinPE_x86\mount" /discard
ディスクイメージの出力とブータブルUSBの作成
では、いよいよ最後のステップです。
ISOで出力する場合には下記のコマンドを実行します。するとC:\WinPE_amd64内にWinPE_amd64.isoが出力されます。
MakeWinPEMedia /iso "C:\WinPE_amd64" "C:\WinPE_amd64\WinPE_amd64.iso"
またUSBメモリに書き込む際には、下記のコマンドを実行します。ただし、末尾の「E:」はWindows PEを書き込みたいUSBメモリのドライブレターを指定してください。また、この際、該当のUSBメモリは一度フォーマットされます。
MakeWinPEMedia /UFD C:\WinPE_amd64 E:
また、32bit EFIを搭載した古いMacでブート可能なWindows PEを作成するためにはoscdimgとetfsboot.comを使用し、BIOSモードで起動できるようにISOを作成する必要があります。
oscdimg -n -m -bC:\WinPE_amd64\fwfiles\etfsboot.com C:\WinPE_amd64\media C:\WinPE_amd64\WinPE_amd64.iso
ということで、一通りの作業が終わりました。
Windows PEのカスタマイズの方法はWindows のインストールメディアのカスタマイズにも応用可能です。
試行錯誤してつくるWindows PEはとても楽しいので、ぜひ一度挑戦してみてください。
では!