1. PXE 启动失败诊断
PXE 启动失败是最常见的 WDS 问题,通常与 DHCP、网络或 WDS 配置有关。
1.1 系统化排查流程
- 客户端能否获取 IP? → 检查 DHCP 服务
- 客户端是否收到 PXE 引导? → 检查 DHCP 选项 66/67
- 能否下载启动文件? → 检查 TFTP 连通性
- 启动映像是否加载? → 检查 boot.wim 完整性
- 能否连接 WDS 服务器? → 检查网络和防火墙
PowerShell - PXE 启动排查
# 1. 检查 DHCP 服务
Get-Service DHCPServer | Select-Object Name, Status
# 2. 检查 DHCP 选项
Get-DhcpServerv4OptionValue -ScopeId "192.168.10.0" |
Where-Object { $_.OptionId -in 60,66,67 }
# 3. 检查 WDS 服务
Get-Service WDSServer, WDSMC | Select-Object Name, Status
# 4. 检查 WDS PXE 响应策略
WDSUTIL /Get-Server /Show:Config | Select-String "Pxe"
1.2 常见 PXE 错误
| 错误信息 | 可能原因 | 解决方案 |
|---|---|---|
| PXE-E51: No DHCP or proxyDHCP offers | DHCP 未响应 | 检查 DHCP 服务和作用域 |
| PXE-E52: No boot filename received | DHCP 选项 67 未配置 | 配置 DHCP 选项 67 |
| PXE-E53: No boot server received | DHCP 选项 66 未配置 | 配置 DHCP 选项 66 |
| PXE-E55: ProxyDHCP service did not reply | WDS 未响应 PXE 请求 | 检查 WDS 服务和 PXE 策略 |
| PXE-M0F: Exiting PXE ROM | 启动失败,退出 PXE | 按流程逐项排查 |
2. TFTP 下载超时
TFTP 下载超时通常表现为启动映像下载到一半中断。
PowerShell - TFTP 排查与优化
# 检查 TFTP 服务
Get-Service WDS | Select-Object Name, Status
# 优化 TFTP 性能
WDSUTIL /Set-Server `
/TftpBlockSize:1432 `
/TftpWindowSize:20 `
/TftpMaxClients:100
# 测试 TFTP 连通性(从客户端运行)
tftp WDS01 GET boot\x86\wdsnbp.com
💡 TFTP 优化建议
- 增大 TFTP 块大小:
/TftpBlockSize:1432(默认 512) - 增大窗口大小:
/TftpWindowSize:20(默认 4) - Windows Server 2022+ 可启用 HTTP 传输替代 TFTP
- 确保交换机端口无速率限制
3. WDS 服务无法启动
PowerShell - WDS 服务排查
# 检查 WDS 服务状态
Get-Service WDSServer | Format-List *
# 尝试启动 WDS 服务
Start-Service WDSServer
# 查看服务依赖
Get-Service WDSServer | Select-Object -ExpandProperty DependentServices
Get-Service WDSServer | Select-Object -ExpandProperty ServicesDependedOn
# 重新初始化 WDS
WDSUTIL /Verbose /Progress /Initialize-Server /RemInst:"E:\RemoteInstall"
4. 映像部署失败
4.1 安装映像不可见
PowerShell - 映像可见性排查
# 检查安装映像
Get-WdsInstallImage
# 检查映像组
Get-WdsInstallImageGroup
# 检查启动映像
Get-WdsBootImage
# 检查映像文件完整性
Get-WindowsImage -ImagePath "E:\RemoteInstall\Images\install.wim"
4.2 磁盘分区失败
常见原因:BIOS/UEFI 模式不匹配、磁盘格式错误。
| 启动模式 | 磁盘格式 | 分区类型 |
|---|---|---|
| UEFI | GPT | EFI(260MB) + MSR(128MB) + Windows |
| BIOS(Legacy) | MBR | System Reserved(350MB) + Windows |
5. 错误代码速查
| 错误代码 | 含义 | 解决方案 |
|---|---|---|
| 0x80070002 | 文件未找到 | 检查映像路径和文件是否存在 |
| 0x80070005 | 访问被拒绝 | 检查 NTFS 权限和共享权限 |
| 0x80070017 | 数据错误(CRC) | 映像文件损坏,重新导入 |
| 0x80070035 | 网络路径未找到 | 检查网络连通性和共享路径 |
| 0x80070490 | 元素未找到 | AD 中计算机对象可能被删除 |
| 0x80070570 | 文件损坏 | 映像文件损坏,重新下载或导入 |
| 0xC0000225 | 启动配置数据缺失 | UEFI 环境下 BCD 损坏,修复引导 |
| 0xC000000F | 启动选择失败 | 活动分区未正确标记,检查分区 |
6. WDS 事件日志分析
PowerShell - WDS 日志分析
# WDS 服务器日志
Get-WinEvent -LogName "Microsoft-Windows-Deployment-Services-Server/Operational" `
-MaxEvents 50 | Format-Table TimeCreated, Id, LevelDisplayName, Message
# WDS 管理日志
Get-WinEvent -LogName "Microsoft-Windows-Deployment-Services-Management/Operational" `
-MaxEvents 50
# 仅查看错误
Get-WinEvent -LogName "Microsoft-Windows-Deployment-Services-Server/Operational" `
| Where-Object { $_.Level -eq 2 } | Select-Object -First 20
# 客户端安装日志(在客户端上查看)
# C:\Windows\Panther\setupact.log
# C:\Windows\Panther\setuperr.log
# X:\Windows\Panther\setupact.log(WinPE 阶段)
7. 常见问题
Q1:客户端 PXE 启动很慢,几分钟才进入安装界面
① 优化 TFTP 参数(增大 BlockSize 和 WindowSize)② 启用 HTTP 传输(WS2022+)③ 检查网络是否有瓶颈 ④ 确认 boot.wim 未注入过多驱动导致文件过大
Q2:WDS 部署完系统后无法加入域
① 确认应答文件中域加入凭据正确 ② 确认 DNS 指向域控制器 ③ 检查计算机名是否与 AD 中已有对象冲突 ④ 查看 C:\Windows\Panther\UnattendGC\setupact.log 中的加域日志
Q3:如何彻底重置 WDS 服务器
① 卸载 WDS 角色:Uninstall-WindowsFeature WDS ② 删除 RemoteInstall 目录 ③ 重新安装 WDS 角色 ④ 重新运行配置向导。注意:此操作会删除所有映像和配置。