PXE 啟動錯誤:PXE-E18:伺服器響應超時
我正在嘗試從網路進行瘦客戶端啟動。我遵循了這個教程。
在我的 Windows 筆記型電腦上,我有 2 個乙太網埠。
- USB-C 對接乙太網埠(用於訪問網際網路)
- 原始乙太網埠(直接連接到瘦客戶端)
在我的筆記型電腦上,有一個 Kubuntu VirtualBox,配置為執行 2 個網路介面的網路引導伺服器。
- NAT(用於訪問網際網路)
- 與原始乙太網埠橋接
在
/etc/dnsmasq.conf
我添加了這一行dhcp-host=<<mac-addressOfOriginalEthernetPort>>,ignore
,以便 DHCP 伺服器忽略 Windows 嘗試通過 vm 而不是 USB-C 乙太網埠訪問網際網路。瘦客戶端上網路引導選項的名稱:
UEFI: IP4 Intel(R) I210 Gigabit Network Connection
當瘦客戶端啟動它時,螢幕上的文本是:
>>Checking Media Presence...... >>Media Present...... >>Start PXE over IPv4. Press ESC key to abort PXE boot. Station IP address is 192.168.50.178 Server IP address 192.168.50.1 NBP filename is pxelinux.0 NBP filesize is 0 Bytes PXE-E18: Server response timeout.
然後瘦客戶端啟動它的下一個啟動選項並且不從網路啟動。任何建議如何解決這個問題?
文件大小超過 0 字節:
@pxe-boot-kubuntu-vm:/netboot/tftp$ ls -la total 404 drwxrwxrwx 4 root root 4096 Feb 18 10:08 . drwxrwxrwx 4 root root 4096 Feb 17 17:07 .. -rwxrwxrwx 1 root root 120628 Feb 17 17:22 ldlinux.c32 -rwxrwxrwx 1 root root 175792 Feb 17 17:22 libcom32.c32 -rwxrwxrwx 1 root root 24356 Feb 17 17:22 libutil.c32 -rwxrwxrwx 1 root root 42694 Feb 17 17:22 pxelinux.0 drwxrwxrwx 2 root root 4096 Feb 18 10:11 pxelinux.cfg drwxrwxrwx 2 root root 4096 Feb 18 10:10 ubuntu1804 -rwxrwxrwx 1 root root 28212 Feb 17 17:22 vesamenu.c32
我嘗試了什麼:
- 禁用 Windows 防火牆
- 在 Legacy 和 UEFI 之間切換
BIOS >> Advanced >> SCM Configuration >> Network
- 從 HP 筆記型電腦而不是瘦客戶端啟動網路:
Intel(R) Boot Agent CL v0.1.06 Copyright (C) 1997-2013. Intel Corporation CLIENT MAC ADDR: xx xx xx xx xx xx GUID: .... CLIENT IP: 192.168.50.220 MASK: 255.255.255.0 DHCP IP: 192.168.50.1 GATEWAY IP: 192.168.50.1 Auto-select: Install OS via PXE PXE-E78: Could not locate boot server PXE-M0F: Exiting Intel Boot Agent.
某些 PXE 引導客戶端(尤其是早期版本的 UEFI PXE 引導客戶端)可能要求辨識引導文件和從中載入文件的 TFTP 伺服器的 DHCP 應答,還必須包含指示引導文件大小的選項(DHCP 選項#13:引導文件大小為 16 位無符號值,以 512 字節塊為單位,部分塊向上舍入到下一個更高的整數值)。
由於您
pxelinux.0
的大小為 42694 字節(= 83.3 塊),您可以嘗試將此行添加到您的dnsmasq.conf
:dhcp-option=option:boot-file-size,84
如果缺少該選項,PXE 引導韌體可能會假定引導文件大小為 0 並且無法傳輸它(可能是因為 size 選項用於在傳輸之前分配合適大小的記憶體緩衝區?)。
另請注意,在 UEFI 模式下啟動瘦客戶端時,啟動文件應該是
.EFI
適合瘦客戶端硬體架構的二進製文件。pxelinux.0
是基於 BIOS 的引導文件的典型名稱;相應的 UEFI 文件很可能是 nimedpxelinux.efi
或類似文件。一般來說,我在使用iPXE而不是 PXELINUX 的 UEFI 網路引導方面取得了很好的效果。在我看來,iPXE 往往比 PXELINUX 更快地獲得 UEFI PXE 韌體錯誤的解決方法。您可以嘗試使用ipxe.efi而不是
pxelinux.0
; 如果文件大小似乎有問題,您可以嘗試最小化版本snponly.efi。