Kostenloses Tool

Windows-Fehlercode entschlüsseln

Code eingeben — Bedeutung, Ursache und Lösungsweg. Und falls der Code nicht in der Liste steht: die strukturelle Zerlegung, mit der ein Administrator ihn trotzdem einordnet.

Von ·

Fehlercode eingeben

Hexadezimal oder dezimal, mit oder ohne 0x. Auch negative Werte aus Ereignisanzeige oder Skript-Ausgaben.

Beispiele: 0x80070005 · 80070005 · -2147024891

Die kurze Antwort

Ein Windows-Fehlercode wie 0x80070005 ist keine zufällige Nummer, sondern ein 32-Bit-Wert mit fester Struktur. Das führende 8 heißt „Fehler", die 7 an der vierten Stelle heißt „das ist ein ganz normaler Win32-Fehler", und die letzten vier Stellen sind dessen Nummer — hier 0005, also Zugriff verweigert. Wer das einmal verstanden hat, kann die meisten 0x8007…-Codes selbst einordnen, auch ohne Tabelle.

Wie ein HRESULT aufgebaut ist

Windows verpackt Fehler in einen sogenannten HRESULT. Die 32 Bit sind in Felder aufgeteilt, und jedes Feld beantwortet eine andere Frage:

BitsFeldBedeutung
31Severity1 = Fehler, 0 = Erfolg. Deshalb beginnen Fehlercodes mit 8 oder höher.
30–27ReserviertKennzeichnet u. a. herstellereigene Codes und aus NTSTATUS abgeleitete Werte.
26–16FacilityWelches Teilsystem den Fehler gemeldet hat. Das ist das wichtigste Feld.
15–0CodeDie eigentliche Fehlernummer innerhalb dieses Teilsystems.

Warum die Facility so viel verrät

Die Facility grenzt die Ursache ein, noch bevor man die Fehlernummer kennt. Die Werte, die im Alltag praktisch immer auftauchen:

FacilityNameTypische CodesWoran es meist liegt
0NULL0x8000…, 0x8004…Allgemeine COM-Fehler, oft ohne genauere Aussage
7WIN320x8007…Rechte, Dateien, Pfade, Dienste — die häufigste Gruppe
15SETUPAPI / CBS0x800F…Windows-Komponenten, Updates, Features
36WINDOWSUPDATE0x8024…Update-Dienst, Proxy, WSUS-Anbindung
9SECURITY / SSPI0x8009…Zertifikate, Anmeldung, Verschlüsselung
12INTERNET0x8007 2ExxVerbindung, TLS, Systemzeit

HRESULT oder NTSTATUS — ein häufiger Irrtum

Nicht jeder Code, der mit 0x beginnt, ist ein HRESULT. Werte, die mit 0xC anfangen — etwa 0xC000000D — stammen aus dem Kernel und sind NTSTATUS-Werte mit eigenem Aufbau. Wer sie nach dem HRESULT-Schema liest, bekommt eine plausibel aussehende, aber falsche Facility. Das Werkzeug oben erkennt diesen Fall und sagt es dazu.

Wo Sie den vollständigen Code überhaupt finden

Viele Fehlerdialoge zeigen nur einen abgeschnittenen Hinweis oder gar keinen Code. Die vollständige Nummer steht fast immer an einer dieser drei Stellen:

  • Ereignisanzeige (eventvwr.msc) unter Windows-Protokolle → Anwendung und System. Nach Zeitstempel filtern, nicht nach Text — der Eintrag mit dem Code liegt oft Sekunden neben dem, der die Meldung ausgelöst hat.
  • Windows Update: Einstellungen → Windows Update → Updateverlauf. Dort steht hinter jedem fehlgeschlagenen Eintrag der 0x…-Code, den der Dialog selbst verschweigt.
  • PowerShell übersetzt einen Win32-Fehler direkt in Klartext, ganz ohne Nachschlagewerk: [ComponentModel.Win32Exception]::new(5).Message liefert für die 5 die Systemmeldung in der eingestellten Sprache. Das ist der schnellste Weg, wenn Sie die Nummer bereits aus der Facility WIN32 herausgelöst haben.

Ein praktischer Hinweis noch: Notieren Sie sich immer den vollständigen achtstelligen Code. 0x80070005 und 0x80090005 unterscheiden sich in einer Ziffer, kommen aber aus völlig verschiedenen Teilsystemen — das eine ist ein Rechteproblem, das andere betrifft die Sicherheitsschicht. Wer nur „Fehler 5" weitergibt, verliert genau die Information, die den Unterschied macht.

Wenn das nicht hilft

Manchmal ist der Code korrekt entschlüsselt und man ist trotzdem nicht schlauer, weil 0x80004005 („unspezifischer Fehler") schlicht nichts aussagt. Dann helfen drei Dinge, in dieser Reihenfolge:

  • Den Kontext lesen, nicht den Code. In der Ereignisanzeige steht unter Windows-Protokolle → Anwendung und System fast immer ein zweiter Eintrag mit demselben Zeitstempel, der konkreter ist als der Code selbst.
  • Bei Update-Fehlern (0x800F…, 0x8024…) die Protokolle direkt ansehen: C:\Windows\Logs\CBS\CBS.log nennt die Datei oder Komponente, an der es scheitert — der Fehlercode allein nennt sie nie.
  • Systemdateien prüfen lassen mit DISM /Online /Cleanup-Image /RestoreHealth und anschließend sfc /scannow. Diese Reihenfolge ist nicht beliebig: sfc braucht einen intakten Komponentenspeicher, den DISM zuvor repariert.

Ein Hinweis zur Erwartung

Ein Fehlercode beschreibt, woran eine Aktion gescheitert ist — nicht, warum. 0x80070005 sagt „Zugriff verweigert", aber nicht, ob eine Datei gesperrt war, ein Dienstkonto zu wenig Rechte hatte oder ein Virenscanner dazwischenfunkte. Die Zerlegung oben ist der Anfang der Fehlersuche, nicht ihr Ergebnis.

Häufige Fragen

Was bedeutet das 0x am Anfang?

Es kennzeichnet eine Hexadezimalzahl. Derselbe Fehler erscheint je nach Quelle auch als negative Dezimalzahl — -2147024891 ist derselbe Wert wie 0x80070005. Das Werkzeug oben nimmt beide Formen an.

Warum bedeuten 0x8007…-Codes oft etwas Einfaches?

Weil die 7 für FACILITY_WIN32 steht. Die unteren 16 Bit sind dann ein gewöhnlicher Win32-Fehler — bei 0x80070005 die Nummer 5, also „Zugriff verweigert".

Was ist der Unterschied zwischen HRESULT und NTSTATUS?

HRESULT-Fehler beginnen meist mit 0x8, NTSTATUS mit 0xC. NTSTATUS kommt aus dem Kernel und hat einen anderen Aufbau; die HRESULT-Felder gelten dort nicht.

Der Code steht nicht in der Liste — was jetzt?

Das Werkzeug zerlegt auch unbekannte Codes und erfindet keine Bedeutung. Schon die Facility grenzt die Ursache stark ein.

Die hinterlegten Bedeutungen sind auf gängige Fehler beschränkt. Unbekannte Codes werden strukturell zerlegt, aber nicht interpretiert.