AIGC标识 Windows 无显示器启动、自动登录后,远程桌面连不上:一次完整排查记录

本文由 AI 根据实际排查记录协助整理,最终解决结果经现场确认。

一台 Windows 主机遇到一个看似奇怪的问题:接着显示器启动时,远程桌面可以使用;不接显示器启动时,使用 mstsc 却无法进入桌面。

客户还有一个必须保留的要求:开机后自动登录 Windows 桌面,供现场或远控使用。因此,“关闭自动登录”即使能恢复 RDP,也只能是排查手段,不能作为最终方案。

最终采用的解决路径是安装虚拟显示驱动。另一种可选方式是接入显示器假负载。处理后,用户确认远程桌面恢复,自动登录也已开启。

一、环境和现象

本次环境如下:

  • Windows 10 专业版,版本 22H2,系统内部版本 19045。
  • Intel UHD Graphics 770 与 NVIDIA RTX A4500 Laptop GPU 双显卡。
  • 已安装并启用 OpenSSH,可以通过 SSH 读取系统状态。
  • Windows 配置了开机自动登录。
  • 故障发生在不接显示器启动后的 RDP 连接过程中。

文章省略了真实 IP、账户名和主机名。以下命令涉及会话 ID 时,必须先查询实际值,不能直接照抄。

二、先确认故障发生在哪个阶段

首先检查 SSH 和 RDP 默认端口,TCP 22、3389 都可连接。这说明主机已启动且网络基本可达,但不能证明 RDP 已经能够登录桌面。

通过 SSH 登录后,使用 PowerShell 查询:

Get-Service TermService, SessionEnv, UmRdpService, sshd
qwinsta

Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server' |
    Select-Object fDenyTSConnections

Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' |
    Select-Object PortNumber, UserAuthentication, SecurityLayer, fEnableWinStation

结果显示,远程桌面服务正常运行,rdp-tcp 处于监听状态,远程连接已允许。排查过程中没有关闭 NLA、TLS 或防火墙。

真正有价值的证据来自事件日志。

$logs = @(
    'Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational',
    'Microsoft-Windows-TerminalServices-LocalSessionManager/Operational',
    'Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational'
)

foreach ($log in $logs) {
    Get-WinEvent -LogName $log -MaxEvents 40 |
        Select-Object TimeCreated, Id, Message |
        Format-List
}

RemoteConnectionManager 的事件 1149 表明用户身份验证成功。紧接着,LocalSessionManager 出现事件 20 和 36,内容包括:

尝试向 Windows 视频子系统发送 connect (1) 消息失败。
相关状态代码为 0xD0000001。

从 DisconnectedLoggedDesktopLocked 转换以响应 EvConnected 时出错。
错误代码 0xD0000001。

由此可以将故障定位到认证之后的桌面连接阶段:连接请求已经到达主机,也通过了认证,但接管桌面时的视频子系统操作失败。

三、检查显示设备及驱动

Get-CimInstance Win32_VideoController |
    Select-Object Name, Status, ConfigManagerErrorCode,
        DriverVersion, CurrentHorizontalResolution, CurrentVerticalResolution

Get-PnpDevice -Class Display, Monitor
Get-PnpDevice -Class Monitor -PresentOnly

两块显卡均报告设备正常,但没有当前显示分辨率,PresentOnly 查询也没有发现显示器。

需要注意,设备列表里的 Unknown 可能只是历史设备,不能仅凭这一状态就判定驱动损坏。

应用程序日志中还发现了 NVDisplay.Container.exe 的崩溃记录,涉及 nvxdsyncplugin.dll、nvxdapix.dll。这是值得继续调查的线索,但它不能单独证明 NVIDIA 驱动就是唯一根因。

四、尝试切换 RDP 显示模式:没有解决

检查发现,系统原本已经配置:

HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services
bEnumerateHWBeforeSW = 0

接着在备份策略后,进行单项试验:禁用 RDP 的 WDDM 显示模式。

$path = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services'

New-ItemProperty -Path $path -Name fEnableWddmDriver `
    -PropertyType DWord -Value 0 -Force

微软策略文档说明,这项设置需要重启 Windows 才能生效。

重启后,日志确认 RDP 使用了 RDPUDD,但 0xD0000001 错误仍然出现。

本次结论是:仅切换 RDP 显示模式,没有解决这台主机的问题。 这条设置不是本文最终方案,也不建议把它当作所有黑屏或断连问题的通用修复。

五、关键对照:关闭自动登录后,RDP 可以新建桌面

继续检查发现,Windows 开机后自动创建了本地用户会话。RDP 连接时,尝试接管的正是这个已经自动登录、但没有显示器的本地桌面。

读取自动登录标志时,只查询指定字段,不读取或导出保存的密码:

$key = Get-Item 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon'
$key.GetValue('AutoAdminLogon')

当时的值为 1。

为隔离这条路径,备份原标志后,临时关闭自动登录:

Set-ItemProperty `
    -LiteralPath 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' `
    -Name AutoAdminLogon -Value '0'

排查期间还遇到了注销和关机停滞。尝试过注销故障会话、临时停止 NVIDIA 显示容器服务,以及 Windows 自带的会话重置命令。停止容器后,故障会话并没有立即恢复正常,因此也不能把服务停止前后的时间关联当作根因证明。

在确认用户应用已经退出、说明强制重启风险后,由现场人员完成了一次实体重启。整个过程没有直接结束 winlogon、csrss 等关键系统进程。

这次启动不再自动进入本地桌面。随后通过 RDP 登录成功,日志出现事件 21、22,确认新会话登录成功并启动了 Shell;qwinsta 也显示该远程会话为 Active。

这组对照非常关键:

场景 结果
无显示器启动,自动登录本地桌面,再由 RDP 接管 失败,视频子系统报错
关闭自动登录并重启,由 RDP 新建桌面 成功
仅切换 RDP WDDM 模式,仍接管原本地桌面 未解决

它支持故障与无显示器环境下的本地桌面初始化或会话切换有关,但还不足以锁定某个显卡驱动为唯一根因。

六、最终方案:提供虚拟显示设备,保留自动登录

客户必须保留自动进入桌面,而且现场不允许接显示器或其他显示外设。因此最终采用软件虚拟显示驱动方案:

VirtualDrivers / Virtual-Display-Driver

该项目用于在 Windows 10/11 上创建虚拟显示设备。安装方法和对应版本要求以项目的官方安装说明为准。

本次最终安装由现场完成。用户随后确认问题已解决,并明确补充自动登录已经开启。排查记录没有收集最终安装版本和完整安装截图,因此这里不编造安装细节,也不把尚未核实的版本写成推荐版本。

如果现场允许连接外设,显示器假负载是另一条可选路径:让显卡检测到模拟显示器。它在本次记录中属于替代方案,不作为已独立完成对照验证的结果。

恢复自动登录时,本次只需把原先存在的标志恢复为 1,没有改动原有凭据:

Set-ItemProperty `
    -LiteralPath 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' `
    -Name AutoAdminLogon -Value '1'

这条命令只适用于原先已正确配置自动登录、且本次只是临时改动标志的情况;它不是从零配置自动登录的完整步骤。

七、这次排查留下的经验

  • 3389 端口可达不等于桌面可用,需要区分网络、认证、会话和显示初始化几个阶段。
  • 身份验证成功后出现视频子系统错误,应重点检查显示设备和桌面会话路径。
  • 对于配置自动登录的主机,要分别测试“接管本地桌面”和“由 RDP 新建桌面”。
  • 每项修改都应记录原值、备份、结果及回滚方式。无效的尝试也要写清楚,避免它们变成没有依据的固定配置。
  • 关闭自动登录帮助定位了问题,但客户需要自动桌面时,最终方案仍要满足这个要求。

本次最终状态由用户确认:无外接显示设备,自动登录已开启,远程桌面可以正常使用。

posted @ 2026-10-29 15:41  javen_xiao  阅读(6)  评论(0)    收藏  举报