Boot

PXE 啟動錯誤:PXE-E18:伺服器響應超時

  • February 18, 2021

我正在嘗試從網路進行瘦客戶端啟動。我遵循了這個教程

在我的 Windows 筆記型電腦上,我有 2 個乙太網埠。

  1. USB-C 對接乙太網埠(用於訪問網際網路)
  2. 原始乙太網埠(直接連接到瘦客戶端)

在我的筆記型電腦上,有一個 Kubuntu VirtualBox,配置為執行 2 個網路介面的網路引導伺服器。

  1. NAT(用於訪問網際網路)
  2. 與原始乙太網埠橋接

/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

引用自:https://unix.stackexchange.com/questions/635146