Windowsプレインストール環境ネットワークブートガイド(WinPE)

プレインストール環境は、オペレーティングシステムをインストールするためだけでなく、たとえばシステム回復、ウイルス対策、ネットワーク診断などのシステム管理者ツールの基礎としても使用できます。 この記事では、別の記事のトピックであるため、管理ユーティリティを追加せずに標準のWinPEイメージを検討します。



バージョン2.0以降のWinPEネットワークブートシーケンスは次のとおりです。

  1. pxeboot.com



    のネットワークコアpxeboot.com



    ます。
  2. ネットワークコアは標準のbootmgr.exe



    ブートbootmgr.exe



    でロードされ、ネットワークブートは他のメディアからのブートと実質的に同じです。
  3. ブートマネージャーは、構成情報(ブートファイルの場所)が書き込まれているBCD



    ファイル(ブート構成データ)を読み取り、必要なフォント( wgl4_boot.ttf



    )と仮想ディスクドライバーboot.sdi



    ロードします。その後、WinPEイメージがロードされます。
  4. ダウンロードマネージャーは、BCDファイルのパスパラメーターで指定されたプログラムに制御を渡します。




上記のファイルを取得するために、たとえばここで説明したように、Windows AIKパッケージを展開(ダウンロードおよびインストール)する必要はありません。 同様のOEMプレインストールキットもオプションです。 インストールディスク自体またはそのイメージさえ必​​要です。後者の場合、コンピューターには7ZipまたはISOおよびWIMイメージからファイルをコピーできるプログラムが必要です。 したがって、Windows AIKをダウンロードしてインストールする時間を無駄にしないでください。 Windows 7、8、さらには10のアーキテクチャ互換ディストリビューションが適していますが、最大限の互換性を確保するには、x86アーキテクチャを使用することをお勧めします。



boot.sdi



およびbcd



ファイルは、 boot



ディレクトリで取得できます。ここでは、 fonts



サブディレクトリ全体(フォントwgl4_boot.ttf



がそこにあります)をboot.wim



でき、sourcesディレクトリからはboot.wim



ファイルのみが必要です。 boot.wimイメージにある2つのファイルがさらに必要です。 最も簡単な方法は7Zipグラフィカルファイルマネージャーを使用することですが、WinPEイメージにドライバーまたはパッケージを追加する場合は、dismユーティリティを使用することをお勧めします。 次に、dismのオプションについて検討します。標準イメージが必要な場合は、必要なファイル( pxeboot.n12



およびbootmgr.exe



)がwindows\boot\pxe



あることをお知らせします。 ファイルpxeboot.n12



は、 F12



キーを押す必要がないという点で、上記のpxeboot.n12



と異なります。



dismの場合は、bcdeditユーティリティと同様に、Windows XPではdismが機能しないため、Windows 7-10を搭載したコンピューターが必要になります。 これらのユーティリティは、管理者の下でのみ操作できます。つまり、スタートボタンに「コマンドライン」項目があり、この項目を右クリックして、コンテキストメニューから「管理者として実行」を選択します。オペレーティングシステムをリストしても意味がありません。動作しない場合は、推論ボックスをオンにしてみてください)。 実行中のコマンドラインを入力すると、このユーティリティの使用に関するヘルプを表示できます。



 dism /?
      
      





たとえば、これが必要なWIMファイルであること、つまりWIMファイル内の画像に関する情報が必要であることを確認したいため、コンソールに入力して/Get-Wiminfo



に関するヘルプを取得します。



 dism /get-wiminfo /?
      
      





次のコマンドでイメージをマウントします。



 dism /mount-wim /wimfile:<__WIM-> /index:<_> /mountdir:<_>
      
      





WIMファイルへのパスと接続ディレクトリがこのコンピューターに存在する必要があり、イメージインデックスは/Get-Wiminfo



で見つけることができることに注意して/Get-Wiminfo



。 接続ディレクトリにはwindows \ boot \ pxeフォルダーがあり、その中にpxeboot.n12



bootmgr.exe



2つのファイルがあります。



ドライバーを追加する場合は、次のコマンドが必要です。



 dism /image:<_> /Add-Driver /driver:<_c_> /recurse /ForceUnsigned
      
      





たとえば、WMI、HTA、MDAC、NetFX、PPPoE、PowerShell、スクリプトなどの追加パッケージを追加する必要がある場合は、まずそれらを見つける必要があります。 たとえば、Windows OPKまたはAIKまたはADKをインストールします。 次に、コマンドを実行します。



 Dism /image:<_> /Add-Package /PackagePath: <____cab>
      
      





次に、コマンドを使用してイメージを無効にする必要があります。



 dism /unmount-wim /mountdir:<_> /commit
      
      





次に、 ダウンロードする必要があるsyslinuxパッケージのPXEネットワークブートローダーであるpxelinuxを見ていきます 。 ダウンロードしたファイルを解凍しますが、ファイルをコピーする前に、ルートディレクトリを見つけます。 WindowsオペレーティングシステムでTftpd32を使用し、 C:\tftpd32



ルートディレクトリC:\tftpd32



作成するとします。 さらに、このディレクトリからのすべてのパスをカウントしますが、それを示しません。さらに、パスがWindowsのように逆方向ではなく、スラッシュを使用します。 つまり、 pxelinux.cfg/default



指定されている場合、実際のパスはC:\tftpd32\pxelinux.cfg\default



になり、defaultは拡張子のないファイルになります。 syslinuxを解凍したディレクトリから次のファイルをルートディレクトリ(つまり、 C:\tftpd32



)にコピーします。



ネットワークローダーは、親のsyslinuxプロジェクトとそれほど変わらないので、USBフラッシュドライブまたはCDから起動するとき、およびその逆の場合に適用される多くのことがあります。 pxelinux.cfgフォルダーを作成します。このフォルダーには、現時点では単一のファイルがあります(ダウンロードオプションの増加に伴い、構成ファイルの数が増加します)-デフォルト、次の内容:



 UI vesamenu.c32 MENU TITLE PXE Special Boot Menu LABEL bootlocal MENU LABEL ^Boot local disk MENU DEFAULT LOCALBOOT 0 TIMEOUT 80 TOTALTIMEOUT 9000 LABEL winpe MENU LABEL ^WinPE KERNEL pxeboot.0
      
      





最初の行はメニューのグラフィックの性質を設定し、2行目はメニュー全体の名前を設定します。 次に、bootlocalとwinpeとして識別される2つのメニュー項目があり、画面にBoot local diskとWinPEが表示されます。 ご想像のとおり、最初のメニュー項目はデフォルトの項目であり、ローカルにロードされますが、2番目の項目に興味があります。 ある種の混乱が判明しました。最初はpxeboot.com



について言われましたが、 pxeboot.com



をコピーし、 pxeboot.n12



を規定しpxeboot.0



。 実際、pxelinuxにはネットワークブートローダーの名前に関する独自の要件があります- pxeboot.0



、このような.0



ファイルの拡張子は、 pxelinux.0



から取得したpxelinux.0とWinPEイメージから取得したpxelinux.0



を混同しないでください。 2番目はメニューを表示するために必要で、1番目は適切なメニューを選択した後にのみロードされます。 したがって、 pxeboot.0



名前をpxeboot.n12



に変更し、ルートフォルダーに配置するpxeboot.0



あります。



また、ルートフォルダーにbootmgr.exe



を配置する必要があります。 ルートフォルダーにboot



サブディレクトリを作成します。ここには、 bcd



boot.sdi



fonts



ディレクトリの2つのファイルを配置する必要があります。また、 boot.wim



ファイルをコピーするsources



ディレクトリを作成する必要があります。 すべてのブートファイルの同様の場所に問題がなければ、 bcd



ファイルを変更する必要はありません。 ここでのコツは、ネットワークブートがCDまたはフラッシュドライブからのブートに似ていることです。



DHCPとTFTPD(この例ではTftpd32)を実行できます。設定が正しいことを確認するだけです。ディレクトリはC:\tftpd32



、ファイルはpxelinux.0



、ネットワークインターフェイスの選択などです。 エラーがある場合、または目的の結果が得られない場合は、ログ(ログビューアー)の出力を参照してください。 それとは別に、BIOS、つまりUEFIとのみ互換性のないコンピューターについても言及する必要があります。 そのようなコンピューターには、他のファイルが必要です。



記事の最後の質問を検討してください:「WinPEブートファイルのデフォルトの場所を変更する必要がある場合はどうなりますか?」 次に、bcdファイルに変更を加える必要があります。 実際、bcdファイルは通常のレジストリハイブであり、標準のregeditで読み込むことができますが、バイナリデータを扱うのは不便なので、bcdeditユーティリティを使用します。 前のユーティリティでの作業と同様に、管理者モードが必要なので、コマンドプロンプトウィンドウを閉じた場合は、同じ方法で開く必要があります。 bcdeditユーティリティの操作に関するヘルプは、次のように入力して取得できます。



 bcdedit /?
      
      





最初に、変数%BCD%に新しいBCDファイルのフルネームが含まれることを確認して、このファイルを作成します。



 bcdedit /createstore %BCD%
      
      





次に、電子ディスクデバイスのブートマネージャーに必要な追加パラメーターの新しいレコードを作成します。



 bcdedit /store %BCD% /create {ramdiskoptions} /d "Ramdisk options"
      
      





2つのパラメーターを設定します。2番目は、%SDI%変数を参照します。この変数には、ブートデバイスに関連するパス\ boot.sdiが含まれます(元は\ boot \ boot.sdiでした)



 bcdedit /store %BCD% /set {ramdiskoptions} ramdisksdidevice boot bcdedit /store %BCD% /set {ramdiskoptions} ramdisksdipath %SDI%
      
      





WinPEの新しいエントリを作成します。



 bcdedit /store %BCD% -create /d "WinPE Boot Image" /application osloader
      
      





最後のコマンドの結果は、中括弧で囲まれたGUIDの表示になり、変数%GUID%として示されます。 実際、これはFORコマンドを使用して自動化できますが、解析するのはより困難です。 システムのルートディレクトリパラメータを設定します。



 bcdedit /store %BCD% /set %GUID% systemroot \Windows
      
      





HALおよびWinPEを決定するためのパラメーターを設定します。



 bcdedit /store %BCD% /set %GUID% detecthal Yes bcdedit /store %BCD% /set %GUID% winpe Yes
      
      





オペレーティングシステムを含むデバイスと、%WIM%ファイルを含むデバイスのパラメーターを設定します(例:\ windows \ winpe.wim):



 bcdedit /store %BCD% /set %GUID% osdevice ramdisk=[boot]%WIM%,{ramdiskoptions} bcdedit /store %BCD% /set %GUID% device ramdisk=[boot]%WIM%,{ramdiskoptions}
      
      





別のブートマネージャーエントリを作成します。



 bcdedit /store %BCD% /create {bootmgr} /d "Windows BootManager"
      
      





待機パラメーターを設定します。



 bcdedit /store %BCD% /set {bootmgr} timeout 30
      
      





優先度を設定します。



 bcdedit /store %BCD% /set {bootmgr} displayorder %GUID%
      
      





これで、BCDファイルの準備ができました。TFTPDサーバーのブートディレクトリに配置できます。



All Articles