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:

  1. Öffnen Sie den Registrierungs-Editor.
  2. Navigieren Sie zu , HKLM\SYSTEM\CurrentControlSet\Services\HTTP und erstellen Sie den folgenden Multi-String-Wert: DependOnService.
  3. Doppelklicken Sie auf den neuen Eintrag DependOnService .
  4. Geben Sie CRYPTSVC in das Feld Wertdaten ein, und klicken Sie auf OK.
  5. 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.