Windows PE を読み込むように PXE サーバーを構成する
適用対象:
- Windows 10
このチュートリアルでは、ネットワークからクライアント コンピューターを起動して、Windows PE を読み込むように PXE サーバーを構成する方法について説明します。 Windows PE ツールと Windows 10 イメージ ファイルを使用して、ネットワークから Windows 10 をインストールできるようになります。
前提条件
- 展開コンピューター: Windows Assessment and Deployment Kit (Windows ADK) と、ADK がインストールされた Windows PE アドオンを備えたコンピューター。
- DHCP サーバー: PXE クライアント要求に応答するように構成された DHCP サーバーまたは DHCP プロキシが必要です。
- PXE サーバー: Windows PE ブート ファイルをホストできる TFTP サービスを実行しているサーバー。このブート ファイルはクライアントによってダウンロードされます。
- ファイル サーバー: ネットワーク ファイル共有をホストしているサーバー。
上記の 4つ の役割すべてを、同一のコンピューターでホストすることができます。または、それぞれの役割を個別のコンピューターでホストすることもできます。
手順 1: Windows PE ソース ファイルをコピーする
展開コンピューターで、[ 開始] を選択し、「 展開」と入力します。
[展開およびイメージング ツール環境] を右クリックし、 [管理者として実行]をクリックします。 展開およびイメージング ツール環境のショートカットからコマンド プロンプト ウィンドウが開き、すべての必要なツールを示す環境変数が自動的に設定されます。
次のコマンドを実行して、Windows PE の基本ファイルを新しいフォルダーにコピーします。 スクリプトには、ハードウェア アーキテクチャとコピー先の場所の 2 つの引数が必要です。 <architecture> の値には x86、amd64、arm を指定できます。<destination> は、ローカル ディレクトリへのパスです。 ディレクトリがまだ存在しない場合は、作成されます。
copype.cmd <architecture> <destination>
たとえば、次のコマンドは amd64 アーキテクチャのファイルを C:\winpe_amd64 ディレクトリにコピーします。
copype.cmd amd64 C:\winpe_amd64
スクリプトによってコピー先のディレクトリ構造が作成され、そのアーキテクチャに必要なすべてのファイルがコピーされます。 上の例では、次のディレクトリが作成されます。
C:\winpe_amd64 C:\winpe_amd64\fwfiles C:\winpe_amd64\media C:\winpe_amd64\mount
DISM ツールを使用して、Windows PE の基本イメージ (winpe.wim) を \mount ディレクトリにマウントします。 イメージ ファイルをマウントするとファイルの内容がフォルダー内に復元されるので、これらを直接変更したり、DISM などのツールで変更したりできます。 次の例をご覧ください。
dism.exe /mount-image /imagefile:c:\winpe_amd64\media\sources\boot.wim /index:1 /mountdir:C:\winpe_amd64\mount
" 操作が正常に完了 しました" というメッセージが表示されていることを確認します。
注
現在マウントされているイメージを表示するには、「
dism.exe /get-MountedWiminfo
」と入力します。ネットワーク共有を PXE/TFTP サーバーの TFTP ルート ディレクトリにマップし、\Boot フォルダーを作成します。 TFTP サーバーのドキュメントを調べて、TFTP サーバーのルート ディレクトリを確認します。その後で、このディレクトリの共有を有効にして、ネットワークでアクセスできることを確認します。 次の例では、PXE サーバー名は PXE-1 で、TFTP ルート ディレクトリは \\PXE-1\TFTPRoot のネットワーク パスを使用して共有されています。
net.exe use y: \\PXE-1\TFTPRoot y: md Boot
PXE ブート ファイルを、マウントしたディレクトリから \boot フォルダーにコピーします。 次に例を示します。
copy c:\winpe_amd64\mount\windows\boot\pxe\*.* y:\Boot
boot.sdi ファイルを PXE/TFTP サーバーにコピーします。
copy C:\winpe_amd64\media\boot\boot.sdi y:\Boot
起動可能な Windows PE イメージ (boot.wim) を \boot フォルダーにコピーします。
copy C:\winpe_amd64\media\sources\boot.wim y:\Boot
(省略可能)TrueType フォントを \boot フォルダーにコピーする
copy C:\winpe_amd64\media\Boot\Fonts y:\Boot\Fonts
手順 2: ブート設定を構成し、BCD ファイルをコピーする
bcdedit.exe を使用して、BCD ストアを作成します。
bcdedit.exe /createstore c:\BCD
RAMDISK 設定を構成します。
bcdedit.exe /store c:\BCD /create {ramdiskoptions} /d "Ramdisk options" bcdedit.exe /store c:\BCD /set {ramdiskoptions} ramdisksdidevice boot bcdedit.exe /store c:\BCD /set {ramdiskoptions} ramdisksdipath \Boot\boot.sdi bcdedit.exe /store c:\BCD /create /d "winpe boot image" /application osloader
最後のコマンドでは、次のような GUID が返されます。
The entry {a4f89c62-2142-11e6-80b6-00155da04110} was successfully created.
次に示す一連のコマンドで使用するために、この GUID をコピーします。 各コマンドでは、"GUID1" をコピーした GUID に置き換えてください。
Windows PE イメージの新しいブート アプリケーション エントリを作成します。
bcdedit.exe /store c:\BCD /set {GUID1} device ramdisk=[boot]\Boot\boot.wim,{ramdiskoptions} bcdedit.exe /store c:\BCD /set {GUID1} path \windows\system32\winload.exe bcdedit.exe /store c:\BCD /set {GUID1} osdevice ramdisk=[boot]\Boot\boot.wim,{ramdiskoptions} bcdedit.exe /store c:\BCD /set {GUID1} systemroot \windows bcdedit.exe /store c:\BCD /set {GUID1} detecthal Yes bcdedit.exe /store c:\BCD /set {GUID1} winpe Yes
BOOTMGR 設定を構成します (3 番目のコマンドの GUID1 をコピーした GUID に置き換えることに注意してください)。
bcdedit.exe /store c:\BCD /create {bootmgr} /d "boot manager" bcdedit.exe /store c:\BCD /set {bootmgr} timeout 30 bcdedit.exe /store c:\BCD -displayorder {GUID1} -addlast
BCD ファイルを TFTP サーバーにコピーします。
copy c:\BCD \\PXE-1\TFTPRoot\Boot\BCD
これで PXE/TFTP サーバーが構成されました。 /store <BCD ファイルの場所> /enum all コマンド bcdedit.exe 使用して構成されている BCD 設定を表示できます。 次の例を参照してください。 注: GUID は、次に示されているものとは異なります。
C:\>bcdedit.exe /store C:\BCD /enum all
Windows Boot Manager
--------------------
identifier {bootmgr}
description boot manager
displayorder {a4f89c62-2142-11e6-80b6-00155da04110}
timeout 30
Windows Boot Loader
-------------------
identifier {a4f89c62-2142-11e6-80b6-00155da04110}
device ramdisk=[boot]\Boot\boot.wim,{ramdiskoptions}
description winpe boot image
osdevice ramdisk=[boot]\Boot\boot.wim,{ramdiskoptions}
systemroot \Windows
detecthal Yes
winpe Yes
Setup Ramdisk Options
---------------------
identifier {ramdiskoptions}
description ramdisk options
ramdisksdidevice boot
ramdisksdipath \Boot\boot.sdi
ヒント
PXE ブート プロセスを開始してもエラーを受け取る PC のブート構成データが見つからないか、エラーが含まれている場合は、 \boot
ディレクトリが正しい TFTP サーバー ルート ディレクトリにインストールされていることを確認します。 ここで使用されている例では、このディレクトリの名前は TFTPRoot ですが、お使いの TFTP サーバーでは異なる場合があります。
PXE ブート プロセスの概要
次のプロセスは、PXE クライアントのブートをまとめたものです。
注
次は、クライアントと PXE サーバーが同じネットワーク/サブネット/vlan 上にあるか、または PXE 要求が、ルーターまたはスイッチで構成された IP ヘルパーを使用してクライアントから PXE サーバーに適切に転送されていることを前提としています。 IP ヘルパーの詳細については、「 ブロードキャストを転送するためのルーターの構成」を参照してください。
クライアントが PXE サーバーにアクセスします。 クライアントが PXE サーバーとして別のネットワーク/サブネット/vlan 上にある場合、クライアントは IP ヘルパーを使用して PXE サーバーにルーティングされます。
PXE サーバーは、DHCP オプション 060 (クライアント識別子 PXEClient)、066 (ブート サーバー ホスト名)、067 (ブート ファイル名) をクライアントに送信します。
クライアントは、PXE サーバーから受信した DHCP オプション 067 ブート ファイル名の値に基づいて、TFTP サーバーから
boot\PXEboot.n12
をダウンロードします。PXEboot.n12
はネットワーク ブートをすぐに開始します。クライアントは、と ファイルを TFTP サーバーからダウンロードします。
注
BCD ストアは、TFTP サーバー上の
\boot
ディレクトリに存在し、BCD という名前を付ける必要があります。Bootmgr.exe
は BCD オペレーティング システム エントリを読み取り、boot\boot.sdi
と Windows PE イメージ (boot\boot.wim
) をダウンロードします。 ダウンロードできるオプション のファイルには、TrueType フォント (boot\Fonts\wgl4_boot.ttf
) と休止状態ファイル (\hiberfil.sys
) が含まれます (これらのファイルが存在する場合)。Bootmgr.exe
は、Windows PE イメージ内のwinload.exe
を呼び出すことによって Windows PE を起動します。Windows PE が読み込まれると、コマンド プロンプトが開き、Windows PE を初期化するために
wpeinit.exe
が実行されます。Windows PE クライアントは、Windows PE コマンド プロンプトを使用して、
imagex.exe
、diskpart.exe
、bcdboot.exe
などのツールにアクセスできます。 Windows 10 イメージ ファイルを伴うこれらのツールの助けを借りて、対象のコンピューターを正しくフォーマットして、Windows 10 オペレーティング システム全体を読み込むことができます。