私は、PXE-BootingによるプロビジョニングをRedhat Satellite ServerからWindows展開サーバーと統合しようとしています。
これを行うには、(UEFI)SysLinuxブートローダからWDSに、Linuxカーネルの代わりに別のEFIブートローダー(GRUB2/grubx64.efi)をロードしたいです。 Provisioned Systemがハードディスクに起動ローダをインストールしていないため、これはTFTPを介してロードされます。
それは可能ですか?
バックグラウンド:
理想的な衛星専用設定では、Satellite ServerはDHCPを制御して独自の次のサーバーとファイルオプションを設定するのが好きです。その後、TFTPによってPXEブートローダの1つをロードします。これはカーネルを起動します。衛星サーバーは、DHCPサーバーを操作して正しいブートローダーを設定して(私たちの場合は常に同じ、grub2/grubx64.efi)、そしてGrubが使用する正しいカーネル引数を設定します。
混在環境があり、DHCPは常にsyslinuxブートローダを指します。 syslinuxメニューに何かを追加できますが、syslinuxに代わることはできません。
Naiveソリューションはsyslinuxでカーネルコマンドラインを複製することですが、カーネルコマンドラインがホストごとに異なるため、これは機能しません(MACアドレスが含まれます)。
したがって、syslinuxが代わりにgrub2/grubx64.efiローダーをロードする方法が必要です。これは、プロセスの残りの部分を開始します。
non-UEFI XXX -> UEFI YYY
_
これは有効なチェーンロードパスではありません。
レガシーモードで起動されていない非UEFI XXXから、それは、そのコンポーネントが不足しているUEFI環境がRegacyを起動しているため、UEFI YYYコンポーネントにチェーンロードできないことがあります。
編集1:
PCSは今日2つの異なる起動前環境を起動することができます。レガシー(古典的な古いBIOS環境)または新しいUEFI。 PCがBIOS /ファームウェア環境を起動して、必要なものを選択して、PCが起動する環境を設定できます。
PCもネットから起動するように設定されている場合、DORAシーケンスのDHCP検出パケットを使用して、起動前の環境が起動されているPXEサーバーに指示し、DHCPサーバー(PXEが有効になっている)が右側のNBPの提供に応答します。 (ネットワークブートプログラム)以前に宣言された環境に応じてBIOSまたはUEFIのいずれかでなければなりません。 PXEチェーンロードプロセスは多くの場合、ブートマネージャのロードを含み、その後、ブートローダーの両方のコンポーネントはレガシーかUEFIのいずれかでなければなりませんが、それらを混在させることはできません。