¿Por qué Windows coloca archivos del sistema de 64 bits en System32 y archivos de 32 bits en SysWOW64?

📅 2026-10-20

Resumen:

En Windows 11, hay un diseño que ha confundido a los usuarios durante mucho tiempo: en un sistema de 64 bits, C:WindowsSystem32 en realidad almacena archivos del sistema de 64 bits, mientras que el directorio C:WindowsSysWOW64 con "64" en el nombre almacena archivos de 32 bits. Para los usuarios que no conocen la historia de Windows, este esquema de nombres puede parecer completamente inverso.

Los ingenieros de Microsoft explicaron recientemente nuevamente las razones detrás de este diseño. La respuesta no es que Microsoft simplemente invirtió los nombres de los directorios, sino más bien para evitar romper una gran cantidad de software que dependía de las rutas antiguas. Cuando Windows migró de una arquitectura de 32 bits a una de 64 bits, optó por conservar el nombre del directorio System32, que ya se utiliza ampliamente, y luego utilizó el mecanismo de redirección del sistema de archivos para permitir que los programas de 32 bits accedan automáticamente a otro conjunto de archivos del sistema.

Windows Latest publicó un artículo el 20 de octubre de 2026, que presentaba este problema y explicaba el mecanismo relevante junto con los documentos técnicos oficiales de Microsoft. El informe señaló que este diseño refleja plenamente la insistencia a largo plazo de Windows en la compatibilidad del software: incluso si el antiguo método de denominación ya no es intuitivo, siempre que las modificaciones precipitadas puedan provocar que una gran cantidad de programas no puedan ejecutarse, Microsoft tiende a conservar la estructura original y resolver el problema a través de la capa de compatibilidad.

Para comprender este diseño, es necesario remontarse a los primeros días de Windows.

En la era de Windows de 16 bits, los archivos del sistema se almacenaban principalmente en el directorio C:WindowsSystem. Cuando Microsoft lanzó Windows de 32 bits, el sistema necesitaba un nuevo directorio para acomodar archivos del sistema de 32 bits, por lo que se utilizó C:WindowsSystem32. De hecho, el "32" está relacionado con la arquitectura del sistema de 32 bits en ese momento.

Pero cuando apareció Windows de 64 bits, las cosas se complicaron. Una gran cantidad de software ha programado System32 en el código del programa y utiliza directamente esta ruta para acceder a los archivos del sistema en lugar de obtener dinámicamente el directorio correcto del sistema a través de la interfaz del sistema proporcionada por Windows.

Si Microsoft cambia directamente el nombre de System32 a System64 al iniciar Windows de 64 bits, es posible que muchos programas, instaladores y scripts por lotes antiguos no puedan encontrar los archivos del sistema que necesitan. Incluso si los desarrolladores recompilan el software, es posible que no puedan corregir todas las rutas codificadas a tiempo.

Lo que es aún más problemático es que algunos programas todavía leen los componentes del sistema correspondientes de System32 de forma predeterminada después de actualizarlos a una versión de 64 bits. Si Microsoft cambia System32 para almacenar solo archivos de 32 bits, estos programas de 64 bits no podrán cargar las bibliotecas de enlaces dinámicos requeridas normalmente.

Por lo tanto, Microsoft finalmente decidió conservar el nombre histórico System32 y permitirle almacenar archivos que coincidan con la arquitectura nativa del sistema operativo en Windows de 64 bits. Para la versión x64 principal de Windows 11, esto significa que System32 almacena la versión de 64 bits de los componentes del sistema, mientras que la versión de 32 bits se coloca en otro directorio.

Este directorio es SysWOW64.

WOW64 es la abreviatura de "Windows de 32 bits en Windows de 64 bits", que es un mecanismo de compatibilidad para ejecutar aplicaciones de Windows de 32 bits en Windows de 64 bits. El "64" en SysWOW64 se refiere al entorno Windows de 64 bits en el que se encuentra, no a que el archivo en sí sea de 64 bits. En otras palabras, el nombre describe la plataforma a la que se dirige el mecanismo de compatibilidad, no la cantidad de bits en el binario del directorio.

El ingeniero senior de Microsoft, Raymond Chen, explicó una vez en un artículo técnico que el "32" en System32 se ha convertido gradualmente en un nombre heredado histórico, al igual que algunas marcas, incluso si ya no reflejan completamente el significado original, aún se conservarán debido al uso a largo plazo.

Si se puede rediseñar todo el sistema, cree que un nombre de directorio más ideal podría ser algo como SysExec, que se utiliza para almacenar archivos ejecutables que coinciden con la arquitectura actual del sistema. Pero Windows existe desde hace décadas, y System32 ha sido durante mucho tiempo un camino fijo del que dependen innumerables programas, por lo que los riesgos potenciales de cambiar el nombre superan con creces los beneficios de nombrarlo.

Además de los nombres de directorios, Windows de 64 bits también necesita resolver un problema más práctico: los programas de 32 bits no pueden cargar directamente bibliotecas de enlaces dinámicos de 64 bits, y los programas de 64 bits no pueden cargar directamente bibliotecas de enlaces dinámicos de 32 bits.

Por ejemplo, kernel32.dll es un componente importante del sistema de Windows. Se pueden encontrar archivos con el mismo nombre en System32 y SysWOW64, pero están compilados para arquitecturas diferentes y no se pueden intercambiar simplemente. Cuando Windows Latest verificó estos dos directorios en el sistema Windows 11 26H2, también encontró diferencias en el tamaño de los archivos correspondientes.

Si un programa de 32 bits carga directamente la versión de 64 bits en System32, es posible que no pueda ejecutarse debido a una arquitectura binaria incompatible. Para evitar esta situación, Windows introdujo el redirector del sistema de archivos WOW64.

En Windows de 64 bits, cuando un programa de 32 bits intenta acceder a C:WindowsSystem32, el sistema normalmente redirige automáticamente la solicitud de acceso a C:WindowsSysWOW64. Este proceso es básicamente transparente para el programa en sí, todavía cree que está accediendo a System32 y el sistema operativo encuentra el archivo de 32 bits correcto detrás de escena.

La documentación oficial de Microsoft establece claramente que el directorio System32 en Windows de 64 bits está reservado para aplicaciones de 64 bits, y WOW64 es responsable de redirigir el acceso de los programas de 32 bits a algunas rutas del sistema a los directorios de 32 bits correspondientes.

Este mecanismo no solo involucra la biblioteca de vínculos dinámicos del sistema, sino que también afecta a algunas herramientas del sistema. Por ejemplo, cuando un programa de 32 bits accede a determinadas herramientas del directorio de Windows, es posible que sea redirigido a la versión correspondiente en SysWOW64. Esto evita que los programas de 32 bits hagan un mal uso de las herramientas de 64 bits o realicen operaciones incorrectas si la arquitectura del sistema operativo no coincide.

El Administrador de tareas muestra qué símbolo del sistema se ejecuta como un proceso de 32 bits.jpg

WOW64 también maneja problemas de compatibilidad como el acceso al registro y las rutas de instalación de programas. Para aplicaciones de 32 bits, Windows puede proporcionar una vista de registro independiente; una ubicación típica es HKEY_LOCAL_MACHINESoftwareWow6432Node. El sistema también suele señalar la ruta de los Archivos de programa de los programas de 32 bits a C:Archivos de programa (x86), de modo que el software de diferentes arquitecturas se pueda administrar por separado en la medida de lo posible.

Juntos, estos mecanismos forman parte del sistema de compatibilidad de Windows, lo que permite que una gran cantidad de software escrito para las primeras versiones de Windows de 32 bits aún se ejecute en Windows 11 de 64 bits, sin que los desarrolladores tengan que reescribir todo el código de cada programa antiguo.

Sin embargo, la redirección del sistema de archivos también puede provocar algunas situaciones que pueden confundir fácilmente a los desarrolladores.

Por ejemplo, un símbolo del sistema de 32 bits y un símbolo del sistema de 64 bits, incluso si usan la ruta aparentemente idéntica para acceder a C:WindowsSystem32kernel32.dll, los archivos reales obtenidos pueden ser diferentes. El primero suele ser redirigido a SysWOW64, mientras que el segundo accede directamente a System32.

Matt Pitrek, un ex miembro del equipo de Microsoft Visual Studio, mencionó en un artículo técnico que también dedicó tiempo a solucionar el problema porque obtuvo resultados confusos cuando el símbolo del sistema de 32 bits enumeraba archivos con el mismo nombre en dos directorios. Esto muestra que, aunque la redirección del sistema de archivos puede mantener la compatibilidad del software, también complica el trabajo de depuración y desarrollo del sistema.

Para resolver algunas situaciones especiales, Microsoft también proporciona una ruta virtual llamada Sysnative. Si un programa de 32 bits realmente necesita acceder al directorio System32 nativo de Windows de 64 bits, puede usar C:WindowsSysnative para evitar la redirección habitual del sistema de archivos.

Cabe señalar que Sysnative no es una carpeta real en el disco, sino un alias de ruta proporcionado especialmente por Windows. Las aplicaciones de 64 bits no pueden usar este alias como los programas de 32 bits, por lo que cuando los usuarios buscan Sysnative directamente en el Explorador de archivos, es posible que el sistema les indique que la ruta no existe.

Las-aplicaciones-de-32 bits-obtienen-su-propia-vista-de-registro-bajo-WOW6432Node-on-Windows-11.jpg

Microsoft también enumera una serie de subdirectorios System32 que no se ven afectados por la redirección normal del sistema de archivos, incluidos:

C:WindowsSystem32catroot

C:WindowsSystem32catroot2

C:WindowsSystem32driverstore

C:WindowsSystem32driversetc

C:WindowsSystem32archivos de registro

C:WindowsSystem32spool

Estos directorios implican funciones tales como directorios de componentes del sistema, almacenamiento de controladores, archivos de configuración de red, registro e impresión. La documentación de Microsoft enumera claramente estas rutas de excepción, pero no proporciona una explicación unificada de los motivos de diseño específicos para cada excepción. Windows Latest cree que algunos de estos directorios pueden contener datos a los que deben acceder de forma conjunta programas con diferentes arquitecturas, como el archivo hosts en los controladores, etc.

Además de la plataforma x64, el mecanismo de compatibilidad de Windows en la arquitectura Arm también ha visto un diseño multidirectorio similar.

En algunos de los primeros sistemas Windows on Arm, los programas x86 de 32 bits usan SysWOW64, mientras que los programas Arm de 32 bits pueden acceder a los componentes correspondientes del sistema a través de SysArm32. Dado que la plataforma Arm necesita lidiar con problemas de compatibilidad entre diferentes arquitecturas de conjuntos de instrucciones, Windows también utiliza los mecanismos de simulación y conversión correspondientes.

Sin embargo, la última documentación de desarrollo de Arm de Microsoft ha indicado que Windows en Arm ya no admitirá aplicaciones Arm de 32 bits y los archivos binarios del sistema relacionados también se eliminarán del directorio SysArm32. Al mismo tiempo, las aplicaciones x86 normales aún pueden ejecutarse a través del mecanismo de compatibilidad y algunos programas x86 son compatibles con la tecnología de emulación Prism.

Sysnative-solo-funciona-para-aplicaciones-de-32-bits-por-que-el-Explorador-de-archivos-de-64-bits-no-puede-encontrarlo.jpg

Esto también muestra que el sistema de compatibilidad de Windows no es completamente estático. A medida que cambien las plataformas de hardware y los ecosistemas de software, Microsoft seguirá eliminando gradualmente el soporte para algunas arquitecturas antiguas, pero para las aplicaciones que todavía se utilizan ampliamente, la empresa intentará mantener la compatibilidad tanto como sea posible.

Desde un punto de vista técnico, la denominación de System32 y SysWOW64 no es lo suficientemente intuitiva. Para los usuarios normales, es natural pensar que los archivos de 64 bits se almacenan en el directorio cuando ven "64". Pero en Windows, los nombres de los directorios reflejan la historia en lugar de un conjunto de reglas diseñadas desde cero para seguir la intuición.

La razón principal por la que Microsoft no cambió simplemente el nombre de los dos directorios fue la compatibilidad. Windows necesita ejecutar una gran cantidad de software histórico y estos programas pueden depender de rutas fijas, interfaces de sistemas heredados y diseños de archivos binarios específicos. La modificación imprudente de estas infraestructuras puede causar fallas en la instalación del software, anomalías en las herramientas del sistema e incluso afectar los procesos comerciales que dependen de componentes antiguos.

Por lo tanto, Microsoft optó por resolver el problema mediante mecanismos como la redirección del sistema de archivos, la redirección del registro y rutas virtuales, en lugar de reconstruir completamente el sistema de nombres de directorios.

Este diseño no es perfecto, pero refleja una diferencia importante en el camino de desarrollo de Windows y otros sistemas operativos: Windows siempre necesita encontrar un equilibrio entre la modernización continua y la compatibilidad con software de décadas de antigüedad. El nombre aparentemente invertido de System32 y SysWOW64 es un rastro típico que deja esta estrategia de compatibilidad a largo plazo.

Etiquetas relacionadas

Artículos relacionados

Comentarios

0/500
Captcha (click to refresh)
Sin comentarios