#WindowsPEとは?
Windows Preinstall Environmentの略。
Microsoftが無償で公式に配布しているツールの1つで,簡易的なWindowsのOS(=WindowsPE)をUSBメモリやCDに入れ,そこから"Windowsもどき"であるWindowsPEを起動することができるツールです。
(なお,この記事では,WindowsPEのメリットや使い方を説明しません。)
Windows10に準拠するWindowsPEのバージョンはWindowsPE 6.0
となります。
今回は,Windows10
を用いてWindowsPE 6.0
のUSBメモリを作ります。
おことわり
私自身も勉強中のため,間違い等があれば是非教えてください。
##実証環境
Windows 10 Pro (64bit) Version:1803
必要なもの
- Windows10で動作しているPC
- WindowsPEを入れるもの(USBメモリ等)
- WindowsPEだけで800MB程度の容量が必要になります。
- USB3.0対応の大容量のUSBメモリをお勧めします。
##作り方
この項目は,初めてWindowsPEを作る際に限り実行します。
-
Windows ADK(Windows Assessment and Deployment Kit)をPCにインストールします。
Microsoft公式ダウンロードサイトからダウンロード,インストールをします。
途中で機能を選択する画面が出てくると思いますが,「Windows Preinstallation Environment (Windows PE)」にチェックを入れ忘れないようにしてください。 -
「展開およびイメージング ツール環境」を管理者権限で起動します。
スタートメニュー→Windows Kits内にあると思います。
見つけたら,右クリックし「その他」→「管理者として実行」をクリックします。 -
「 展開およびイメージング ツール環境」で,以下のコマンドを打ち込みます。
このコマンドで,WindowsPEの元となるファイルをコピーすることができます。
コピー先は自由に変えても大丈夫ですが,今後の操作の際に煩わしくなるため,できるだけ上位層とすることをおすすめします。
また,多くの参考にできるサイトがこの場所にこの名前でコピーしているので,このままのほうが便利です。64bit版WindowsPEの場合copype amd64 C:\WinPE_amd64
32bit版WindowsPEの場合copype x86 C:\WinPE_x86
-
マウントします。
方法は,下記を参照してください。 -
スクラッチ領域を追加します。
1GBを超えるRAMを搭載したPCでは512MB、それ以外の場合は32MBです。有効な値は32,64,128,256,512です。64bit版WindowsPEの場合Dism /Set-ScratchSpace:512 /Image:"C:\WinPE_amd64\mount"
32bit版WindowsPEの場合Dism /Set-ScratchSpace:512 /Image:"C:\WinPE_x86\mount"
-
アンマウントをします。
方法は,下記を参照してください。
これが終わったら,次の章に進んでください。
##マウント,アンマウントとアプリケーションの導入
すべて**管理者権限の[展開およびイメージングツール環境]**で操作します。
-
WindowsPEのブートイメージをマウントします。
64bit版WindowsPEの場合Dism /Mount-Image /ImageFile:"C:\WinPE_amd64\media\sources\boot.wim" /index:1 /MountDir:"C:\WinPE_amd64\mount"
32bit版WindowsPEの場合Dism /Mount-Image /ImageFile:"C:\WinPE_x86\media\sources\boot.wim" /index:1 /MountDir:"C:\WinPE_x86\mount"
この操作をすることで,C:\WinPE_amd64\mount\
内にProgram Files
Program Files(x86)
ProgramData
Windows
ユーザー
の5つのフォルダが作成されます。
-
アプリケーションの導入を行います。
普段使っているWindowsと同様に,アプリケーションはC:\WinPE_amd64\mount\Program Files
(64bit版)もしくはC:\WinPE_x86\mount\Program Files
(32bit版)にコピペします。
Explorerを用いたGUI操作で大丈夫です。
管理者権限が必要な操作のため,Windowsが管理者権限の確認をしてきますが,気にせずに管理者としてコピペをしてください。
システム用のツールはC:\WinPE_amd64\mount\Windows\System32
(64bit版)もしくはC:\WinPE_x86\mount\Windows\System32
(32bit版)にコピペします。初回は,各種ドライバーの導入をここで行います。
この内容については,別途Qiita記事にまとめました。
ちなみに私は,このサイト(WinFE)やこのサイト(Qiita),このサイト(Microsoft公式)を参考に行いました。
Dism /image:C:\WinPE_amd64\mount /add-package /packagepath:hogehoge
(hogehogeにパッケージ名を書く)ことでできます。 -
アンマウントをします。
このとき,ExplorerなどWindowsPEの作業に関係するプログラムは必ず閉じてから以下のコマンドを実行してください。64bit版WindowsPEの場合Dism /unmount-image /mountdir:C:\WinPE_amd64\mount\ /commit
32bit版WindowsPEの場合Dism /unmount-image /mountdir:C:\WinPE_x86\mount\ /commit
この操作をすることで,C:\WinPE_amd64\mount
(64bit版)やC:\WinPE_x86\mount
(32bit版)内のファイルが処理されると同時に,mount
フォルダ内が空になります。
万が一,Explorerの閉じ忘れ等でアンマウントに失敗した場合は以下のコマンドを実行します。
```:64bit版WindowsPEの場合
Dism /unmount-image /mountdir:C:\WinPE_amd64\mount\ /discard
```
```:32bit版WindowsPEの場合
Dism /unmount-image /mountdir:C:\WinPE_x86\mount\ /discard
```
-
USBメモリ等にWindowsPEの内容をコピーします。
E:\
は,USBメモリのドライブ名です。
PCの環境によってはF:\
等の場合もあるので,各自で確認してください。64bit版WindowsPEの場合MakeWinPEMedia /UFD C:\WinPE_amd64 E:
32bit版WindowsPEの場合MakeWinPEMedia /UFD C:\WinPE_x86 E:
この際,USBメモリがフォーマットされます。
その確認をされるのでy
と入力します。もしくは,iso形式で出力するのであれば,
64bit版WindowsPEの場合MakeWinPEMedia /iso C:\WinPE_amd64 C:\WinPE_amd64\WinPE_amd64.iso
32bit版WindowsPEの場合MakeWinPEMedia /iso C:\WinPE_x86 C:\WinPE_x86\WinPE_x86.iso
これにて完成です。
##注意事項
マウントした後,アンマウントをするまでの間に,マウントコマンドを入力したシェルは絶対に消さないでください。
同じシェルでしかアンマウントができません。
万が一,誤って消してしまった場合は,dism /cleanup-wim
と打ち込むことで強制的にマウントした情報を取り消すことができます。
ただし,
##起動方法
BIOSやUEFIの起動順序の設定で,USBメモリが先頭になるようにしてからPCを起動すると読み込まれます。
起動画面は,コマンドプロンプトの画面です。
さきほど追加したアプリケーションはX:\
内にあります。
普段使っているCドライブはC:\
にあります。外付けデバイスのような感覚で使えます。
##アプリケーションの追加方法
「マウント,アンマウントとアプリケーションの導入」を最初から行います。
mount
フォルダ内のデータがアンマウントをする度に消去されますが,マウントする度に復活しますのでご安心ください。
#作業フォルダの削除方法
こちらを参考にしてください。
#おまけ
Githubに上記の作業をまとめたbatファイルを作成しました。
https://github.com/ta-b0/Make_WindowsPE
参考
WinPE: パッケージの追加 (オプション コンポーネント リファレンス)
WinPE: マウントとカスタマイズ
WinFE based on WinPE for Windows 10