我正在尝试使用代理 DHCP 服务器通过 EFI PXE 启动 GRUB2...此配置运行良好,它只是替换了 DHCP 服务器:
interface=enp3s0
dhcp-range=192.168.1.10,192.168.1.90,255.255.255.0,12h
dhcp-option=option:router,192.168.1.1
pxe-prompt="Going to network boot", 4
enable-tftp
tftp-root=/var/ftpd
dhcp-boot=grubnetx64.efi
客户端启动正常。但这不是我想要的。我希望 IP 分配仍然由路由器 DHCP 服务器处理。所以我将其改为:
interface=enp3s0
dhcp-range=192.168.1.1,proxy
enable-tftp
tftp-root=/var/ftpd
pxe-prompt="Going to network boot", 4
pxe-service=x86-64_EFI,"Network boot",grubnetx64.efi
dhcp-boot=grubnetx64.efi
Intel UNDI(或无论这个东西叫什么)和 iPXE 都可以启动 GRUB2,但它只显示“欢迎使用 GRUB!”横幅,之后就冻结了,所有网络活动都停止了。过了很长时间,我终于进入了 grub shell(不是紧急 shell),没有任何错误消息。配置根本没有加载。
dhcp
有趣的是,iPXE 在运行或时不会显示任何 IP 地址ifstat
,就好像它没有获得 IP 地址一样,但它能够自动grubnetx64.efi
从服务器上获取文件。
Wireshark 显示客户端已完全下载了grubnetx64.efi
文件,但随后所有通信都停止,包括 DHCP。
这是启动过程中的网络转储,直到启动文件开始下载为止。
No. Time Source Destination Protocol Length Info
19 25.842147691 0.0.0.0 255.255.255.255 DHCP 389 DHCP Discover - Transaction ID 0x2ac0b917
20 25.842958215 192.168.1.124 255.255.255.255 DHCP 342 DHCP Offer - Transaction ID 0x2ac0b917
21 25.844230209 192.168.1.1 255.255.255.255 DHCP 342 DHCP Offer - Transaction ID 0x2ac0b917
24 29.480009427 0.0.0.0 255.255.255.255 DHCP 401 DHCP Request - Transaction ID 0x2ac0b917
25 29.483931744 192.168.1.1 255.255.255.255 DHCP 342 DHCP ACK - Transaction ID 0x2ac0b917
28 29.484919255 192.168.1.137 192.168.1.124 DHCP 389 proxyDHCP Request - Transaction ID 0xfe4617c6
29 29.485937159 192.168.1.124 192.168.1.137 DHCP 342 proxyDHCP ACK - Transaction ID 0xfe4617c6
33 30.485321160 192.168.1.137 192.168.1.124 TFTP 86 Read Request, File: grubnetx64.efi, Transfer type: octet, tsize=0, blksize=1468
34 30.486167149 192.168.1.124 192.168.1.137 TFTP 71 Option Acknowledgement, blksize=1468, tsize=3864000
35 30.486335275 192.168.1.137 192.168.1.124 TFTP 72 Error Code, Code: Option negotiation failed, Message: User aborted the transfer
36 30.511880616 192.168.1.137 192.168.1.124 TFTP 78 Read Request, File: grubnetx64.efi, Transfer type: octet, blksize=1468
37 30.512618251 192.168.1.124 192.168.1.137 TFTP 57 Option Acknowledgement, blksize=1468
38 30.512763523 192.168.1.137 192.168.1.124 TFTP 60 Acknowledgement, Block: 0
39 30.513057030 192.168.1.124 192.168.1.137 TFTP 1514 Data Packet, Block: 1
40 30.513471667 192.168.1.137 192.168.1.124 TFTP 60 Acknowledgement, Block: 1
41 30.513903970 192.168.1.124 192.168.1.137 TFTP 1514 Data Packet, Block: 2
42 30.514401757 192.168.1.137 192.168.1.124 TFTP 60 Acknowledgement, Block: 2
你知道为什么会发生这种情况吗?我完全困惑了。而且我对 DHCP 和 PXE 的内部原理还不太了解。
提前感谢
Tuxifan