公司有一台 HP DL360P G8 机器,最近换上了一块 PCIe 的网卡,型号是 HP NC365T,换上之后在 BIOS 里直接看不到网络启动了,因为自动部署系统依赖 PXE,因此花了点时间寻找开启此网卡 PXE 启动的方法,特此记录以防遗忘。

实际上,大多数 HP 系列的网卡默认都禁用了 PXE,需要下载 Intel BootUtil 套件来进行配置修改以启用 PXE。

下载套件

首先从 Intel 的官网获取套件:

http://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=19186

Intel 提供了 Windows 和 Linux 版本的套件,为了方便我选了 Windows 版本,通过 iLO 挂载到了系统中。

启用 PXE

进入套件所在的目录,进入对应版本(Win32 或 Winx64)的 APPS\BootUtil 目录,执行 install.bat。

通过 PowerShell,执行以下命令:

BOOTUTILW32.EXE -all -fe
BOOTUTILW32.EXE -all -up=combo -file=..\BootIMG.FLB
BOOTUTILW32.EXE -all -bootenable=pxe
BOOTUTILW32.EXE -all -wole
BOOTUTILW32.EXE -all -ste
BOOTUTILW32.EXE -all -tle
BOOTUTILW32.EXE -all -mse
BOOTUTILW32.EXE -all -swt=3

注:部分命令可能不适用你的服务器,但不用担心,全部执行一遍就OK。

因为通常我们只需要一个网卡口来进行 PXE 启动,其他的网卡口我们可以禁用以节省启动时间。

BOOTUTILW32.EXE -nic=3 -bootenable=disable
BOOTUTILW32.EXE -nic=4 -bootenable=disable
BOOTUTILW32.EXE -nic=5 -bootenable=disable

验证

现在我们来验证一下以上的操作是否生效:

BOOTUTILW32.EXE -e

Intel(R) Ethernet Flash Firmware Utility
BootUtil version 1.4.61.2
Copyright (C) 2003-2013 Intel Corporation

NIC= 1 MACAddress=001B21xxxxxx
NIC= 2 MACAddress=AC162DxxxxA4
NIC= 3 MACAddress=AC162DxxxxA5
NIC= 4 MACAddress=AC162DxxxxA6
NIC= 5 MACAddress=AC162DxxxxA7

Port Network Address Location Series  WOL Flash Firmware                Version
==== =============== ======== ======= === ============================= =======
  1   001B21xxxxxx     3:00.0 Gigabit YES UEFI,PXE Enabled              1.5.43
  2   AC162DxxxxA4     2:00.0 Gigabit N/A UEFI,PXE Enabled,iSCSI        1.5.43
  3   AC162DxxxxA5     2:00.1 Gigabit N/A UEFI,PXE,iSCSI                -------
  4   AC162DxxxxA6     2:00.2 Gigabit N/A UEFI,PXE,iSCSI                -------
  5   AC162DxxxxA7     2:00.3 Gigabit YES UEFI,PXE,iSCSI            

重启服务器,BIOS 里就可以看到网卡启动选项了,all done~