使用UEFI引导不播放UDP数据包

时间:2015-02-02 06:06:10

标签: bios uefi

您好我是BIOS和UEFI固件的新手。我正在使用PXE下载UEFI和BIOS的启动映像。  我发现当我使用BIOS进行网络启动时,它会广播UDP数据包,我的PXE服务器可以处理它。  但是如果我使用UEFI进行网络启动,则使用相同的配置,目标系统不会广播UDP数据包。

我在VMware ESX 5.5上创建了一个目标系统(裸机系统)。

我正在使用wireshark进行调试。我可以看到,如果基于EFI的启动目标没有获取IP地址。即使我的DHCP服务器广播DHCPOFFER数据包,目标也会连续发送DHCPDISCOVER数据包。我的意思是在某个时间点目标必须发送DHCPREQUEST数据包。但是,如果我通过BIOS启动,同样的工作正常                                                                                                 以上问题得到解决如果我在dhcp.conf中添加bootfile名称和nextaddress(DHCP服务器在Linux中)。但根据我的要求,我不能硬编码nextAddress和bootfile名称,它将在PXE服务器中添加。

编辑2:所以在我的情况下,我在PXE端添加了所有必需的参数,如下一个服务器地址,启动文件名等。 但是,如果我这样做,我没有从客户端(基于UEFI的客户端)回复(DHCPREQUEST)。但是,如果在DHCP服务器上配置相同的参数,则效果很好。

如果BIOS在同一环境中,我已经在PXE服务器中配置了所有参数,我正在从客户端收到回复(DHCPREQUEST)。

只需一个指针我们需要在UEFI客户端启用某些东西来监听PXE参数(选项)。在我的情况下,我将“EFI NETWORK”作为主要启动。

请帮我解决这个问题。感谢。

1 个答案:

答案 0 :(得分:0)

在两种情况下,当目标开始网络启动时,它将首先广播DHCP DISCOVERY数据包。 如果您在网络引导基于UEFI的目标时没有看到它们,那么您可能不是真正的网络引导或者您有一些防火墙问题。

编辑1。 您有DHCP和PXE服务器都提供启动信息? 这不好。你可以有:

  1. 提供PXE参数的DHCP服务器
  2. 常规DHCP服务器加上仅提供PXE参数的proxyDHCP。 阅读代理服务器执行的操作here
  3. 如果efi无法获得IP,那是因为没有收到IP“加”PXE参数。