【Horizon】从 Horizon 8.0 或 7.13 升级后无法通过 Blast 或 PCoIP 连接到 RDSH 服务器(87968)
这篇文章记录 Horizon Agent 从较早版本升级到较新版本后,RDSH 会话无法通过 Blast 或 PCoIP 建立连接的问题。这个问题的核心不是协议配置本身,而是升级后显示驱动没有被完整替换并重新加载。
问题现象
升级 Horizon Agent 后,RDSH 桌面或应用程序连接失败,但通过 RDP 协议访问仍然正常。
常见场景例如:
- 从 Horizon 8.0 升级到 8.1、8.2、8.3、8.4
- 从 Horizon 7.13 或 7.13.1 升级到 7.13.2
日志里可能看到类似信息:
发送 IOCTL_RDSMN_SET_CONNECTION_INFO 失败,sessionId=3,numDisplays=2,err=87
GetRdsVideoHandle(): 打开视频句柄失败
[NAME=BLAST, 错误代码=PROTOCOL_ERR_PROVIDER_FAILURE]原因分析
升级 Agent 后,RDSH 显示驱动相关二进制文件会在系统重启后更新。
但如果只重启一次,系统可能完成了文件更新,却还没有真正用新驱动完成下一轮完整启动,结果就是:
- 驱动文件版本已经变了
- 实际加载到内存里的仍然是旧驱动
- Horizon 与 RDS 显示驱动版本不匹配
这就会导致 Blast 或 PCoIP 连接失败,甚至出现黑屏。
处理方法
处理方式其实很简单,但很容易被忽略:
- 升级完成后先重启一次
- 然后再重启第二次
第一轮重启让系统完成驱动更新,第二轮重启确保新的 RDS 显示驱动真正被加载起来。
结果说明
完成第二次重启后,RDSH 会话通常就能恢复正常,Blast 和 PCoIP 连接也会重新可用。
总结
这类问题表面看像“升级后协议坏了”,实际上更像是驱动切换过程没有彻底完成。碰到升级后只有 RDP 能连、Blast 或 PCoIP 不通的情况,优先做第二次重启,往往比先改配置更有效。