HTTP <:> Kryptografie-Deadlock verursacht langsamen Start und Dienststartfehler bei SSL-fähigen
Dieser Artikel bietet eine Problemumgehung für ein Problem, das zu einem langsamen Start führt und Dienste nicht gestartet werden können.
Gilt für: Windows Server 2012 R2
Ursprüngliche KB-Nummer: 2004121
Symptome
Die folgenden Symptome können auftreten:
- Windows Server hängt nach dem Start unter Anwenden von Computereinstellungen oder Anwenden von Sicherheitsrichtlinien auf.
- Nachdem der Server gestartet wurde, hängt ein Benutzer, der versucht, sich anzumelden, möglicherweise beim Anwenden von Benutzereinstellungen auf.
- Möglicherweise stellen Sie fest, dass Dienste, die auf den Starttyp "Automatisch" festgelegt sind, möglicherweise nicht gestartet werden.
Bestimmte Dienste, die auf "Automatisch" festgelegt sind, können problemlos gestartet werden, z. B.:
- Dcom-Prozessstartprogramm
- Remoteprozeduraufruf
- Ereignisprotokoll
- Gruppenrichtlinie Client
- Plug & Play
- DHCP-Client
- DNS-Client
- Aufgabenplanung
- Basisfilterungs-Engine
- Arbeitsstationsdienst
- Netlogon
Andere Dienste, die auf "Automatisch" festgelegt sind, können fehlschlagen, z. B.:
- Druckerspooler
- Terminaldienste
- Serverdienst
- Remoteregistrierung
- WMI
- Distributed Transaction Coordinator
- Alle Dienste im Zusammenhang mit Anwendungen
Der Versuch, Dienste mit dem Starttyp "Automatisch" manuell zu starten, kann zu einem Fehler 1053 führen, der angibt, dass "der Dienst nicht rechtzeitig auf die Start- oder Steuerungsanforderung reagiert hat".
Ursache
Die im Abschnitt "Symptome" beschriebenen Probleme treten aufgrund einer Sperre für die SCM-Datenbank (Service Control Manager) auf. Aufgrund der Sperre kann keiner der Dienste auf die SCM-Datenbank zugreifen, um die Dienststartanforderungen zu initialisieren. Um zu überprüfen, ob ein Windows-Computer von dem in diesem Artikel beschriebenen Problem betroffen ist, führen Sie den sc querylock
Befehl an der Eingabeaufforderung aus.
Die folgende Ausgabe gibt an, dass die SCM-Datenbank gesperrt ist:
QueryServiceLockstatus – Erfolg
IsLocked: True
LockOwner: .\NT Service Control Manager
LockDuration: 1090 (Sekunden seit dem Abrufen)
Es gibt keine zusätzlichen Informationen in den Ereignisprotokollen, die über die des Dienststeuerungs-Managers hinausgehen, die angeben, dass bei Dienststartanforderungen ein Timeout aufgetreten ist. Die zugrunde liegende Grundursache ist ein Deadlock zwischen dem Dienststeuerungs-Manager und HTTP.SYS.
Lösung
Um dieses Problem zu umgehen, können Sie das Verhalten von HTTP.SYS so ändern, dass es davon abhängig ist, dass zuerst ein anderer Dienst gestartet wird. Führen Sie dazu die folgenden Schritte aus:
- Öffnen Sie den Registrierungs-Editor.
- Navigieren Sie zu ,
HKLM\SYSTEM\CurrentControlSet\Services\HTTP
und erstellen Sie den folgenden Multi-String-Wert: DependOnService. - Doppelklicken Sie auf den neuen Eintrag DependOnService .
- Geben Sie CRYPTSVC in das Feld Wertdaten ein, und klicken Sie auf OK.
- Starten Sie den Server neu.
Hinweis
Stellen Sie sicher, dass Sie eine Sicherung der Registrierung bzw. der betroffenen Schlüssel erstellen, bevor Sie Änderungen an Ihrem System vornehmen.
Weitere Informationen
Ab Windows Server 2008 wartet Windows nicht darauf, dass alle automatischen Dienste gestartet werden, um Explorer.exe zu laden. Dienste können auf Verzögerter automatischer Start festgelegt werden, um die Startleistung zu erhöhen.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für