# Windows Startup & Services: Den Boot-Vorgang beherrschen
TL;DR / Management Summary Ein langsamer Systemstart ist der Produktivitätskiller Nummer eins. Wir analysieren den Boot-Prozess über den Task Manager (Impact-Analyse), den Service Control Manager (SCM) und das Profi-Tool Autoruns. Ziel eines Senior Admins ist es, die Anzahl der beim Booten startenden Dienste auf das absolute Minimum zu reduzieren und unnötige Applikations-Updater aus dem Autostart zu verbannen.
# 1. Einführung & Architektur
Die Phasen des Starts.
Windows startet in mehreren Wellen:
- Boot Phase: Kernel lädt, Treiber werden initialisiert.
- Service Phase: Der SCM startet Dienste mit dem Typ “Automatic”.
- Shell Phase:
explorer.exestartet, User-Autostarts werden geladen.
# Service Startup Typen
- Automatic: Startet sofort beim Booten.
- Automatic (Delayed Start): Startet ca. 2 Minuten nach dem Booten (Empfohlen für unkritische Dienste, um die CPU beim Login zu entlasten).
- Manual: Startet nur bei Bedarf (Trigger).
- Disabled: Dienst ist komplett aus.
# Architektur-Übersicht (Mermaid)
graph TD
UEFI[UEFI / BIOS] -->|Load| WINLOAD[winload.efi]
WINLOAD -->|Kernel| NTOS[ntoskrnl.exe]
NTOS -->|Start| SCM[Service Control Manager]
SCM -->|Run| AUTO_SVC[Automatic Services]
AUTO_SVC -->|Login| WINLOGON[winlogon.exe]
WINLOGON -->|Load| EXPLORER[explorer.exe]
EXPLORER -->|Run| AUTORUNS[Registry / Startup Folder]
# 2. Autostart-Management in der Praxis
Wo sich Apps verstecken.
# 1. Task Manager (Startup Tab)
Der einfachste Weg für den schnellen Check. Windows bewertet den “Startauswirkung” (Niedrig, Mittel, Hoch) basierend auf CPU- und I/O-Last während des Logins.
# 2. Autoruns (Sysinternals) - Der Profi-Weg
Dieses Tool zeigt JEDE Stelle, an der sich Code einhaken kann (Registry, Task Scheduler, WMI, Treiber).
# Autoruns als Admin starten
autoruns64.exe
- Pro-Tipp: Nutzen Sie die “Hide Microsoft Entries” Option, um sich nur auf Drittanbieter-Müll zu konzentrieren.
# 3. Registry Pfade
Die wichtigsten manuellen Prüfpunkte:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run(Global)HKCU\Software\Microsoft\Windows\CurrentVersion\Run(Pro User)
# 3. Deep Dive: Dienst-Optimierung
Weniger ist mehr.
# Automatic (Delayed Start) via PowerShell
Verzögern Sie den Start von Diensten wie SQL-Server-Browser oder Google Update, um den Desktop schneller bereit zu haben.
Set-Service -Name "gupdate" -StartupType Automatic
# Verzögerung via Registry (da Set-Service kein 'Delayed' Flag hat)
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\gupdate" -Name "DelayedAutostart" -Value 1
# Dienst-Wiederherstellung (Recovery)
Was passiert, wenn ein kritischer Dienst abstürzt?
# Konfiguriert den Dienst so, dass er nach 1 Minute neu startet
sc.exe failure "MyServiceName" reset= 86400 actions= restart/60000
# 4. Day-2 Operations: Boot-Analyse
Messen statt Raten.
# Windows Boot Performance Diagnostics
Windows loggt Boot-Latenzen automatisch in das Event-Log:
- Pfad:
Anwendungs- und Dienstprotokolle -> Microsoft -> Windows -> Diagnostics-Performance -> Betriebsbereit - Event ID 100: Gesamt-Bootzeit.
- Event ID 101-110: Verursacher für Verzögerungen (Dienste, Apps).
# 5. Troubleshooting & “War Stories”
Wenn der Dienst den Boot blockiert.
# Top 3 Fehlerbilder
-
Symptom: “Willkommen” Bildschirm hängt für 5 Minuten.
- Ursache: Ein Dienst mit Typ “Automatic” versucht eine Netzwerkressource zu erreichen (DNS/Share), die noch nicht da ist (Timeout).
- Lösung: Auf “Delayed Start” umstellen oder Trigger-Bedingungen prüfen.
-
Symptom: Dienste lassen sich nicht stoppen (“Hängt”).
- Lösung: PID im Task Manager finden und via
taskkill /f /pid <number>hart beenden.
- Lösung: PID im Task Manager finden und via
-
Symptom: Bluescreen kurz nach dem Login.
- Ursache: Ein fehlerhafter Autostart-Treiber oder Shell-Extension.
- Lösung: Start in den “Abgesicherten Modus” und Deaktivierung via Autoruns.
# “War Story”: Der Updater-Krieg
Ein Terminal-Server wurde mit jedem Monat langsamer beim Login. Die Analyse: 20 verschiedene Applikationen (Chrome, Adobe, Java, Printer-Tools) hatten jeweils eigene “Update-Checker” Dienste und Run-Keys installiert. Beim Login von 50 Usern starteten 1000 kleine Prozesse gleichzeitig. Lehre: Deaktivieren Sie alle App-Updater auf Servern konsequent. Patchen erfolgt zentral via WSUS/SCCM (Artikel 423).
# 6. Monitoring & Alerting
Boot-Zeiten im Cluster.
# KPIs
- Avg Boot Time: Monitoring via PowerShell Skript (
Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-Diagnostics-Performance/Operational';ID=100}). - Failed Services:
Get-Service | Where-Object {$_.Status -ne 'Running' -and $_.StartType -eq 'Automatic'}.
# 7. Fazit & Empfehlung
Ein schlanker Autostart ist die beste Performance-Kur.
- Empfehlung: Nutzen Sie GPO-Präferenzen (Artikel 425), um unerwünschte Run-Keys in der Registry zentral zu löschen.
- Wahl: Verwenden Sie für Background-Tasks lieber den Task Scheduler (Artikel 471) mit “Start bei Leerlauf”, anstatt einen permanent laufenden Dienst zu erstellen.
# Anhang: Cheatsheet
| Aufgabe | Befehl |
|---|---|
| Dienst-Konsole | services.msc |
| MSConfig (Alt) | msconfig.exe |
| Dienst via CMD stoppen | net stop <service> |
| Dienst via PowerShell | Stop-Service <name> |
| Boot-Log aktivieren | bcdedit /set {current} bootlog yes |