Windows PE 10 のカスタマイズ(基本編) [Windows PE]
最終更新日:2020/09/07
本格的なカスタマイズは、応用編で書くことになります。
Windows PEのカスタマイズとは?
Windows PEは初期状態では簡易的なOSが起動するだけでほぼ何もできません。
基本となるイメージを用途に合わせてカスタマイズする事で、初めて実用性が出てきます。
基本編では、インストールした状態で変更可能な部分について説明いたします。
予備知識
カスタマイズを始める前に、まず初めに知っておかないといけないことがあります。
それはWindows PEにも32Bit版と64Bit版があるということです。
これは非常に重要なことで、Windows PEを構築する環境によっては、片方だけしかカスタマイズできませんし、実際に利用する予定のパソコンが、ハードウェア的に32Bitか64Bitかで、用意しなくてはならないWindows PEのBit数が変わってくるという事もあります。
ここを読まれている方は、既にWindows PEをインストール済みだと思います。
環境を構築しているパソコンのOSが何Bit版かわからない場合は、「OSの機能を利用する」で確認してからカスタマイズ方法へ進んでください。
http://urawaza-manual.blog.so-net.ne.jp/2015-04-15
確認済みの場合は、Windows PEを利用予定のパソコンが、「UEFI」と「BIOS互換」どちらか「OSの機能を利用する」で確認してください。
http://urawaza-manual.blog.so-net.ne.jp/2015-04-15
・利用予定のパソコンがOS起動可能な場合
「OSの機能を利用する」で確認
http://urawaza-manual.blog.so-net.ne.jp/2015-04-15
結果により必要な方を作成してください。
・利用予定のパソコンがOS起動不可能な場合
直接確認するしかないですが、パソコンにより名前や起動方法等バラバラで説明は困難です。
できれば32Bit版と64Bit版両方のパターンを作成してください。
・利用予定のパソコンが不特定の場合
32Bit版と64Bit版両方のパターン作成しかありません。
組み合わせ
・環境構築しているOSが32Bitの場合
32BitのWindows PEしか作成できません。
利用予定のパソコンがBIOSモード
32Bit版Windows PEを作成してください。
利用予定のパソコンがUEFIモード
ハードウェアがx86なら32Bit版で作成ですが、x64なら対応不可能となります。
UEFIの制限で、ハードウェアと同じBit数のWindows PEじゃないと起動できないからです。
・環境構築しているパソコンが64Bitの場合
利用予定のパソコンがBIOSモード
32Bit版でも64Bit版でも好きなWindows PEを作成してください。
利用予定のパソコンがUEFIモード
ハードウェアに依存します。
ハードウェアがx86なら32Bit版でx64なら64Bit版作成となります。
利用予定のパソコンが不特定
32Bit版と64Bit版両方作成してください。
※ Windows PE 10はセキュアブート対応です。
カスタマイズ方法 Windows PE 10編
・Windows 7の場合
「スタート」 →「すべてのプログラム」→「Windows Kits」→「展開およびイメージング ツール環境」を「右クリックして管理者として実行」
・Windows 8以降の場合
「スタート画面」→「アプリ」→「Windows Kits」→「展開およびイメージング ツール環境」を「右クリックして管理者として実行」
処理内容の説明及び注意事項
・64Bit版の場合
「copype amd64 C:\WindowsPE\10\64」の「C:\WindowsPE\10\64」の部分は、実際に作業したいフォルダにこの部分を置き換えて実行してください。ここに様々なファイルがコピーされます。
ここから手入力かコピーして貼り付けでコマンドを入力していきます。
copype amd64 C:\WindowsPE\10\64
copy C:\WindowsPE\10\64\media\sources\boot.wim C:\WindowsPE\10\64\boot.wim
「copy C:\WindowsPE\10\64\media\sources\boot.wim C:\WindowsPE\10\64\boot.wim」やり直ししたくなった時用のバックアップなので、実行しておいたほうが無難です。
C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\Oscdimg\efisys_noprompt.binをC:\WindowsPE\10\64\fwfiles\efisys_noprompt.binへコピーしておくのもお勧めいたします。
それではいよいよカスタマイズの基本編です。
「dism /mount-wim /wimfile:C:\WindowsPE\10\64\media\sources\boot.wim /index:1 /mountdir:C:\WindowsPE\10\64\mount」
これで「boot.wim」を「mount」に展開しています。
オプション コンポーネントから追加したいものを選びます。
「dism /image:"C:\WindowsPE\10\64\mount" /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-Fonts-Legacy.cab"」
「dism /image:"C:\WindowsPE\10\64\mount" /add-package /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:\WindowsPE\10\64\mount" /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\JA-JP\lp.cab"」
ここでは日本語のサポートを追加しています。1つ注意点があります。
「C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\」この部分はADKのインストール先になります。
もしインストール先を変更している場合は、この部分を置き換えて実行してください。
Windows PEが32Bitの場合は、「amd64」を「x86」に置き換えてください。
オプション コンポーネントの一覧
「”C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs”」にあります。
こちらがメインで、必要であればそれぞれに対応した追加言語の差分を適用します。
WinPE-DismCmdlets.cab
WINPE-DOT3SVC.CAB IEEE 802.X 認証プロトコルのサポート
WinPE-EnhancedStorage.cab
WinPE-FMAPI.cab
winpe-fontsupport-ja-jp.cab 日本語フォント追加 MS ゴシック・Meiryo
winpe-fontsupport-ko-kr.cab 韓国語フォント追加 Gulim・Batang・Malgun Gothic
winpe-fontsupport-zh-cn.cab 中国語フォント追加 Simsun・MingLiu
winpe-fontsupport-zh-hk.cab 中国語フォント追加 Simsun・MingLiu
WinPE-FontSupport-ZH-TW.cab
winpe-hta.cab HTAサポート
winpe-legacysetup.cab Windowsメディアの\Sourcesフォルダーのセットアップ ファイル全て
winpe-mdac.cab ODBC・OLE DB・ADOサポート(Ghostで利用)
WinPE-NetFx.cab
WinPE-PowerShell.cab
winpe-pppoe.cab PPPoEサポート
WinPE-RNDIS.cab
winpe-scripting.cab 多言語スクリプト環境(HTA利用時追加必要)
WinPE-SecureBootCmdlets.cab
winpe-setup.cab winpe-setup-clientとwinpe-setup-serverの共通ファイル
winpe-setup-client.cab クライアント固有のファイル(先にwinpe-setupインストール必須)
winpe-setup-server.cab サーバー固有のファイル(先にwinpe-setupインストール必須)
WinPE-StorageWMI.cab
winpe-wds-tools.cab WDSサポート(マルチキャストとイメージキャプチャに利用)
WinPE-WinReCfg.cab
winpe-wmi.cab WMIプロバイダーのサブセット
「”C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\ja-jp”」にあります。
基本的に各機能の日本語差分です。日本語で利用する場合は、セットで追加してください。
lp_ja-jp.cab 日本語パック
WinPE-DismCmdlets_ja-jp.cab
WINPE-DOT3SVC_JA-JP.CAB
WinPE-EnhancedStorage_ja-jp.cab
winpe-hta_ja-jp.cab
winpe-legacysetup_ja-jp.cab
winpe-mdac_ja-jp.cab
WinPE-NetFx_ja-jp.cab
WinPE-PowerShell_ja-jp.cab
winpe-PPPOE_ja-jp.cab
WinPE-Rejuv_ja-jp.cab
WinPE-RNDIS_ja-jp.cab
winpe-scripting_ja-jp.cab
WinPE-SecureStartup_ja-jp.cab
WinPE-Setup_ja-jp.cab
winpe-setup-client_ja-jp.cab
winpe-setup-server_ja-jp.cab
WINPE-SRT_JA-JP.CAB Windows 回復環境の機能パッケージ(Windows REで利用)
WinPE-StorageWMI_ja-jp.cab
winpe-wds-tools_ja-jp.cab
WinPE-WinReCfg_ja-jp.cab
winpe-wmi_ja-jp.cab
※ドライバーの追加等を行いますがここでは省きます。応用編で説明いたします。
※次のコマンドを実行する前にエクスプローラーは全て閉じて、「mount」の中のファイルやフォルダを開いているソフトウェアがない状態にしてから実行してください。
「dism /Unmount-Wim /MountDir:C:\WindowsPE\10\64\mount /Commit」
「dism /Unmount-Wim /MountDir:C:\WindowsPE\10\64\mount /Discard」
この部分はどちらか一方を実行します。
「Commit」の方は作業内容を適用して終了します。
「Discard」の方は作業内容を破棄して終了します。
「C:\WindowsPE\10\64\media」がISOイメージ作成用フォルダとなります。
ここまで
これで「C:\WindowsPE\10\64\media\sources\boot.wim」がカスタマイズされました。
内容としては、日本語に対応させただけです。
・CD/DVD起動用のISOイメージ作成とは?
制限事項
1.タブレット端末の制限1 ISOイメージ作成時に、メッセージ表示なしで起動可能なものを作成しておかないと、キーボード入力ができないためCD/DVD起動ができません。
※一部端末は、メーカー製ソフトウェアキーボードをUEFI環境にて無保証で利用可能です。
2.タブレット端末の制限2 基本自分で用意しない限りは、Windows PE上ではキーボード入力での操作となります。その為タブレット端末ではキーボードがない環境では何もできません。
※一部端末は、メーカー製ソフトウェアキーボードをUEFI環境にて無保証で利用可能です。
3.Windows8以降の仕様 利用する環境がWindows8以降の場合は、標準ではOSが完全シャットダウンされません。従って何回挑戦してもUSBメモリからは起動できません。
回避方法1.シャットダウンではなく再起動にする。
回避方法2.意図的に完全シャットダウンする。
回避方法3.推奨はしませんが、電源ボタン長押しによる完全な電源オフ状態にする。
処理内容
コマンドプロンプトに以下の内容を貼り付けて実行するか、直接入力してください。
oscdimg -m -o -u2 -udfver102 -lBootCD -bootdata:2#p0,e,bC:\WindowsPE\10\64\fwfiles\etfsboot.com#pEF,e,bC:\WindowsPE\10\64\fwfiles\efisys.bin C:\WindowsPE\10\64\media C:\WindowsPE\10\64\BootCD.iso
処理内容の説明
UEFIモードとBIOSモードの両対応で作成します。
書式:Oscdimg [<追加機能>] <元データ><出力ファイル>
oscdimg
-m イメージの最大サイズ制限を無視します。(DVDの場合も考慮)
-o MD5ハッシュ アルゴリズムを使ってファイルを比較します。(最適化)
-u2 UDFファイル システムだけが格納されたイメージを生成します。
-u1でも問題はありません。
-udfver102 UDFファイル システム バージョン 1.02 を指定します。
-l -lがオプションでスペースをあけずにボリュームラベルを指定します。
-bootdata :2#p0,e,bC:\WindowsPE\10\64\fwfiles\etfsboot.com#pEF,e,bC:\WindowsPE\10\64\fwfiles\efisys.bin
bootdata オプションに続いてブート エントリの数を指定 (-bootdata:2)
• 各マルチブート エントリは、ハッシュ記号 (#) を使って区切る必要があります。
• 各ブート エントリにはプラットフォーム ID を指定する必要があります。
#p0 ←BIOSの場合に利用するシステムを指定します。
p El Torito カタログでプラットフォーム ID として使う値を指定します。既定 ID は 0xEF で、UEFI システムを表します。0x00 は BIOS システムを表します。
• ブート エントリの各オプションは、コンマ (,) を使って区切る必要があります。
,e, ←エミュレーションではないので無効オプションを付けます。
e El Torito カタログでのフロッピー ディスク エミュレーションを無効にします。
bC:\WindowsPE\10\64\fwfiles\etfsboot.com ファイルのパスとファイルを指定
b <ブートセクターファイル>
El Torito ブート セクター ファイルを指定します。スペースは使用できません。
UEFIの場合: bEfisys.bin BIOS の場合:betfsboot.com
あとはブート エントリの数まで繰り返しです。
#pEF,e,bC:\WindowsPE\10\64\fwfiles\efisys.bin
最初との違いは「pEF」でUEFIを指定して、「bC:\WindowsPE\10\64\fwfiles\efisys.bin」でUEFI用のブートセクターファイルを指定しています。
※ここで「efisys_noprompt.bin」を指定することもできます。
これを指定すると、起動時に英語で何かキーを押してください。というメッセージ無しで即起動してくるようになります。
BIOSモードで、起動時に英語で何かキーを押してください。というメッセージ無しで即起動させるには、「C:\WindowsPE\10\64\media\boot」にある「bootfix.bin」を削除すればよいです。
C:\WindowsPE\10\64\media 読み込み元データのフォルダを指定する。メディアのルートとなる。
C:\WindowsPE\10\64\BootCD.iso 出力するフォルダまでのパスと出力ファイル名を指定する
公式ページ
https://msdn.microsoft.com/ja-jp/library/hh824847.aspx
※ISOイメージが4.5GBを超える場合
http://blogs.technet.com/b/askcorejp/archive/2010/06/30/oscdimg-exe-4-5-gb-iso.aspx
普通にWindows PEを作成している限りでは、数GBになる事はあっても4.5GBを超えることはまずないです。
毎度ISO作成後に書き込みするのは手間だしもったいないので、仮想環境を利用して動作確認するのもありです。
Microsoft Virtual PC 2007 SP1
https://www.microsoft.com/ja-jp/download/details.aspx?id=24439
VirtualBox
http://www.oracle.com/technetwork/jp/server-storage/virtualbox/downloads/index.html
VMware
http://www.vmware.com/jp
Windows7SP1以降で仮想支援機能がある場合は、Hyper-Vを有効にする。
Hyper-V(ハイパーブイ)とは?
Windows 7/Windows 8/Windows 8.1に搭載されている仮想PC機能です。
※この機能はWindows 7 Professional・Windows 7 Ultimate/Windows 8Pro・Windows 8.1Proにのみ搭載されています。
それぞれのインストール方法等は別途書きます。
・USB起動用のデバイス作成とは?
前提条件:USBメモリ
※注意事項
いろいろな制限があり、それらを把握していないともったいないことになります。
USBHDDを利用する場合でも同じです。
これらの制限事項は、OSの機能による制限事項なので回避できません。
(特殊なツールを使うと一部回避可能ですが、ここでは紹介いたしません。)
大事なことなのでしっかりと把握してから作業に移ってください。
1.UEFIの制限 UEFIは通常FAT32と呼ばれる形式でフォーマットされたパーティションからしか起動できません。
そのためUEFIのパソコンから起動する場合は、FAT32でフォーマットする必要があります。
逆にいうとBIOSのパソコンから起動する場合は、NTFSフォーマットでも問題ありません。
2.FAT32の制限 最大で32GB以下のパーティションしか作成できません。
最大で1ファイル4GB(2GB)の制限があります。
USBメモリの制限で、通常USBメモリにはパーティションは1つしか作成できず、仮に無理やり2つ以上作成しても最初の1つしか認識されません。
そのため起動専用としては、32GB以下のUSBメモリを推奨いたします。
最終更新日:2020/09/07
Windows10の環境のみ考慮するならば、USBメモリ内にパーティションを複数作成できます。
※Windows10より前のOS上からは、一番最初のパーティションしか参照できませんので注意が必要です。
公式ページ
http://windows.microsoft.com/ja-jp/windows7/comparing-ntfs-and-fat32-file-systems
解りやすいbuffaloさんのページ
http://buffalo.jp/php/lqa.php?id=BUF6252
3.USBメモリの仕様 USBメモリにはリムーバブルディスクという扱いになるものと、ハードディスクという扱いになるものが存在します。
ハードディスク扱いになるものは、1と2の制限を回避できます。
2のパーティション1つの制約を受けません。
1のFAT32からしか起動できない制限は回避できませんが、2を回避できるためパーティション1を起動用残りをデータ用として、FAT32以外のフォーマットで用意することが可能です。
4.USB3.0の制限 Windows PE 3.1はWindows 7 SP1ベースです。
そのためOSの仕様も基本同じなので、ドライバーを追加しない限り、USB3.0に対応できません。
その為USB2.0がない環境では、USBメモリからの起動はできますが、起動後ドライバーが存在しない場合は、USBメモリが認識されていない状態になります。
5.チップセットの制限 USB2.0であってもチップセットのドライバーが適用されていない場合は、USB2.0でも正常に利用できない場合があります。
6.タブレット端末の制限 基本自分で用意しない限りは、Windows PE上ではキーボード入力での操作となります。その為タブレット端末ではキーボードがない環境では何もできません。
※一部端末は、メーカー製ソフトウェアキーボードをUEFI環境にて無保証で利用可能です。
7.Windows8以降の仕様 利用する環境がWindows8以降の場合は、標準ではOSが完全シャットダウンされません。従って何回挑戦してもUSBメモリからは起動できません。
回避方法1.シャットダウンではなく再起動にする。
回避方法2.意図的に完全シャットダウンする。
回避方法3.推奨はしませんが、電源ボタン長押しによる完全な電源オフ状態にする。
6と7はUSBメモリ以外のデバイスでも関係する制限事項となります。
これらのことを把握したうえで作業を行ってください。
一部ドライバーの追加で回避できるものに関しては、応用編にてドライバーの追加をできますので、回避は可能です。ご安心ください。
処理内容
USBメモリをフォーマットして、起動可能な状態にします。
フォーマットするということは、USBメモリの中身を一度完全に消去するということです。
1.「C:\WindowsPE\10\64\media」を右クリックして、「ディスク上のサイズ」を確認してください。
2.そこに書かれているサイズ以上の、中身が消えてもよいUSBメモリを用意してください。
3.用意ができたらパソコンに接続してください。
4.エクスプローラー等でUSBドライブのドライブレターを確認してください。
※ドライブレターは「(C:)」「(D:)」と表示される()の中身です。
よくあるのは
C:OSのHDD(or SSD) D:データ用HDD E:光学ドライブ F:USBメモリ
C:OSのHDD(or SSD) D:光学ドライブ E:USBメモリ
C:OSのHDD(or SSD) D:USBメモリ
こんなパターンです。
場合によってはこれにカードリーダーなどがあり、もっと後ろの方に設定されているかもしれません。ドライブレターは、A~Zまでです。
稀にOS上から認識はされるが、ドライブレターが割り振りされない場合もあります。
(OSが認識できない形式・未フォーマット・壊れている等)
その場合は、自力で解決して頂くか、別のUSBメモリをご用意ください。
5.確認が終わったらコマンドプロンプトから「diskpart」と入力してエンターキーを押下します。
6.画面上で「DISKPART>」と表示が変更されたのを確認してください。
7.「list disk」と入力してエンターキーを押下します。
8.ディスクの一覧が表示されます。その中に接続したUSBメモリと同じ容量の物があるのを確認してください。恐らくdisk0以外になっていると思います。
9.「select disk 0」と入力してエンターキーを押下します。
10.「detail disk」と入力してエンターキーを押下します。
11.disk0(通常OSがインストールされているディスク)の内容が表示されます。
12.その中の「Ltr」と書かれた部分に、先ほど調べたドライブレターが含まれていないことを確認します。
もし、含まれていた場合は、間違った内容を控えています。
「list disk」で表示されたUSBメモリのdisk番号を控えて、「select disk 1」1は控えた番号に置き換えてください。と入力してエンターキーを押下します。
「detail disk」と入力してエンターキーを押下します。
ここに含まれている「Ltr」がUSBメモリのドライブレターとなります。
間違えると違うHDD/SSD/USBメモリ等を消してしまうので、注意してください。
これで間違いないという物が判明したら次へ進んでください。
13.「select volume X:」「X:」の部分は先ほど調べていただいたドライブレターです。
14.「format fs=fat32 label="WinPE31" quick」と入力してエンターキーを押下します。
””の中身は変更可能です。"WinPE31" はボリュームラベルになります。
15.「active」と入力してエンターキーを押下します。
16.「C:\WindowsPE\10\64\media」の中身をそのままUSBメモリにコピーします。
これで起動できるUSBメモリの完成です。
※bootsect.exe /nt60 %DEST% /force /mbr
※昔のシステム使わない場合は不要
処理内容の説明
・PXE起動とは?
1.タブレット端末の制限 ネットワークブート時に、F12入力なしで起動できるようにしておかないと、キーボード入力ができないため起動できません。
※一部端末は、メーカー製ソフトウェアキーボードをUEFI環境にて無保証で利用可能です。
これは環境の構築方法に依存する話ですが、通常サーバー側での設定となります。
起動方法
ネットワークの起動用イメージとして「boot.wim」を読み込ませるだけです。
PXE環境の構築方法
http://urawaza-manual.blog.so-net.ne.jp/2015-04-30
・32Bit版の場合
「copype x86 C:\WindowsPE\10\32」の「C:\WindowsPE\10\32」の部分は、実際に作業したいフォルダにこの部分を置き換えて実行してください。ここに様々なファイルがコピーされます。
copype x86 C:\WindowsPE\10\32
「dism /mount-wim /wimfile:C:\WindowsPE\10\32\media\sources\boot.wim /index:1 /mountdir:C:\WindowsPE\10\32\mount」
これで「boot.wim」を「mount」に展開しています。
「”C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\ja-jp”」にあります。
「dism /image:C:\WindowsPE\10\32\mount /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\ja-jp\WINPE-FONTSUPPORT-JA-JP.CAB"」
「dism /image:C:\WindowsPE\10\32\mount /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\ja-jp\LP_JA-JP.CAB"」
日本語のサポートを追加しています。1つ注意点があります。
「C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\ja-jp」
この部分はADKのインストール先になります。
もしインストール先を変更している場合は、この部分を置き換えて実行してください。
※次のコマンドを実行する前にエクスプローラーは全て閉じて、「mount」の中のファイルやフォルダを開いているソフトウェアがない状態にしてから実行してください。
「dism /Unmount-Wim /MountDir:C:\WindowsPE\10\32\mount /Commit」
「dism /Unmount-Wim /MountDir:C:\WindowsPE\10\32\mount /Discard」
この部分はどちらか一方を実行します。
「Commit」の方は作業内容を適用して終了します。
「Discard」の方は作業内容を破棄して終了します。
先頭に戻る
ブログ 前 Windows10ドライバーリンク集 次