一、先懂PXE启动:Synology NAS如何实现电脑网络启动?
在排查前,需先明确PXE启动的核心逻辑,避免因“不了解原理”导致盲目操作:
1. PXE启动的核心定义
PXE(Preboot Execution Environment,预启动执行环境)是一种基于网络的启动技术,电脑无需依赖本地硬盘/U盘,只需通过网卡从网络中的“PXE服务器”(此处为Synology NAS)获取引导文件,即可完成系统安装或启动。
2. Synology NAS的PXE启动流程(3步核心)
Synology NAS需同时扮演“TFTP服务器”(存储PXE引导文件)和“DHCP服务器”(为客户端分配IP并指向TFTP地址),具体流程如下:
1. 客户端请求IP:电脑开机后从网卡启动,发送DHCP请求;
2. NAS分配IP与指引:Synology NAS的DHCP服务器为客户端分配IP,并告知“TFTP服务器地址”和“PXE引导文件名”(如`pxelinux.0`);
3. 获取PXE文件启动:客户端通过TFTP协议从NAS的TFTP根目录下载PXE引导文件、菜单配置等,加载后进入启动菜单。
3. 典型适用场景与常见失败点
适用场景:
- 企业IT部门批量部署Windows/Linux系统(无需逐台插U盘);
- 机房无盘工作站(电脑无本地硬盘,依赖NAS PXE启动);
- 系统救援(通过PXE启动救援环境修复本地系统)。
常见失败点:
- NAS的TFTP服务未启用或文件缺失;
- 同一子网存在多个DHCP服务器,IP分配混乱;
- 客户端不支持PXE或未设置从LAN启动;
- 网络丢包/端口拦截,导致TFTP文件传输失败。
二、电脑用NAS PXE启动的4项前提条件(必满足)
启动前需确认NAS、网络、客户端符合基础要求,否则会直接导致启动失败,无需进入复杂排查:
| 前提类别 | 具体要求 | 检查与验证方法 |
|----------|----------|----------------|
| 1. NAS硬件与DSM支持 | - 型号:需Synology支持“TFTP服务”与“DHCP服务器”的型号(如Plus系列、XS系列、RS系列,入门级J系列如DS220j也支持基础功能);
- DSM版本:DSM 6.2及以上(推荐DSM 7.0+,TFTP日志功能更完善) | 1. 登录DSM→“控制面板→文件服务”,查看是否有“TFTP”选项(无则型号不支持);
2. “控制面板→更新与还原”,确认DSM版本≥6.2,低于则升级 |
| 2. PXE文件完整性 | - 需在NAS的TFTP根目录存放完整PXE引导文件,至少包含:
① 引导程序(如`pxelinux.0`、`ipxe.efi`,区分BIOS/UEFI启动);
② 菜单配置文件(如`pxelinux.cfg/default`);
③ 系统镜像或启动内核文件 | 1. 打开DSM“File Station”→进入TFTP根目录(默认`/tftpboot`,可在TFTP设置中查看);
2. 核对上述3类文件是否存在,大小是否正常(无0KB文件,避免下载损坏) |
| 3. 网络环境基础 | - 客户端与NAS在同一子网(如均为192.168.1.x/24,不可跨路由器);
- 网络设备(交换机)支持“PXE透传”(无特殊配置,普通千兆交换机即可);
- 无三层设备(如路由器)拦截DHCP/PXE请求(跨子网需配置DHCP中继,新手建议先同子网测试) | 1. 查看NAS IP(如192.168.1.100),客户端开机后若能获取192.168.1.x段IP,说明同子网;
2. 用网线直连NAS与客户端(跳过交换机),排除交换机故障 |
| 4. 客户端硬件支持 | - 电脑网卡需支持PXE启动(近10年的主板/网卡均支持,老旧设备需确认);
- 需开启“网卡PXE功能”(部分主板默认关闭,需进BIOS开启) | 1. 电脑开机时按启动快捷键(如F12、Del、F2,主板不同键位不同),查看启动菜单是否有“LAN”“PXE”选项(有则支持);
2. 进BIOS→“Advanced→Network Boot”,确认“PXE Boot”设为“Enabled” |
三、5步排查:电脑无法用NAS PXE启动的解决方案(DSM 7.2为例)
按“NAS服务→网络环境→客户端设置”的顺序排查,80%的问题可通过以下5步解决,每步均附详细操作与验证方法:
步骤1:检查NAS的TFTP服务(核心:启用+文件完整+日志)
TFTP是PXE文件传输的核心协议,若服务未启用或文件缺失,客户端无法获取引导文件,操作如下:
1.1 启用TFTP服务并配置根目录
1. 登录DSM→“控制面板→文件服务”(左侧导航栏);
2. 切换至“TFTP”标签页,勾选“启用TFTP服务”;
3. 确认“TFTP根目录”路径(默认`/tftpboot`,建议保持默认,避免自定义路径错误);
4. 勾选“启用传输日志”(关键!后续可通过日志定位传输失败原因);
5. 点击“应用”,系统提示“TFTP服务已启动”,确认状态为“运行中”。
1.2 验证TFTP根目录文件完整性
1. 打开“File Station”→在左侧导航栏找到“tftpboot”文件夹(若隐藏,点击“查看→显示隐藏文件”);
2. 按以下清单核对文件(以BIOS启动为例):
| 必选文件 | 作用 | 常见问题 |
|----------|------|----------|
| `pxelinux.0` | PXE引导核心程序,客户端获取的第一个文件 | 缺失则客户端提示“PXE-E53: No boot filename received” |
| `pxelinux.cfg/default` | 启动菜单配置文件,定义启动选项 | 缺失则加载引导程序后卡住,无菜单显示 |
| `vmlinuz`/`initrd.img` | Linux启动内核与初始化镜像(若启动Linux系统) | 缺失则菜单选择后报错“Kernel not found” |
3. 若文件缺失,重新上传完整PXE文件包(建议从可靠来源获取,如Cobbler、PXELinux官方包)。
1.3 查看TFTP传输日志(定位是否有客户端请求)
1. 在“TFTP”标签页点击“查看日志”,打开日志文件;
2. 按“时间排序”查看最新记录,若有类似以下内容,说明客户端已成功请求文件:
```
[2024-05-20 14:30:00] TFTP: Client 192.168.1.105 requested file 'pxelinux.0' (size: 262144)
[2024-05-20 14:30:02] TFTP: File 'pxelinux.0' sent to 192.168.1.105 (success)
```
3. 若无任何客户端IP的记录,说明客户端未发送TFTP请求,需下一步排查DHCP。
步骤2:确认NAS DHCP服务器唯一性与配置(避免IP混乱)
DHCP负责为客户端分配IP,并告知“TFTP服务器地址”,若同一子网有多个DHCP服务器,客户端可能获取错误IP,导致无法连接NAS:
2.1 关闭其他DHCP服务器(关键!)
1. 常见“隐藏DHCP服务器”包括:
- 家用路由器(如TP-Link、华为路由器,默认开启DHCP);
- 其他网络设备(如交换机的DHCP功能、无线AP);
2. 关闭方法:
- 路由器:登录管理界面→“LAN设置”→“DHCP服务器”→设为“关闭”;
- 其他设备:进入对应管理界面,禁用DHCP,确保仅Synology NAS的DHCP服务器启用。
2.2 配置NAS DHCP服务器(指向TFTP地址)
1. 登录DSM→“控制面板→DHCP服务器”;
2. 确认“DHCP服务器”已勾选“启用”,点击“子网”标签页→选择客户端所在子网(如192.168.1.0/24);
3. 点击“编辑”,配置关键参数:
- 起始IP地址/结束IP地址:分配给客户端的IP范围(如192.168.1.101-192.168.1.200,需包含NAS IP的同段);
- 子网掩码:255.255.255.0;
- 网关:填写NAS IP(如192.168.1.100,确保客户端能指向NAS);
- DNS服务器:填写公共DNS(如8.8.8.8,或NAS IP);
4. (UEFI启动可选)若客户端为UEFI启动,需在“DHCP服务器→高级”中设置“PXE引导文件名”为`ipxe.efi`(BIOS启动无需额外设置,默认指向`pxelinux.0`);
5. 点击“应用”,保存DHCP配置。
2.3 验证客户端IP分配(确认获取NAS的DHCP地址)
1. 客户端开机→按Win+R,输入`cmd`打开命令提示符;
2. 输入`ipconfig /all`(Windows)或`ifconfig`(Linux),查看“以太网适配器”信息:
- 若“IPv4地址”为NAS DHCP设置的范围(如192.168.1.105),“DHCP服务器”为NAS IP(192.168.1.100),说明DHCP配置正常;
- 若获取其他IP(如192.168.0.xx),说明仍有其他DHCP服务器在运行,需重新排查步骤2.1。
步骤3:验证客户端PXE支持与启动设置(硬件层面)
即使NAS服务正常,客户端未开启PXE或未设置从LAN启动,也会导致启动失败:
3.1 确认客户端网卡支持PXE
1. 电脑关机→重新开机,在开机画面出现时(如主板LOGO),按启动快捷键(常见:F12=联想/戴尔,Del=华硕/微星,F2=惠普);
2. 进入“启动菜单”,查看是否有“LAN”“PXE”“Network Boot”选项:
- 有则支持PXE,选择该选项尝试启动;
- 无则说明网卡不支持PXE(老旧设备),需更换网卡或使用USB网卡(需确认USB网卡支持PXE)。
3.2 进BIOS开启PXE功能(部分主板默认关闭)
1. 若启动菜单无PXE选项,进BIOS设置(开机按Del/F2);
2. 找到“Advanced”(高级)菜单→选择“Network Boot”(网络启动)或“PXE Boot”;
3. 将“PXE Boot”设为“Enabled”(启用),部分主板需同时启用“LAN Controller”(网卡控制器);
4. 保存BIOS设置(按F10,选择“Yes”),电脑重启后再次按启动快捷键,确认PXE选项已出现。
3.3 观察客户端PXE启动提示(定位阶段故障)
选择PXE启动后,观察屏幕提示,不同报错对应不同问题:
- PXE-E53: No boot filename received:客户端获取了DHCP IP,但未收到TFTP引导文件名(排查NAS DHCP的PXE配置或TFTP服务);
- PXE-E32: TFTP open timeout:客户端无法连接TFTP服务器(排查NAS IP是否可达、TFTP端口69是否开放);
- PXE-E35: TFTP read timeout:客户端连接TFTP成功,但读取文件超时(排查网络丢包、文件损坏)。
步骤4:排查网络连通性与端口拦截(传输层面)
网络丢包或端口被拦截,会导致TFTP文件传输失败,需按以下步骤验证:
4.1 测试客户端与NAS的网络连通性
1. 客户端开机并获取NAS分配的IP后,打开命令提示符;
2. 输入`ping 192.168.1.100 -t`(将IP替换为NAS实际IP),观察10分钟:
- 若“丢失=0”,说明网络稳定;
- 若有丢包(丢失≥1),检查网线(更换Cat6网线)、交换机端口(更换交换机端口),或直连NAS与客户端(排除交换机问题)。
4.2 验证TFTP端口69是否开放
TFTP使用UDP 69端口,需确认NAS未拦截该端口:
1. 客户端下载“PortQry工具”(微软官方工具)或使用在线端口检测工具;
2. 运行`portqry -n 192.168.1.100 -p udp -e 69`(替换NAS IP);
3. 若显示“LISTENING”,说明端口开放;
4. 若显示“FILTERED”,说明端口被拦截:
- 排查NAS防火墙:“控制面板→安全性→防火墙”,查看是否有规则禁止“UDP 69”端口,若有则删除或修改规则;
- 排查客户端防火墙:关闭Windows Defender防火墙或第三方杀毒软件(测试用,后续可按需配置例外)。
步骤5:分析TFTP与DHCP日志(精准定位故障)
若前4步未解决,需通过NAS的日志定位具体问题,这是官方推荐的核心排查手段:
5.1 查看TFTP传输日志(确认文件是否被请求)
1. 登录DSM→“控制面板→文件服务→TFTP”;
2. 点击“查看日志”,按时间排序查看最新记录:
- 若日志有“Client [192.168.1.105] requested file 'pxelinux.0'”且“sent successfully”,说明TFTP传输成功(问题在客户端引导文件解析);
- 若日志无客户端IP记录,说明客户端未发送TFTP请求(排查DHCP的PXE配置);
- 若日志显示“Error opening file 'pxelinux.0'”,说明TFTP根目录缺失该文件(重新上传)。
5.2 查看DHCP服务器日志(确认IP与PXE指引)
1. 登录DSM→“控制面板→DHCP服务器→日志”;
2. 查找客户端IP(如192.168.1.105)的记录,确认:
- 有“DHCPOFFER”“DHCPACK”记录:说明IP分配成功;
- 有“PXE filename: pxelinux.0”记录:说明DHCP已向客户端发送TFTP引导文件名;
- 若无PXE filename记录:说明DHCP未配置PXE指引(UEFI启动需手动设置引导文件名,步骤2.2.4)。
四、常见问题FAQ(解决高频场景)
Q1:客户端能获取NAS的DHCP IP,但PXE启动提示“TFTP open timeout”?
A:核心是TFTP端口69被拦截,解决步骤:
1. 登录NAS→“控制面板→安全性→防火墙”,点击“编辑规则”,添加一条规则:
- 方向:入站;
- 端口:UDP 69;
- 来源:客户端所在子网(如192.168.1.0/24);
- 动作:允许;
2. 客户端关闭防火墙,重新测试PXE启动;
3. 若仍失败,用网线直连NAS与客户端(跳过交换机),排除交换机端口拦截。
Q2:TFTP日志显示“文件发送成功”,但客户端加载PXE后卡住?
A:问题在PXE文件本身,而非NAS服务:
1. 检查`pxelinux.cfg/default`配置文件:用文本编辑器打开,确认“kernel”“append”路径正确(如`kernel /vmlinuz`,路径需与TFTP根目录的文件对应);
2. 重新上传PXE文件包:可能原文件损坏,从官方渠道(如PXELinux官网)下载完整包,覆盖NAS的TFTP根目录;
3. 区分BIOS/UEFI启动:若客户端是UEFI启动,需用`ipxe.efi`引导程序,而非`pxelinux.0`(BIOS专用),可在DHCP中设置不同引导文件名。
Q3:同一子网有路由器和NAS两个DHCP服务器,怎么优先用NAS的DHCP?
A:必须关闭路由器的DHCP,仅保留NAS的DHCP,步骤:
1. 登录路由器管理界面(如192.168.1.1);
2. 找到“LAN设置”→“DHCP服务器”,设为“关闭”;
3. 重启路由器与客户端,客户端重新获取IP,确认“DHCP服务器”为NAS IP。
五、总结:PXE启动失败的核心排查逻辑
电脑无法用Synology NAS PXE文件启动的排查,需遵循“从NAS到客户端”的逻辑:先确认NAS的TFTP服务启用、文件完整,再确保DHCP唯一且配置正确,接着验证客户端PXE支持与启动设置,最后排查网络与日志。多数问题集中在“DHCP冲突”“TFTP文件缺失”“客户端PXE未开启”三点,按本文5步操作即可逐步解决。若遇到复杂问题(如跨子网PXE),可进一步配置DHCP中继,或参考Synology官方“PXE跨子网部署”文档。
以上文章围绕“Synology NAS PXE启动失败”核心需求,覆盖了从原理到实操的全流程,关键步骤均附详细操作截图逻辑与验证方法,同时融入日志分析与高频问题解答,可帮助不同技术水平的用户高效定位并解决问题。若你需要补充特定场景(如UEFI启动配置、跨子网PXE部署)的细节,或调整内容侧重点,欢迎随时告知。

地址:北京市海淀区白家疃尚品园 1号楼225
北京群晖时代科技有限公司
