桌面云项目的终端侧故障,常遇到的三类提示是:PXE-E53: No boot filename received、CLIENT MAC ... TIMEOUT、No bootable device。在东创伟业做过的桌面云与瘦终端项目里,这三类提示分别对应不同的故障层面,读懂提示能省掉一半排查时间。
一、先读懂提示:三种报错的分向
启动提示与对应方向:
No boot filename received:没拿到引导文件名,方向是 DHCP Option 或服务端配置;
CLIENT MAC ... TIMEOUT:拿不到地址或响应慢,方向是 DHCP 服务、中继、二层链路;
TFTP 卡住 / 传输中断:引导文件传输失败,方向是 TFTP 服务、防火墙、MTU、网络质量;
No bootable device:启动顺序里没选网卡,方向是终端 BIOS/UEFI 启动项;
进了系统但不是标准桌面:引导到了本地硬盘,方向是启动顺序或镜像未下发成功。
二、第一步:终端侧基础核对
- 网卡 PXE 是否启用:部分机器默认关闭网卡的 PXE/网络启动模块,需要在 BIOS/UEFI 里打开;
- 启动模式:UEFI 与 Legacy(BIOS)两种模式需要的引导文件不同,终端设置必须与服务端提供的引导文件匹配;
- 启动顺序:网络启动要在本地硬盘之前;
- 安全启动(Secure Boot):开启时可能拒绝加载未签名的引导文件,需要在方案中明确处理方式;
- 网线端口:接的是不是规划中的网口(有些机器有双网口)。
判据:终端能进入 PXE 流程并出现 CLIENT MAC 与 DHCP 字样,说明网卡与启动项没问题,方向转向服务端与网络。
三、第二步:DHCP 与 Option 配置(故障高发区)
PXE 依赖 DHCP 下发两个关键参数:
Option 含义:
Option 66(next-server):TFTP 服务器地址;
Option 67(bootfile-name):引导文件名。
Linux(ISC DHCP)配置示例:
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.100 192.168.10.200;
option routers 192.168.10.1;
next-server 192.168.10.5;
filename "pxelinux.0";
}
UEFI 场景的 filename 需指向对应的 EFI 引导文件(如 bootx64.efi、grubx64.efi),不能沿用 Legacy 的文件名,这是混合机型环境下高发的配置错误。
跨 VLAN 时还要配中继:
华为:dhcp select relay、dhcp relay server-ip;
华三/思科体系:ip helper-address 。
核对要点:中继指向的地址必须是 DHCP 服务器地址;若 PXE 服务端与 DHCP 不是同一台,Option 66 要指向 TFTP 服务端而不是 DHCP 服务端。
四、第三步:抓包看四步握手
在服务端或镜像端口抓包,看 DHCP 流程走到哪一步:
tcpdump -i eth0 -nn port 67 or port 68 or port 69
抓包判读:
只有 Discover,没有 Offer:请求没到服务器(VLAN/中继)或服务未响应;
有 Offer,没有 Request/ACK:多个 DHCP 响应或 Option 不匹配;
有 ACK,但无 TFTP 请求:Option 66/67 未下发或地址不可达;
TFTP 有请求但无响应:TFTP 服务未启动或被防火墙拦截;
TFTP 传输中断:网络质量、MTU 或文件权限问题。
抓包是这类问题的决定性证据,建议作为标准动作保留。
五、第四步:TFTP 与传输层
- 服务状态:确认 TFTP 服务在运行并监听 UDP 69;
- 目录与权限:引导文件所在目录路径与权限是否正确(服务端日志通常能看到找不到文件的记录);
- 防火墙:UDP 69 及后续传输端口是否被拦截;
- MTU 与分片:跨 VLAN 经过隧道或 PPPoE 时,MTU 偏小会导致传输中断,可核对出口 MTU 与 MSS;
- 并发:批量开机(如早晨集中开机)时 TFTP 并发能力不足会造成排队超时,需要分批开机或提升服务端规格。
六、第五步:镜像与驱动
终端拿到引导文件并进入镜像加载阶段后出问题,方向在镜像:
- 网卡驱动:新机型加入时镜像缺驱动,表现为进入引导后卡住或认不到网络;
- 存储控制器模式:AHCI/RAID 模式与镜像中的驱动不匹配;
- 镜像版本:模板更新后未同步到分发点,终端拿到的是旧镜像;
- 本地缓存:终端本地缓存损坏时可在维护模式下清理后重试;
- 分批策略:大规模下发建议分批,避免同时抢占服务端与网络带宽。
七、处理与验证
原因与处理、验证:
未启用 PXE/启动项:BIOS/UEFI 打开网络启动并调顺序,验证终端进入 PXE 流程;
UEFI/Legacy 不匹配:按模式提供对应引导文件,验证同型号终端可正常引导;
Option 66/67 缺失:配置 next-server 与 filename,验证抓包可见 TFTP 请求;
中继未配:配置 DHCP 中继,验证跨 VLAN 终端能拿到 Offer;
TFTP 拦截:放通 UDP 69 与传输端口,验证引导文件可正常下载;
镜像缺驱动:注入对应机型驱动并重新制作模板,验证新机型批量启动成功。
回退:镜像与模板变更前保留上一版本;终端侧保留可回退的本地启动项,异常时可临时切回本地系统保障业务。
八、避坑小结
- UEFI 与 Legacy 的引导文件不同,混合机型要分别处理;
- Option 66 指向 TFTP 服务器,不是 DHCP 服务器;
- 集中开机是压力测试,批量部署要按批执行;
- 新机型先单台验证再推广,驱动问题在小批量时暴露成本更低;
- 抓包比重启有效,重启会掩盖现场证据。
速查:PXE 启动故障
提示/现象与优先排查:
No boot filename received:Option 67、UEFI/Legacy 引导文件;
CLIENT MAC TIMEOUT:DHCP 服务、VLAN、中继;
TFTP 卡住:UDP 69 放行、目录权限、MTU;
No bootable device:BIOS 启动项与 PXE 开关;
进了旧系统:启动顺序、镜像版本;
集中开机失败:TFTP 并发、分批策略。
批量终端部署的 PXE 与镜像问题,可按现场终端型号与网络环境一起排查。
常见问题(FAQ)
Q:UEFI和Legacy模式在PXE部署上有什么不同?
A:主要区别在引导文件:Legacy 模式通常使用 pxelinux.0 一类的引导程序,UEFI 模式需要对应的 EFI 引导文件(如 bootx64.efi 或 grubx64.efi)。同一台服务端可以同时提供两种引导,由 DHCP 按终端上报的架构类型分发。混合机型的环境里,模式不匹配是高发原因,配置前建议先统计终端的启动模式分布。
Q:终端在同一个VLAN能启动,换个VLAN就不行,是什么原因?
A:多数是 DHCP 中继未配置或中继指向错误。PXE 的 DHCP 请求是广播,跨 VLAN 需要三层设备把请求中继到 DHCP 服务器,同时把 Option 66/67 一并带回终端。核对顺序是:中继地址是否正确、交换机是否放行了对应 VLAN、Option 是否能随应答下发,最后用抓包确认终端侧是否收到了 Offer。
Q:批量部署时一部分终端成功一部分失败,怎么定位?
A:先看失败终端是否有共性:同一型号多为驱动或启动模式问题;同一接入交换机多为端口 VLAN 与上行问题;随机分布多为并发与网络质量问题。建议先按「型号 / 接入位置 / 时间段」三个维度归类,再针对性验证,必要时采用分批下发降低瞬时压力。