UEFI 模式 PXE 引导不起作用

UEFI 模式 PXE 引导不起作用

我正在尝试使用 PXE 启动为我们部门自动部署 Linux。我已经能够成功将其设置为传统启动,但 UEFI 似乎仍然无法实现。

我基本上都是按照说明做的这里。Legacy 工作正常,但 UEFI 似乎甚至没有联系 TFTP 服务器来加载 shim.efi 文件(tftpd 日志中没有显示任何内容)。

以下是 dhcpd.conf 的相关部分

option architecture-type code 93 = unsigned integer 16;
option space pxelinux;
option pxelinux.magic code 208 = string;
option pxelinux.configfile code 209 = text;
option pxelinux.pathprefix code 210 = text;
option pxelinux.reboottime code 211 = unsigned integer 32;
option architecture-type code 93 = unsigned integer 16;

subnet 10.10.8.0 netmask 255.255.255.0 {
  option routers 10.10.8.1;
  option broadcast-address 10.10.8.255;
  option subnet-mask 255.255.255.0;
  range 10.10.8.100 10.10.8.200;
  class "pxeclients" {
      match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
      next-server 10.10.8.5; # tinkerbell.eecs.umich.edu

      if option architecture-type = 00:07 {
        filename "uefi/shim.efi";
      } else {
        filename "pxe/pxelinux.0";
      }
  }
}

DHCP 服务器运行的是 Ubuntu 14.04 isc-dhcp-server,而 TFTP 服务器(托管所有 PXE 相关文件)运行的是 RHEL 7。

答案1

architecture-type您的 dhcpd.conf 中仅部分解决了您的问题

请考虑所有可能的 PCarchitecture-type

0 -> BIOS
6 -> EFI32
7 -> EFI64
9 -> EFI64

在您的情况下,如果您的客户端是 EFI 64,使用“architecture-type=9”,则 DHCP 服务器将错误地提供将 pxelinux.0 加载为 NBP。

编辑:如果您仍然遇到问题,请运行 Wireshark 流量捕获,您可以在其中查看数据包级别的实际情况。

相关内容