Inhalt
Warum Windows 11 64-Bit-Dateien in System32 und 32-Bit-Dateien in SysWOW64 speichert
Warum System32 64-Bit-Dateien enthält
Wie Windows 11 32-Bit-Anwendungen an SysWOW64 weiterleitet
Verwendung des virtuellen Sysnative-Verzeichnisses
Sechs System32-Ordner sind von der WOW64-Umleitung ausgenommen
SysArm32 wird aus Windows 11 auf Arm entfernt
Kompatibilität hat Vorrang vor einer klareren Benennung
MS erklärt, warum Windows 11 64-Bit-Dateien in System32 und 32-Bit-Dateien in SysWOW64 speichert
Zeit: Oct, 20, 2026

Warum Windows 11 64-Bit-Dateien in System32 und 32-Bit-Dateien in SysWOW64 speichert

System32 von Windows 11 enthält 64-Bit-Dateien, während SysWOW64 32-Bit-Dateien enthält

MS bietet keine 32-Bit-Edition von Windows 11 an, doch das Betriebssystem muss weiterhin jahrzehntealte 32-Bit-Anwendungen unterstützen. Die Lösung basiert auf zwei Systemverzeichnissen: System32 für native 64-Bit-Dateien und SysWOW64 für 32-Bit-Dateien. Der WOW64-Dateisystem-Redirector leitet 32-Bit-Anwendungen automatisch an SysWOW64 weiter, wenn sie versuchen, auf System32 zuzugreifen.

Auf einem PC mit Windows 11 26H2 enthalten beide Verzeichnisse eine Datei namens kernel32.dll. Die Dateien sind unterschiedlich groß, da eine für 64-Bit-Anwendungen und die andere für 32-Bit-Software vorgesehen ist.

Kernel32.dll ist unter Windows 11 26H2 sowohl in System32 als auch in SysWOW64 vorhanden, doch die 64-Bit- und 32-Bit-Versionen sind unterschiedlich groß

Wenn MS die Unterstützung für 32-Bit-Software wie Apple einstellen könnte, würde Windows diese Kompatibilitätsarchitektur möglicherweise nicht mehr benötigen. Die große Zahl vorhandener 32-Bit-Anwendungen erschwert diesen Übergang jedoch erheblich.

Warum System32 64-Bit-Dateien enthält

In der Ära von 16-Bit-Windows wurden Systemdateien unter C:\Windows\System gespeichert. Mit der Einführung von 32-Bit-Windows führte MS C:\Windows\System32 für 32-Bit-Dateien ein, was den Namen des Verzeichnisses erklärt.

Als 64-Bit-Windows entwickelt wurde, hatten viele Anwendungen den System32-Pfad fest einprogrammiert, anstatt ihn über die Funktion GetSystemDirectory abzurufen. MS-Veteran Raymond Chen erklärte, dass diese Anwendungen nach ihrer Neukompilierung als 64-Bit-Programme weiterhin in System32 suchten, dort nun jedoch 64-Bit-Dateien erwarteten.

Batchdateien verursachten ein ähnliches Kompatibilitätsproblem. Wenn System32 weiterhin 32-Bit-Tools enthalten hätte, hätte ein Skript, das System32\reg.exe ausführte, die 32-Bit-Ansicht der Registrierung anstelle der erwarteten 64-Bit-Version geändert.

MS entschied daher, dass System32 Dateien enthalten würde, die der nativen Architektur des Betriebssystems entsprechen. In der Dokumentation zum File System Redirector heißt es, dass das Verzeichnis %windir%\System32 unter 64-Bit-Windows für 64-Bit-Anwendungen reserviert ist.

Auch die Namen der meisten DLL-Dateien blieben unverändert, als MS 64-Bit-Versionen erstellte. Daher heißt kernel32.dll—dessen Name älteren MS-DOS-Namenskonventionen folgt—an beiden Speicherorten kernel32.dll. Die 32-Bit-Versionen benötigten folglich ein separates Verzeichnis.

Chen wies darauf hin, dass die “32” in System32 heute lediglich ein Bestandteil des Namens und keine zutreffende Beschreibung des Inhalts mehr ist. Er schlug vor, dass der Ordner in einem idealen Design SysExec hätte heißen können, da er die für das jeweils ausgeführte Programm geeigneten Dateien bereitstellt.

WOW64 steht für “Windows 32-bit on Windows 64-bit”. Es handelt sich um MSs Kompatibilitätsschicht für 32-Bit-Anwendungen. Die “64” in SysWOW64 bezieht sich auf das Host-Betriebssystem, obwohl das Verzeichnis selbst 32-Bit-Dateien enthält. Ironischerweise verwenden 64-Bit-Anwendungen nicht den Systemordner, der “64” im Namen trägt.

Wie Windows 11 32-Bit-Anwendungen an SysWOW64 weiterleitet

Ein 32-Bit-Prozess kann keine 64-Bit-DLL zur Ausführung laden, und ein 64-Bit-Prozess kann keine 32-Bit-DLL laden. Ohne Weiterleitung würde eine 32-Bit-Anwendung, die kernel32.dll aus System32 anfordert, eine inkompatible Datei erhalten.

Unter x64-Windows leitet WOW64 relevante Dateisystemanfragen transparent weiter, sobald eine 32-Bit-Anwendung einen geschützten System32-Pfad anfordert. Die Anwendung bemerkt in der Regel nicht, dass der Pfad geändert wurde.

Dieses Verhalten lässt sich demonstrieren, indem die 32-Bit-Eingabeaufforderung über C:\Windows\SysWOW64\cmd.exe geöffnet wird. In diesem Fenster gibt echo %PROCESSOR_ARCHITECTURE% den Wert x86 zurück, während die standardmäßige 64-Bit-Eingabeaufforderung AMD64 meldet. Wird dir C:\Windows\System32\kernel32.dll in beiden Fenstern ausgeführt, werden trotz identischer Pfadangabe unterschiedliche Dateigrößen angezeigt, da der 32-Bit-Prozess zur Kopie in SysWOW64 weitergeleitet wird.

Die 32-Bit-Eingabeaufforderung meldet x86 und greift bei einer Anfrage an System32 auf die SysWOW64-Version von kernel32.dll zuDer Task-Manager zeigt an, welche Eingabeaufforderung als 32-Bit-Prozess ausgeführt wird

Selbst Matt Pietrek, damals Mitglied des Visual-Studio-Teams von MS, stieß auf dieses Verhalten. In einem Artikel des MSDN Magazine aus dem Jahr 2006 beschrieb er, wie er kernel32.dll über eine 32-Bit-Eingabeaufforderung in beiden Verzeichnissen auflistete und zunächst verwundert war, als die Ergebnisse identisch erschienen.

WOW64 beschränkt sich nicht auf die Dateisystemumleitung. Über den Registrierungs-Redirector erhalten 32-Bit-Anwendungen unter HKEY_LOCAL_MACHINE\Software\Wow6432Node eine separate Registrierungsansicht. Außerdem wird ihre Umgebungsvariable %ProgramFiles% auf Program Files (x86) gesetzt.

32-Bit-Anwendungen erhalten unter Windows 11 eine separate Registrierungsansicht unter WOW6432Node

MS weist auf eine ungewöhnliche Ausnahme im Zusammenhang mit der Benutzerkontensteuerung hin. Wenn das Öffnen einer umgeleiteten Datei eine UAC-Abfrage auslöst, findet keine Umleitung statt und Windows startet stattdessen die 64-Bit-Version. Entwickler sollten daher gegebenenfalls den SysWOW64-Pfad angeben oder die 32-Bit-Anwendung als Administrator ausführen.

Verwendung des virtuellen Sysnative-Verzeichnisses

Sysnative ist ein virtuelles Verzeichnis, das ausschließlich 32-Bit-Anwendungen zur Verfügung steht. Es ist unter C:\Windows nicht physisch vorhanden, und 64-Bit-Anwendungen können nicht darauf zugreifen. Die Eingabe von C:\Windows\Sysnative in die Adressleiste des 64-Bit-Datei-Explorers führt zu einem Fehler, während dir C:\Windows\Sysnative\cmd.exe in einer 32-Bit-Eingabeaufforderung funktioniert.

Sysnative steht 32-Bit-Anwendungen zur Verfügung, kann jedoch nicht über den 64-Bit-Datei-Explorer aufgerufen werden

Entwickler können die Umleitung durch Aufrufen der Funktion Wow64DisableWow64FsRedirection deaktivieren, doch dies wirkt sich auf jeden Dateivorgang im aktuellen Thread aus. MS warnt davor, dass das Deaktivieren der Dateisystemumleitung dazu führen kann, dass DLL-Dateien nicht geladen werden können.

Chen bezeichnete Sysnative als “eine lokale Lösung für ein lokales Problem”. Zuvor hatte er Entwicklern geraten, nicht gegen den Emulator zu arbeiten, und empfohlen, dass ein 32-Bit-Installationsprogramm ein 64-Bit-Installationsprogramm starten sollte, wenn native 64-Bit-Vorgänge erforderlich sind. Viele Kompatibilitätsprobleme entstehen, wenn eine 32-Bit-Anwendung versucht, sich wie ein 64-Bit-Prozess zu verhalten.

Sechs System32-Ordner sind von der WOW64-Umleitung ausgenommen

MS nennt sechs System32-Unterverzeichnisse, auf die 32-Bit-Anwendungen ohne Umleitung zugreifen können. Die Liste der Ausnahmen hat sich im Laufe der Zeit geändert. Beispielsweise wurde driverstore unter Windows Vista, Windows XP, Windows Server 2003 und Windows Server 2008 umgeleitet.

MS erläutert nicht den Grund für jede einzelne Ausnahme. Einige dieser Verzeichnisse enthalten jedoch gemeinsam genutzte Daten, auf die sowohl 32-Bit- als auch 64-Bit-Anwendungen einheitlich zugreifen müssen, etwa die hosts-Datei unter drivers\etc.

SysArm32 wird aus Windows 11 auf Arm entfernt

Auf Arm-basierten Computern wie Laptops mit Snapdragon X verwenden auch 32-Bit-x86-Anwendungen SysWOW64. Historisch wurden 32-Bit-Arm-Anwendungen an ein drittes Verzeichnis namens SysArm32 weitergeleitet.

Auf Arm64-Systemen übersetzt WOW64 x86-Code mithilfe eines Emulators namens xtajit.dll. Im Vergleich dazu führen x64-Prozessoren 32-Bit-Code nativ aus, wobei Wow64Cpu.dll laut MSs Implementierungsdokumentation den Wechsel zwischen den Ausführungsmodi verwaltet.

In MSs aktueller Arm-Entwicklerdokumentation heißt es, dass Arm-PCs keine 32-Bit-Arm-Anwendungen mehr unterstützen. Auch die zuvor im Verzeichnis SysArm32 gespeicherten Systembinärdateien werden entfernt. Standardmäßige x86-Anwendungen werden sowohl in 32-Bit- als auch in 64-Bit-Ausführung weiterhin über die Prism-Emulation ausgeführt, die im vergangenen Jahr Unterstützung für AVX und AVX2 erhielt.

Kompatibilität hat Vorrang vor einer klareren Benennung

MS hätte System32 vor zwei Jahrzehnten umbenennen können, doch dadurch wären viele vorhandene Anwendungen funktionsunfähig geworden. Stattdessen entwickelte das Unternehmen rund um den etablierten Verzeichnisnamen einen Redirector, einen virtuellen Alias und eine Reihe von Ausnahmen. Dies spiegelt denselben auf Kompatibilität ausgerichteten Ansatz wider, durch den Komponenten wie der Heap-Manager von Windows 95 für ältere Software erhalten blieben.

Nicht jede Anwendung überstand den Übergang zu 64-Bit-Windows, wobei 3D Pinball ein bekanntes Beispiel ist. Obwohl ein Name wie SysExec verständlicher gewesen wäre, richtet ein veralteter Verzeichnisname weniger Schaden an als weitverbreitete Ausfälle von Anwendungen und Installationsprogrammen.

2
Live Chat