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 ソース ファイルをコピーする

  1. 展開コンピューターで、[ 開始] を選択し、「 展開」と入力します。

  2. [展開およびイメージング ツール環境] を右クリックし、 [管理者として実行]をクリックします。 展開およびイメージング ツール環境のショートカットからコマンド プロンプト ウィンドウが開き、すべての必要なツールを示す環境変数が自動的に設定されます。

  3. 次のコマンドを実行して、Windows PE の基本ファイルを新しいフォルダーにコピーします。 スクリプトには、ハードウェア アーキテクチャとコピー先の場所の 2 つの引数が必要です。 <architecture> の値には x86amd64arm を指定できます。<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
    
  4. 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

  5. ネットワーク共有を PXE/TFTP サーバーの TFTP ルート ディレクトリにマップし、\Boot フォルダーを作成します。 TFTP サーバーのドキュメントを調べて、TFTP サーバーのルート ディレクトリを確認します。その後で、このディレクトリの共有を有効にして、ネットワークでアクセスできることを確認します。 次の例では、PXE サーバー名は PXE-1 で、TFTP ルート ディレクトリは \\PXE-1\TFTPRoot のネットワーク パスを使用して共有されています。

    net.exe use y: \\PXE-1\TFTPRoot
    y:
    md Boot
    
  6. PXE ブート ファイルを、マウントしたディレクトリから \boot フォルダーにコピーします。 次に例を示します。

    copy c:\winpe_amd64\mount\windows\boot\pxe\*.* y:\Boot
    
  7. boot.sdi ファイルを PXE/TFTP サーバーにコピーします。

    copy C:\winpe_amd64\media\boot\boot.sdi y:\Boot
    
  8. 起動可能な Windows PE イメージ (boot.wim) を \boot フォルダーにコピーします。

    copy C:\winpe_amd64\media\sources\boot.wim y:\Boot
    
  9. (省略可能)TrueType フォントを \boot フォルダーにコピーする

    copy C:\winpe_amd64\media\Boot\Fonts y:\Boot\Fonts
    

手順 2: ブート設定を構成し、BCD ファイルをコピーする

  1. bcdedit.exe を使用して、BCD ストアを作成します。

    bcdedit.exe /createstore c:\BCD
    
  2. 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 に置き換えてください。

  3. 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
    
  4. 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
    
  5. 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 のブート構成データが見つからないか、エラーが含まれている場合は、ディレクトリが正しい TFTP サーバールート ディレクトリにインストールされていることを \boot 確認します。 ここで使用されている例では、このディレクトリの名前は TFTPRoot ですが、お使いの TFTP サーバーでは異なる場合があります。

PXE ブート プロセスの概要

次のプロセスは、PXE クライアントのブートをまとめたものです。

次は、クライアントと PXE サーバーが同じネットワーク/サブネット/vlan 上にあるか、または PXE 要求が、ルーターまたはスイッチで構成された IP ヘルパーを使用してクライアントから PXE サーバーに適切に転送されていることを前提としています。 IP ヘルパーの詳細については、「 ブロードキャストを転送するためのルーターの構成」を参照してください。

  1. クライアントが PXE サーバーにアクセスします。 クライアントが PXE サーバーとして別のネットワーク/サブネット/vlan 上にある場合、クライアントは IP ヘルパーを使用して PXE サーバーにルーティングされます。

  2. PXE サーバーは、DHCP オプション 060 (クライアント識別子 PXEClient)、066 (ブート サーバー ホスト名)、067 (ブート ファイル名) をクライアントに送信します。

  3. クライアントは、PXE サーバーから受信した DHCP オプション 067 ブート ファイル名の値に基づいて TFTP サーバーからダウンロード boot\PXEboot.n12 します。

  4. PXEboot.n12 はネットワーク ブートをすぐに開始します。

  5. クライアントは TFTP サーバからダウンロード boot\bootmgr.exeboot\BCD 、ファイルをダウンロードします。

    BCD ストアは TFTP サーバー上の \boot ディレクトリに存在し、BCD という名前にする必要があります。

  6. Bootmgr.exe は、BCD オペレーティング システムのエントリとダウンロード boot\boot.sdi と Windows PE イメージ (boot\boot.wim) を読み取ります。 ダウンロードできるオプション のファイルには、TrueType フォント (boot\Fonts\wgl4_boot.ttf) と、これらのファイルが存在する場合は休止状態ファイル (\hiberfil.sys) も含まれます。

  7. Bootmgr.exe は、Windows PE イメージ内で を呼び出 winload.exe すことによって Windows PE を起動します。

  8. Windows PE が読み込まれると、コマンド プロンプトが開き wpeinit.exe 、Windows PE を初期化するために実行されます。

  9. Windows PE クライアントは、 などのimagex.exediskpart.exeツールにアクセスし、bcdboot.exeWindows PE コマンド プロンプトを使用します。 Windows 10イメージファイルを伴うこれらのツールの助けを借りて、コピー先のコンピュータを適切にフォーマットして、完全なWindows 10オペレーティングシステムを読み込むことができます。

Windows PE のチュートリアル