バージョン2.0以降のWinPEネットワークブートシーケンスは次のとおりです。
-
pxeboot.com
のネットワークコアpxeboot.com
ます。 - ネットワークコアは標準の
bootmgr.exe
ブートbootmgr.exe
でロードされ、ネットワークブートは他のメディアからのブートと実質的に同じです。 - ブートマネージャーは、構成情報(ブートファイルの場所)が書き込まれている
BCD
ファイル(ブート構成データ)を読み取り、必要なフォント(wgl4_boot.ttf
)と仮想ディスクドライバーboot.sdi
ロードします。その後、WinPEイメージがロードされます。 - ダウンロードマネージャーは、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
)にコピーします。
-
bios\core\pxelinux.0
(ネットワークローダー自体); -
bios\com32\menu
ディレクトリからの2つのファイル:menu.c32
およびvesamenu.c32
(vesamenu.c32が機能しないマシンにのみmenu.c32を使用します); -
bios\com32\chain\chain.c32
(ブートローダー管理モジュール、通常ローカルブートに使用); -
bios\com32\elflink\ldlinux\ldlinux.c32
(セカンダリブートローダー、pxelinux.0を使用する場合に必要); -
bios\com32\lib\libcom32.c32
(chain.c32を使用する場合に必要); -
bios\com32\libutil\libutil.c32
(chain.c32を使用する場合に必要); -
bios\memdisk\memdisk
(フロッピーイメージ、ハードディスク、ISOなどをロードするためのドライバー)。
ネットワークローダーは、親の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とのみ互換性のないコンピューターについても言及する必要があります。 そのようなコンピューターには、他のファイルが必要です。
-
pxelinux.0 syslinux.efi
代わりに、32ビットシステムの場合はefi64\efi\syslinux.efi
、64ビットの場合はefi64\efi\syslinux.efi
にあります。 - それぞれ
ldlinux.c32
代わりに、efi32\com32\elflink\ldlinux\ldlinux.e32
またはefi64\com32\elflink\ldlinux\ldlinux.e64
。
記事の最後の質問を検討してください:「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サーバーのブートディレクトリに配置できます。