PXE Boot – Architecture Type

Loading

什麼是 PXE!!
PXE (Preboot eXecution Environment) 是透過網路來啟動作業系統或是安裝作業系統,在網卡上有一塊 ROM (firmware) 裡面存放了一些基本的網路協定如:Internet Protocol (IP), User Datagram Protocol (UDP), Dynamic Host Configuration Protocol (DHCP) 以及 Trivial File Transfer Protocol (TFTP) 透過這些協定,讓 PXE 可以進行網路資料的存取.

第一步 PXE Client 需要從 DHCP 得到 IP 與開機檔案,ISC DHCP (Ipv4 , IPv6 ) 會依據不同平台提供不同檔案給 PXE Client ,下面是有支援的 Architecture Type ,詳細請參考 – https://www.ietf.org/assignments/dhcpv6-parameters/dhcpv6-parameters.txt .

  • 0x00:0x00 – x86 BIOS
    1. Legacy PXE Boot – https://benjr.tw/83
    2. Legacy / EFI PXE Boot IPv4 & v6 – https://benjr.tw/102397
    3. Linux PXEBoot WinPE (WinXP) – https://benjr.tw/275
    4. Linux PXEBoot WinPE (windows ADK) – https://benjr.tw/917
    5. Windows WinPE RIS / WDS – https://benjr.tw/279 , WDS – https://benjr.tw/100848
  • 0x00:0x01 – NEC/PC98
  • 0x00:0x02 – Itanium
  • 0x00:0x03 – DEC Alpha
  • 0x00:0x04 – Arc x86
  • 0x00:0x05 – Intel Lean Client
  • 0x00:0x06 – x86 UEFI
  • 0x00:0x07 – x64 UEFI
    Extensible Firmware Interface (EFI) 的功能就類似傳統 BIOS ,他是 OS 與硬體之間溝通介面. 不過相較於傳統的 BIOS EFI 他的架構更模組化,功能更強大.EFI 的架構是由 Intel 提出的, 目前是交由 Unified EFI Forum 來管理.也就是我們現在所稱的 Unified Extensible Firmware Interface (UEFI),建議先設定好你的 Legacy PXE 環境再來升級到 uEFI .
    EFI OS
    IA64 的 RHEL 是有支援 EFI PXE Boot 的功能,但是我們常用的 RHEL 3 / 4 / 5 – x86 / x64 的系統並不支援 EFI boot ,不過新版的 RHEL6 和 SLES11 SP1 x64 (目前都看到的只有 x64 的系統有支援 EFI, i386/x86 的光碟找不到支援 EFI 開機的檔案) 都將支援 EFI 開機.

    rhel6_efi

    • RHEL6
      要怎麼判斷 RHEL 作業系統是否支援 EFI Boot 的方式最直接的方式是直接看光碟中是否包含 EFI Boot image ,RHEL6 的光碟中就有一個資料夾為 /EFI/BOOT 這就是支援了 EFI Boot 的証明.
    • SLES11
      要怎麼判斷 SLES 作業系統是否支援 EFI Boot 的方式最直接的方式是直接看光碟中是否包含 EFI Boot image ,SLES11 的光碟中就有一個資料夾為 /boot/x86_64 裡面有一個檔案 efi 這就是支援了 EFI Boot 的証明.

    關於 uEFI PXE Boot 有一個很大的關鍵是使用對的 BOOTX64.efi (PE32+ executable EFI application) 與設定檔.

    1. RHEL6 EFI PXE Boot – https://benjr.tw/16115
    2. SLES11 EFI PXE Boot – https://benjr.tw/16182
    3. IPv6 UEFI PXE boot – https://benjr.tw/94956
  • 0x00:0x08 – EFI Xscale
  • 0x00:0x09 – EBC
  • 0x00:0x0a – ARM 32-bit UEFI
  • 0x00:0x0b – ARM 64-bit UEFI
    1. ARM UEFI PXE Boot – https://benjr.tw/96963
  • 0x00:0x0c – PowerPC Open Firmware
  • 0x00:0x0d – PowerPC ePAPR
  • 0x00:0x0e – POWER OPAL v3
  • 0x00:0x0f – x86 uefi boot from http
  • 0x00:0x10 – x64 uefi boot from http
    1. EDKII HTTP Boot – https://benjr.tw/97836
      傳統的網卡 ROM 裡面存放了一些基本的網路協定如: Internet Protocol (IP), User Datagram Protocol (UDP), Dynamic Host Configuration Protocol (DHCP) 以及 Trivial File Transfer Protocol (TFTP) , EDK II 有支援從 HTTP Boot 開機的選項,同時支援 IPv4 與 IPv6 的環境.
  • 0x00:0x11 – ebc boot from http
  • 0x00:0x12 – arm uefi 32 boot from http
  • 0x00:0x13 – arm uefi 64 boot from http
  • 0x00:0x14 – pc/at bios boot from http
  • 0x00:0x15 – arm 32 uboot
  • 0x00:0x16 – arm 64 uboot
  • 0x00:0x17 – arm uboot 32 boot from http
  • 0x00:0x18 – arm uboot 64 boot from http
  • 0x00:0x19 – RISC-V 32-bit UEFI
  • 0x00:0x1a – RISC-V 32-bit UEFI boot from http
  • 0x00:0x1b – RISC-V 64-bit UEFI
  • 0x00:0x1c – RISC-V 64-bit UEFI boot from http
  • 0x00:0x1d – RISC-V 128-bit UEFI
  • 0x00:0x1e – RISC-V 128-bit UEFI boot from http
  • 0x00:0x1f – s390 Basic
  • 0x00:0x20 – s390 Extended

ISC DHCP 支援這麼多種 Architecture Type 是否可以整合在同一台 PXE 環境,只需透過 if else 的判斷句來決定是哪一種系統,請參考 EFI + Legacy PXE Boot 設定 – https://benjr.tw/16194

PXE 設定蠻麻煩的,這時候可以透過 Cobbler 軟體來協助完成 https://benjr.tw/97916

沒有解決問題,試試搜尋本站其他內容

3 thoughts on “PXE Boot – Architecture Type

  1. 自動引用通知: Ubuntu + DHCP Server | Benjr.tw
  2. windows 2008 sp2 64bit/R2 也都支援 uEFI,Windows 的 WDS 也有支援 uEFI Boot.

    支援列表中有 x64 的 Windows Server 2008 and Windows Vista Service Pack 1.

    http://en.wikipedia.org/wiki/Extensible_Firmware_Interface
    Microsoft introduced UEFI support for x64 Windows operating systems with Windows Server 2008 and Windows Vista Service Pack 1. Microsoft does not offer support for 32-bit UEFI since vendors did not have any interest in producing native 32-bit UEFI firmware because of the mainstream status of 64-bit computing.

  3. 一開始 RHEL x86 / x64 的系統並不支援 uEFI boot ,一直到目前的 RHEL5 都還是一樣不支援,不過新版的 RHEL6 和 SLES11 SP1 x86 / x64 都將支援 uEFI 開機,其實要看你的作業系統是否支援 uEFI Boot 的方式最直接的方式是直接看光碟中是否包含 uEFI Boot image 比如 RHEL6 的光碟中就有一個資料夾為 /EFI/BOOT 這就是支援了 uEFI Boot 的証明.

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料