伺服器維運

PXE 啟動怎麼設定?BIOS/UEFI 開啟網路啟動與各品牌選單位置

PXE 啟動怎麼設定?在 BIOS/UEFI 裡開啟網路卡的網路引導功能(UEFI 模式叫 Network Stack 或 PXE Device,Legacy 模式是網路卡的 PXE Option ROM),選對 IPv4 或 IPv6,再把網路卡放進啟動順序;只想從網路啟動一次,開機按 F12(多數品牌)即可。三處有一處沒開,啟動選單裡就看不到網路卡。

作者 頂聯產品團隊發布於 6 分鐘閱讀

PXE 啟動需要在 BIOS/UEFI 裡開啟三處:網路卡連接埠的網路引導功能、與啟動模式匹配的 PXE 型別(UEFI 下選 IPv4 或 IPv6 PXE,Legacy 下啟用網路卡的 PXE Option ROM),以及啟動順序或一次性啟動選單裡的網路卡項。伺服器 PXE 啟動不了,絕大多數是這三處有一處沒開,或者開在了沒接線的連接埠上。下面先列檢查清單,再給各品牌的選單路徑。

PXE 啟動要開啟哪幾處

設定項 UEFI 模式 Legacy 模式 沒開啟時的表現
網路卡本身 Integrated Devices / Onboard LAN 裡該網路卡為 Enabled 同左 系統裡也看不到這塊網路卡
網路引導驅動 Network Stack 開啟,並開啟 IPv4 PXE Support 或 IPv6 PXE Support;Dell 是逐個配置 PXE Device 網路卡連接埠的 Option ROM 設為 PXE(Dell 叫 Legacy Boot Protocol,超微叫 Onboard LAN Option ROM) 啟動選單和啟動順序裡都沒有網路卡項
啟動順序 UEFI Boot Order 裡的 UEFI: PXE IPv4 ... 一類條目排在硬碟前,或用一次性啟動 Boot Sequence 或網路裝置優先順序裡的網路卡項排在硬碟前 有網路卡項,但開機直接進了硬碟上的系統
連接埠與協議 只在接裝機網的連接埠開啟,協議與裝機網一致 只在接裝機網的連接埠開啟 逐個連接埠、逐個協議等超時,很慢或從錯誤的網路拿到位址

一個容易被忽略的細節:UEFI 韌體通常在開機時才根據當前設定生成啟動項,剛開啟 PXE 的連接埠,要儲存並重啟一次,網路卡項才會出現在啟動順序裡。

先確認啟動模式:UEFI PXE 和 Legacy PXE 不是一回事

同一塊網路卡,在 UEFI 和 Legacy 兩種模式下走的是兩套完全不同的引導程式碼,BIOS 裡的開關不同,PXE 伺服器要下發的檔案也不同:

專案 UEFI 模式 Legacy 模式
BIOS 裡的開關 Network Stack、PXE Device、UEFI PXE Boot Policy 網路卡 Option ROM、CSM 裡的 Network 選項
啟動項名稱舉例 UEFI: PXE IPv4 Intel(R) Ethernet ... IBA GE Slot ...、NIC in Slot ...,因網路卡韌體而異
DHCP 請求裡的客戶端架構(選項 93) x64 UEFI 多為 7,部分韌體為 9 0
要下發的引導檔案 ipxe.efi,或簽名的 shimx64.efi 加 grubx64.efi pxelinux.0、undionly.kpxe
Secure Boot 生效,載入程式必須帶韌體信任的簽名 不適用

裝機伺服器按選項 93 區分兩類機器,下發對應的檔案;BIOS 模式和伺服器端配置對不上,就會出現“拿到了位址卻載入不了引導檔案”。新平台正在淘汰 Legacy:HPE ProLiant Gen11 已不再提供 Legacy 啟動模式,其他品牌的新平台也在收縮 Legacy 支援(以機型文件為準),新上架的機器建議統一用 UEFI PXE。

各品牌 BIOS 裡的選單位置

開機按鍵先記住這張表,具體以開機畫面的提示為準:

品牌 進 BIOS 設定 啟動選單(一次性) 直接網路啟動
Dell PowerEdge F2 F11 F12
HPE ProLiant Gen9 及以後 F9 F11 F12
聯想 ThinkSystem F1 F12 在 F12 選單中選網路卡
超微 Del F11 F12
浪潮、華為等 多數為 Del 多數為 F11 多數為 F12

Dell PowerEdge(14 代及以後,UEFI 模式)

  1. 開機按 F2,進入 System BIOS → Network Settings。
  2. 把 PXE Device1 設為 Enabled,進入 PXE Device1 Settings:Interface 選接裝機網的連接埠(例如 NIC Integrated 1 Port 1 Partition 1),Protocol 選 IPv4 或 IPv6;裝機網需要帶標籤 VLAN 時,在這裡開啟 VLAN 並填寫 VLAN ID。
  3. 最多可以配 4 個 PXE Device,用不到的保持 Disabled。
  4. 回到 System BIOS → Boot Settings → UEFI Boot Settings,在 UEFI Boot Sequence 裡調整 PXE Device 1 的位置。
  5. Back → Finish,儲存並重啟。

插在擴充套件槽上的網路卡不出現時,檢查 System BIOS → Integrated Devices → Slot Disablement,對應槽位不能是 Boot Driver Disabled。13 代及更早的機器如果在 BIOS 啟動模式下,要在 Device Settings 裡進入對應網路卡連接埠的 NIC Configuration,把 Legacy Boot Protocol 設為 PXE,再到 BIOS Boot Settings 的 Boot Sequence 裡調整順序。

HPE ProLiant(Gen9、Gen10)

  1. 開機按 F9,進入 System Utilities → System Configuration → BIOS/Platform Configuration (RBSU) → Network Options → Network Boot Options。
  2. 找到接裝機網的連接埠(Embedded LOM 1 Port 1、Embedded FlexibleLOM 或 PCIe Slot 網路卡,名稱隨機型而異),設為 Network Boot。
  3. 在同一個 Network Boot Options 頁裡找到 UEFI PXE Boot Policy,按裝機網選擇只用 IPv4、只用 IPv6,或兩者的先後順序(可選項隨代際和韌體版本不同)。
  4. 按 F10 儲存並重啟一次,新的網路啟動項生成後,到 Boot Options 下的 UEFI Boot Order 調整順序。

聯想 ThinkSystem

  1. 開機按 F1,選擇 UEFI Setup → System Settings → Network。
  2. 在 Network Stack Settings 裡開啟 Network Stack,按需開啟 IPv4 PXE Support 或 IPv6 PXE Support。
  3. 部分機型在 Network Boot Settings 裡還能按連接埠設定網路引導,確認接裝機網的連接埠沒有被關閉。
  4. 在 Boot Manager → Change Boot Order 裡調整網路卡項的順序,儲存退出。

選單名稱隨機型和韌體版本略有差異,以聯想對應機型的 UEFI 設定說明為準。

超微、浪潮等 AMI BIOS 機型

  1. 開機按 Del,進入 Advanced → Network Stack Configuration:Network Stack 設為 Enabled,Ipv4 PXE Support 設為 Enabled,不用 IPv6 就把 Ipv6 PXE Support 關掉。同一頁一般還有 PXE boot wait time 和 Media detect count 兩項,網口鏈路起得慢時調大後者。
  2. 需要 Legacy PXE 時,超微還要在 Advanced → PCIe/PCI/PnP Configuration 裡把 Onboard LAN Option ROM Type 設為 Legacy、對應連接埠的 Onboard LAN Option ROM 設為 PXE;其他 AMI 機型看 CSM Configuration 裡 Network 一項是載入 UEFI 還是 Legacy 驅動。
  3. 在 Boot 頁把 Boot mode select 設為 UEFI(或按需選 Legacy、Dual),在啟動項優先順序裡把 UEFI Network 一類條目調到需要的位置。
  4. Save & Exit。

華為、超聚變機型的 BIOS 選單結構與通用 AMI 介面不同,PXE 開關在 Advanced 下的網路卡或 PXE 配置項裡按連接埠設定,以機型的 BIOS 引數說明為準。

只從網路啟動一次:F12、啟動選單與 BMC

裝機通常只需要從網路啟動一次,裝完回到硬碟。所以更穩妥的做法是:BIOS 的永久啟動順序保持硬碟在前,需要裝機時再臨時指定網路啟動。臨時指定有三種辦法:

  • 人在現場或在遠端控制檯裡:開機時按 F12 直接網路啟動(Dell、HPE、超微),或按 F11、F12 進啟動選單選網路卡項。前提仍然是上一節的網路引導已經開啟,否則選單裡沒有網路卡可選。
  • 透過 BMC:在 BMC 網頁的啟動設定裡選“下次從 PXE 啟動”,或執行 ipmitool chassis bootdev pxe options=efiboot,然後重啟,只對下一次開機生效。
  • 在還能登入的 Linux 裡:efibootmgr 列出啟動項編號,再用 efibootmgr --bootnext <編號> 指定下一次從網路卡啟動。

如果反過來把網路卡永久排在硬碟前面,每次重啟都會先去請求 PXE;裝機伺服器上一旦有任務沒清理,機器就可能被重灌。

批次設定:用 racadm 或 Redfish 改 BIOS 屬性

幾十台同型號機器逐台進 BIOS 太慢,可以透過 BMC 修改 BIOS 屬性,下次重啟時生效。Dell 的屬性名比較固定:

# 檢視當前網路引導相關設定
racadm get BIOS.NetworkSettings
# 啟用 PXE Device1,繫結到板載 1 號口,使用 IPv4
racadm set BIOS.NetworkSettings.PxeDev1EnDis Enabled
racadm set BIOS.PxeDev1Settings.PxeDev1Interface NIC.Integrated.1-1-1
racadm set BIOS.PxeDev1Settings.PxeDev1Protocol IPv4
# 建立 BIOS 配置任務,重啟後寫入
racadm jobqueue create BIOS.Setup.1-1
racadm serveraction powercycle

其他品牌的 BIOS 屬性名各不相同,先透過 Redfish 把屬性列出來,找到與 PXE、Network Stack 相關的名稱:

# Dell 的系統 ID 為 System.Embedded.1,HPE 等多為 1,先 GET /redfish/v1/Systems/ 確認
curl -sk -u admin:'密碼' https://10.20.1.11/redfish/v1/Systems/System.Embedded.1/Bios \
  | python3 -m json.tool | grep -i -E 'pxe|network'

修改時向同一資源下的 Bios/Settings 傳送 PATCH,屬性寫在 Attributes 裡,重啟後生效;是否需要額外建立任務、屬性取值的寫法,以各廠商的 Redfish 文件為準。改之前先在一台機器上驗證,確認啟動選單裡出現了預期的網路卡項,再推到整批。

啟動選單裡沒有網路卡,或者網路卡一閃而過

現象 常見原因 處理
啟動選單和啟動順序裡都沒有網路卡項 網路引導沒開;開在別的連接埠上;剛改完還沒重啟過 按前文開啟對應連接埠,儲存後重啟一次再看
只看到 Legacy 網路卡項,或只看到 UEFI 網路卡項 啟動模式和開啟的開關不匹配 UEFI 模式開 Network Stack,Legacy 模式開網路卡 Option ROM
擴充套件槽網路卡始終不出現 槽位的引導驅動被禁用,或網路卡自身的引導功能關閉 檢查槽位設定;Legacy 模式下 Intel、Broadcom 網路卡可在自檢時按 Ctrl+S 進入引導代理設定,UEFI 模式下在 BIOS 的 Device Settings 裡
網路卡項出現,但很快提示沒有收到 DHCP 應答並跳過 鏈路剛起來,交換器連接埠還在生成樹收斂,傳統 STP 要約 30 秒才開始轉發 把接伺服器的連接埠設為邊緣連接埠:華為 stp edged-port enable,思科 spanning-tree portfast;鏈路起得慢的機型調大 Media detect count
伺服器兩個口在交換器上做了 LACP 聚合 PXE 階段網路卡不會協商 LACP,聚合口不轉發 交換器側開啟 LACP 回退(各廠商叫法不同),或裝機時臨時改為單口
網線插在 2 號口,PXE 開在 1 號口 連接埠對不上 核對 PXE 設定裡繫結的連接埠,對照交換器 MAC 表確認線接在哪
裝機網要求帶 VLAN 標籤 韌體發出的 DHCP 請求預設不帶標籤 交換器連接埠設為裝機 VLAN 的 access 口,或在 BIOS 的 PXE 設定裡配置 VLAN(Dell 等支援)
已下載引導檔案,隨後報安全違規或拒絕存取 Secure Boot 拒絕未簽名的載入程式 改用發行版提供的簽名 shim 加 GRUB,或在裝機期間關閉 Secure Boot

拿到了位址之後出現 PXE-E 開頭的報錯,問題通常已經不在 BIOS,而在 DHCP、TFTP 和引導檔案的配置上,要到裝機伺服器一側排查。

在管理系統裡怎麼落地

BIOS 裡的網路引導是一次性的上架工作,之後每次裝機只需要“下次從 PXE 啟動並重啟”。在 Toplink DCIM 裡,這一步放在 IPMI 遠端管理:啟動項可以指定為 PXE、線上 ISO 或硬碟,只對下一次開機生效;整批機器要重灌時,統一設為 PXE 啟動後交給任務佇列執行,後台能看到每台的進度;VNC 控制檯走 BMC 通道,能看到網路卡獲取位址、載入引導檔案的全過程,卡在哪一步一眼可知。裝機網和業務網分在不同 VLAN 時,伺服器接入連接埠的 VLAN 可以在 交換器管理裡直接修改,不必逐台登入交換器。

常見問題

PXE 啟動一直停在 Start PXE over IPv6 怎麼辦?

韌體會按設定的順序先後嘗試 IPv4 和 IPv6,沒有部署的那個協議要等超時才輪到下一個,看起來像卡住。裝機網只用 IPv4 時,把 PXE 協議改成 IPv4,或者關掉 IPv6 PXE Support。

網線插在 BMC 管理口上能 PXE 啟動嗎?

不能。PXE 由主機的業務網路卡發起,BMC 專用管理口只屬於 BMC,主機無法從它啟動。共享口模式下 BMC 借用的那塊板載網路卡本身可以 PXE,但主機和 BMC 在這個口上用的是兩個不同的 MAC 和位址。

PXE、iPXE 和 HTTP Boot 是什麼關係?

PXE 是網路卡韌體裡的標準流程,用 DHCP 拿位址、用 TFTP 下載引導檔案;iPXE 是開源的網路載入程式,常由 PXE 先載入,再用 HTTP 等協議拉取核心和映象;UEFI HTTP Boot 是 UEFI 規範裡直接從 HTTP 位址啟動的方式,BIOS 中通常有單獨的 HTTP Support 開關。

怎麼確認 PXE 請求是從哪個網口發出的?

看裝機網 DHCP 伺服器的日誌,裡面記錄了發請求的客戶端 MAC;再到 BMC 網頁的網路卡清單或 BIOS 的網路卡資訊裡對照這個 MAC 屬於哪個連接埠。日誌裡一條請求都沒有,說明請求沒有到達裝機網,先查線接在哪個口、交換器連接埠在哪個 VLAN。

想看看在你的機房裡怎麼用?

從一次產品示範開始,梳理你的業務鏈路。

查看價格
服務熱線 400-112-2951

讓我們聊聊你的 IDC 業務

掃碼新增企業微信,預約產品示範或申請試用。

Toplink 企業微信二維碼

長按儲存或使用企業微信 / 微信掃描

也可致電
400-112-2951
Telegram
@TopLink88