Windows 11 Black Screen nach September-Update

Nach einem aktuellen Windows-Patching bin ich in einer Windows-11-VDI-Umgebung auf ein interessantes Problem gestoßen.

Die Anmeldung am Citrix VDA funktionierte zunächst völlig normal. Die Session wurde aufgebaut, der Benutzer authentifiziert – doch statt des Desktops erschien anschließend nur ein permanenter schwarzer Bildschirm.

Was zunächst wie ein klassisches Citrix-, HDX- oder Profilproblem aussah, führte bei der Analyse schließlich in eine ganz andere Richtung: Windows Shell, AppX und XAML.

Und besonders interessant: Selbst das Entfernen des Windows-Updates beseitigte das Problem nicht.

Das Fehlerbild

Betroffen waren Windows-11-VDI-Systeme. Nach der Benutzeranmeldung blieb der Bildschirm schwarz.

Die Session selbst war allerdings keineswegs hängen geblieben.

Über den Task Manager ließ sich einfach explorer.exe manuell starten.

Unmittelbar danach erschienen Desktop, Taskleiste und Startmenü und die Session konnte ganz normal verwendet werden.

Das ist für die weitere Analyse ein entscheidender Hinweis.

Wenn explorer.exe manuell gestartet werden kann und anschließend ein vollständig funktionierender Desktop erscheint, funktionieren wesentliche Teile der Session offensichtlich bereits.

Damit stellt sich weniger die Frage:

Warum funktioniert die Citrix-Session nicht?

Sondern vielmehr:

Warum wird die Windows Shell während des normalen Logons nicht korrekt initialisiert?

Erst einmal die üblichen Verdächtigen

Bei einem Black Screen auf einem Citrix VDA denkt man verständlicherweise zunächst an Dinge wie VDA, HDX, Profile Management, FSLogix, GPOs oder Shell Extensions.

Insbesondere das Benutzerprofil gerät schnell unter Verdacht, wenn bestehende Benutzer betroffen sind, während ein Benutzer mit einem neuen Profil problemlos funktioniert.

Genau hier sollte man allerdings vorsichtig sein.

Ein Profil kann einen fehlerhaften Zustand persistieren, ohne selbst die ursprüngliche Ursache des Problems zu sein.

Gerade in einer non-persistent VDI-Umgebung ist diese Unterscheidung wichtig.

Die Maschine kommt beim nächsten Reboot wieder aus dem Golden Image. Der Benutzer bringt jedoch seinen persistierten User State wieder mit.

Damit kann ein Problem innerhalb der Windows-Shell beziehungsweise ihrer benutzerspezifischen Registrierung einen Reboot, Recompose oder sogar andere Änderungen am Maschinenzustand überleben. Genau diese Möglichkeit beschreibst du auch in deiner Analyse.

Update entfernen? Hat bei mir nichts gebracht

Natürlich lag nach dem zeitlichen Zusammenhang mit dem Windows-Patching ein Test nahe:

Update deinstallieren und erneut testen.

Das Ergebnis war allerdings ernüchternd.

Der Black Screen blieb bestehen.

Das ist technisch durchaus interessant, denn offenbar reicht es in diesem Fall nicht aus, einfach die Windows-Binaries auf den vorherigen Stand zurückzubringen.

Wenn durch das Update bereits ein inkonsistenter Zustand innerhalb des Benutzerkontexts oder der Shell-/AppX-Registrierung entstanden ist, kann dieser Zustand möglicherweise erhalten bleiben.

Ein einfaches:

Update weg = Problem weg

funktionierte hier jedenfalls nicht.

Die entscheidende Spur: Windows AppX und Shell

Der entscheidende Test war schließlich die erneute Registrierung einiger Windows-Shell-Komponenten.

Konkret ging es um:

Diese Komponenten stehen im Zusammenhang mit modernen Bestandteilen der Windows-Shell und der zugrunde liegenden XAML-Infrastruktur.

Für einen manuellen Test können die Pakete beispielsweise mit PowerShell erneut registriert werden:

Und genau das brachte in meinem Fall den entscheidenden Unterschied.

Nach der erneuten Registrierung funktionierte der nächste Logon wieder.

explorer.exe wurde automatisch gestartet und der Desktop erschien wie erwartet.

Was bedeutet das?

Eine endgültige Root Cause ist damit natürlich noch nicht bewiesen.

Das Verhalten grenzt das Problem aber ziemlich deutlich ein.

Wir haben:

Windows Logon
↓
User Profile
↓
AppX / XAML / Shell State
↓
Shell-Initialisierung schlägt fehl
↓
explorer.exe startet nicht
↓
Black Screen

Nach der erneuten Registrierung der betroffenen Komponenten funktioniert die Initialisierung wieder und Explorer startet regulär.

Damit würde ich bei diesem konkreten Fehlerbild nicht als Erstes den Citrix VDA auseinandernehmen.

Der funktionierende manuelle Start von explorer.exe ist dafür schlicht ein zu deutlicher Hinweis.

Bestehendes gegen neues Profil testen

Ein weiterer sinnvoller Test ist ein komplett neuer Benutzer beziehungsweise ein neues Profil.

Wenn sich beispielsweise folgendes Bild ergibt:

Bestehendes Profil → Black Screen
Neues Profil → funktioniert

würde ich das bestehende Profil trotzdem nicht sofort löschen.

Ganz im Gegenteil: Für eine Root-Cause-Analyse ist genau dieses Profil interessant.

Bei UPM oder FSLogix würde ich deshalb zunächst eine Kopie des betroffenen Profils beziehungsweise Containers sichern.

Ein Profile Reset kann das Problem möglicherweise beseitigen – gleichzeitig vernichtet man damit aber unter Umständen genau den Zustand, den man eigentlich untersuchen möchte.

Workaround für mehrere Benutzer

Wenn sich das Verhalten reproduzieren lässt, kann die Registrierung beispielsweise über ein synchron ausgeführtes User-Logon-Script erfolgen:

Das Timing ist hierbei relevant. Die Komponenten sollen während der Logon-Sequenz korrekt registriert werden, bevor die Shell vollständig initialisiert wird.

Ich würde so einen Workaround deshalb zunächst gezielt mit einer kleinen Pilotgruppe testen und nicht blind auf sämtliche Benutzer loslassen. Dein bisheriger Test sieht gut aus, aber ein Workaround ist noch kein Root-Cause-Fix.

Finding in the Wild

Das Interessante an diesem Fall ist für mich weniger der Black Screen selbst.

Black Screens gibt es in VDI-Umgebungen schließlich in ausreichend vielen Geschmacksrichtungen.

Interessant ist vielmehr die Fehlerkette:

Citrix-Session funktioniert → Explorer startet manuell → Update-Rollback hilft nicht → AppX-/Shell-Komponenten neu registrieren → normaler Logon funktioniert wieder.

Das spricht deutlich dafür, die Ursache nicht ausschließlich innerhalb des Citrix-Stacks zu suchen.

Citrix sitzt schließlich auf einem ziemlich großen Windows-Unterbau:

Citrix HDX
↓
Windows Session
↓
User Profile
↓
AppX / XAML
↓
Windows Shell
↓
Explorer

Für den Benutzer sieht ein Fehler an fast jeder Stelle dieser Kette gleich aus:

Black Screen.

Für uns als Administratoren ist deshalb die wichtigere Frage nicht:

Warum zeigt Citrix einen schwarzen Bildschirm?

Sondern:

Welcher Teil der Windows-Logon-Sequenz ist tatsächlich fehlgeschlagen?

In diesem Fall war explorer.exe der Hinweis, der letztendlich in die richtige Richtung geführt hat.

Fazit

Finding in the Wild: Ein Black Screen nach dem Windows-Logon muss auch auf einem Citrix VDA nicht zwangsläufig ein Citrix-Problem sein.

In meinem Fall waren vor allem drei Beobachtungen entscheidend:

  1. explorer.exe ließ sich manuell starten und erzeugte anschließend einen vollständig funktionierenden Desktop.
  2. Das Entfernen des zuvor installierten Windows-Updates beseitigte das Problem nicht.
  3. Die erneute Registrierung von MicrosoftWindows.Client.CBS, Microsoft.UI.Xaml.CBS und MicrosoftWindows.Client.Core stellte den normalen Logon wieder her.

Eine endgültige Root Cause ist damit noch nicht bewiesen. Das Verhalten liefert aber einen ziemlich starken Fingerzeig in Richtung Windows Shell/AppX/XAML und benutzerspezifischer Shell-State.

Und genau deshalb mag ich solche Finding-in-the-Wild-Fälle:

Der schwarze Bildschirm ist nur das sichtbare Symptom. Das eigentliche Problem sitzt ein paar Schichten tiefer.

New Microsoft Teams (Version 2) in Citrix installieren

Die neue Version von Microsoft Teams (häufig auch „Teams 2.0“ genannt) ist seit dem 01. Juli 2024 der neue Standard.

Für VDI-Umgebungen bedeutet das:

  • 01. Oktober 2024 → End of Support (Classic Teams im VDI)
  • 01. Juli 2025 → End of Availability

Kurz gesagt:
Es gibt kein Zurück mehr.

„New Microsoft Teams (Version 2) in Citrix installieren“ weiterlesen

NetScaler ADC Firmware Update

Regelmäßige Firmware-Updates gehören zu den wichtigsten Wartungsaufgaben einer NetScaler ADC Infrastruktur. Neben neuen Funktionen enthalten aktuelle Firmware-Versionen wichtige Fehlerbehebungen sowie sicherheitsrelevante Patches. Insbesondere bei Security Advisories oder aktiv ausgenutzten Schwachstellen sollten Firmware-Updates zeitnah eingeplant werden.

Da ein Firmware-Upgrade produktive Dienste wie NetScaler Gateway, Load Balancing, Content Switching, AAA, GSLB oder SSL Offloading beeinflussen kann, sollte es niemals unvorbereitet durchgeführt werden. Eine strukturierte Vorgehensweise reduziert Ausfallzeiten und minimiert das Risiko unerwarteter Probleme.

Dieser Artikel beschreibt den empfohlenen Upgrade-Ablauf für produktive NetScaler ADC Umgebungen.

„NetScaler ADC Firmware Update“ weiterlesen

Migration von Citrix Datenbanken

Mit der neuesten Citrix Virtual Apps & Desktops (CVAD) LTSR Version wurden ältere SQL-Server-Versionen abgekündigt. Wer seine Umgebung stabil und supportfähig halten möchte, kommt um eine Migration der Citrix-Datenbanken (Site, Logging, Monitoring) auf moderne SQL-Server (2019/2022) nicht herum. Ob Cluster, Always On oder Spiegelung – das Vorgehen bleibt im Kern gleich. In diesem Beitrag zeige ich Schritt für Schritt, wie die Migration sicher gelingt.

1. Voraussetzungen

  • Vollständige Backups aller Citrix-Datenbanken
  • Backups/VM-Snapshots der Delivery Controller (DDCs)
  • Neuer SQL Server (Cluster, Always On oder Mirror)
  • Gleiche SQL-Version auf Principal und Mirror
„Migration von Citrix Datenbanken“ weiterlesen

Checkliste für Citrix ADC CVE-2019-19781

Citrix hat eine Woche vor Weihnachten eine Warnung über eine kritische Sicherheitslücke (CVE-2019-19781) in allen Citrix ADC & Gateway Systemen veröffentlicht. Seit dem 10.1.2020 wurden mehrere funktionierende Exploits veröffentlicht, die für jeden zugänglich sind.

Aktueller Hinweis: Dieser Beitrag behandelt eine konkrete ältere NetScaler-Schwachstelle. Eine herstellerunabhängige Vorgehensweise für aktuelle CVEs, Firmware-Updates und die Prüfung auf mögliche Kompromittierungen finden Sie in unserer NetScaler CVE-Checkliste.

Wichtig ! Der Fix von Citrix mit der Responder Policy funktioniert nicht bei Systemen mit der Version 12.1.51.16/51.19, 50.31 und älter. Wenn diese Version im Einsatz ist, bitte auf die aktuellste 12.1 Version updaten.

Die Exploits ermöglichen eine anonyme Ausführung von Remotecode und dadurch nicht authentifizierten Angreifern, die verschiedenen Maschinen mit Root Rechten zu übernehmen.

„Checkliste für Citrix ADC CVE-2019-19781“ weiterlesen