Вопрос или проблема
Недавно я настроил RDS на Windows Server 2022 Standard Edition.
Пользователи часто сообщают, что при подключении они видят черный экран и курсор мыши, но ничего больше.
Это происходит как при использовании стандартного клиента Windows “Подключение к удаленному рабочему столу” (mstsc.exe), так и при использовании “Диспетчера подключения к удаленному рабочему столу” (rdcman.exe, из SysInternals) и даже FreeRDP.
Большинство пользователей могут войти без проблем, но, похоже, случайные пользователи в случайные моменты сталкиваются с этой проблемой и повторяют попытку ~2-6 раз, получая черные экраны от клиента RDS, пока в конечном итоге сеанс не начнется нормально (с графикой, а не черным экраном).
Не наблюдается корреляции с конкретными пользователями. Некоторые пользователи испытывают это, но затем проблема исчезает. У некоторых пользователей нет проблемы в течение нескольких дней, но затем внезапно появляется черный экран (включая меня). Также нет корреляции с числом подключенных пользователей. Это может произойти как у первого подключающегося, так и у 30-го, подключающегося одновременно.
Не наблюдается корреляции с каким-либо временем суток.
Не видно никаких проблем с ресурсами: сервер имеет 40 ядер/80 потоков и 512 ГБ памяти и не виртуализирован (Windows Server 2022 работает непосредственно на оборудовании).
Журнал событий Windows не показывает ничего необычного ни в “Приложениях”, ни в “Системе”. Специфический оперативный журнал для “RemoteDesktopServices-RdpCoreTS” (находится в “Журналы приложений и служб”/Microsoft/Windows) упоминается в многочисленных интернет-статьях, но все, что я могу найти здесь, – это несколько случаев следующего, что, похоже, не коррелирует с черными экранами:
- Предупреждение:
Не удалось выполнить операцию чтения TCP-сокета, ошибка 64
- Предупреждение:
RDP_TCP: Произошла ошибка при переходе из StateUnknown в ответ на Event_Disconnect (код ошибки 0x80070040).
- Предупреждение:
Не удалось выполнить операцию записи TCP-сокета, ошибка 64
- Предупреждение:
TCP-сокет был корректно завершен
Существует множество упоминаний этой проблемы в интернете…
https://www.makeuseof.com/fix-remote-desktop-black-screen-windows/
https://woshub.com/rdp-black-screen-windows-remote-desktop/
…
Что я попробовал:
- Отключил RemoteFX
- Отключил протокол UDP (как через “Отключить UDP на клиенте”, так и через “Выбрать протоколы передачи RDP”)
- Отключил драйвер WDDM
- Отключил URCP (Универсальный протокол управления скоростью)
- Уменьшил глубину цвета
- Обновил драйверы графики до актуальных
- Установил физический графический адаптер на “Базовый драйвер дисплея Microsoft”
- Отключил брандмауэр Windows
Ничто, похоже, не решает ситуацию.
Я открыл заявку у нашего управляющего ИТ-поставщика, который не может найти решение. Я открыл заявку в Microsoft, и им трудно с нами связаться.
Любая помощь будет крайне признательна!
Другой пользователь попытался внести правку в оригинальный пост в качестве ответа… Я отклонил правку и сообщаю об этом предложении здесь как возможном ответе. Я не подтвердил ни один из этих пунктов.
Предложили “Уменьшить значение таймаута службы по умолчанию, изменив следующие ключи реестра, которые изменят начальный таймаут входа в систему на 30 секунд”
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppReadinessPreShellTimeoutMs Тип данных: DWORD Значение:0x7530
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\FirstLogonTimeout Тип данных: DWORD Значение:0x1e
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\DelayedDesktopSwitchTimeout Тип данных: DWORD Значение:0x1e
Странные вещи могут происходить, если вы переместили папку пользовательских профилей, это больше не рекомендуется в рабочей среде:
Важные заметки по использованию
Мы не рекомендуем использовать эту настройку, разве что
в тестовой среде.Когда эта настройка меняется, приложения Microsoft Store не поддерживаются.
В наши дни Windows использует Store-приложения как часть системы и должен предоставлять их во время загрузки/создания пользовательского профиля. Перемещение папки пользовательского профиля может предотвратить правильное выполнение этого шага.
Чтобы преодолеть эту ситуацию, вы можете протестировать следующие шаги:
- Удалите пользовательские профили из панели управления Профили пользователей (не изменяйте значения реестра или папки пользовательских профилей вручную).
- Переместите папку пользовательских профилей обратно на оригинальное место.
- Войдите в систему, чтобы создать пользовательские профили снова. Если несколько пользователей создают профиль одновременно, может произойти черный экран на несколько минут, но они в конечном итоге достигнут рабочего стола. После создания профилей это больше не должно ожидаться.
Тем не менее, я рекомендую переустановить сервер и начать с нуля, чтобы избежать любых остатков/побочных эффектов.
Похоже, вы решили эту проблему, вернувшись к Server 2016. У нас была очень похожая проблема с RDS-фермой 2016 и черными экранами при входе – казалось, случайно. Тем, что в конце концов решило нашу проблему, оказалось отключение этих 2 сервисов.
- AppReadiness
- AppXSvc
Мы не используем метроприложения, только локально установленные программные пакеты.
Ответ или решение
Проблема с черным экраном при подключении к удаленному рабочему столу (RDP/RDS) в Windows Server 2022 может быть весьма раздражающей и часто возникает у пользователей по причинам, не всегда имеющим четкую взаимосвязь. Ниже представлены шаги для устранения данной проблемы, основанные на вашем описании и общих методах решения.
Решения проблемы:
-
Проверка настроек RDS:
- Убедитесь, что службы удаленных рабочих столов настроены правильно. Для этого пройдите в "Управление сервером" > "Удаленные рабочие столы" и проверьте все параметры.
- Включите журналы событий RDP и посмотрите, нет ли там дополнительной информации о проблемах.
-
Редактирование реестра:
- Предложенный вами метод уменьшения времени ожидания может быть полезен. Откройте редактор реестра (regedit) и измените следующие параметры:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppReadinessPreShellTimeoutMs
-> значение0x7530
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\FirstLogonTimeout
-> значение0x1e
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\DelayedDesktopSwitchTimeout
-> значение0x1e
- Предложенный вами метод уменьшения времени ожидания может быть полезен. Откройте редактор реестра (regedit) и измените следующие параметры:
-
Отключение ненужных служб:
- Попробуйте отключить службы, которые могут мешать нормальной работе, например:
- AppReadiness
- AppXSvc
- Это может помочь, если вы не используете универсальные приложения (Metro Apps) и работаете только с локально установленными программами.
- Попробуйте отключить службы, которые могут мешать нормальной работе, например:
-
Обновление и настройка графических драйверов:
- Убедитесь, что драйверы графической карты обновлены до последней версии. Иногда проблемы с отображением могут быть связаны с несовместимостью драйверов.
- Если после обновления проблема не была устранена, попробуйте временно использовать "Microsoft Basic Display Adapter".
-
Изменение параметров подключения:
- Отключите использование протокола UDP для улучшения стабильности соединения. Это можно сделать через настройки на клиенте (mstsc):
- Запустите mstsc, затем нажмите "Параметры" > "Дополнительно" > "Настройки" и установите галочку на "Отключить UDP".
- Отключите использование протокола UDP для улучшения стабильности соединения. Это можно сделать через настройки на клиенте (mstsc):
-
Проверка настроек групповой политики:
- Проверьте настройки групповой политики, связанные с удаленным рабочим столом, и убедитесь, что нет ограничений, влияющих на подключение пользователей.
-
Перемещение папки пользовательских профилей:
- Если вы перемещали папку профилей пользователей, это может вызвать конфликты. Попробуйте вернуть папку профилей на место по умолчанию и удалить старые профили пользователей через Панель управления.
-
Проверка подключения и маршрутизации:
- Проверьте маршрутизацию и настройки подключения, чтобы исключить проблемы с сетью. Убедитесь, что пакеты не теряются, и соединение остается стабильным.
-
Тестирование на другом оборудовании:
- Если возможно, попробуйте протестировать подключение на другом сервере с аналогичной конфигурацией, чтобы исключить аппаратные проблемы.
Последний шаг
Если ни одно из указанных решений не привело к улучшению ситуации, возможно, стоит рассмотреть переустановку операционной системы или переход на более стабильную версию, такую как Windows Server 2016, как было сделано у вас в примере.
Проблема с черным экраном в RDP может быть сложной и требует терпения в поиске решения. Если после всех вышеперечисленных шагов проблема все равно остается, рекомендуется продолжать взаимодействие с вашим провайдером IT-услуг и Microsoft для более глубокого анализа.