sábado, 14 de marzo de 2026

A vueltas con Wine: could not load kernel32.dll, status c0000135

Al intentar ejecutar una aplicación de Windows con Wine en mi Debian "Trixie" puede apareció el siguiente error:

could not load kernel32.dll, status c0000135

Este mensaje indica que Wine, esa capa de compatibilidad que permite ejecutar aplicaciones de Windows en Unix, Linux, macOS o FreeBSD, no puede cargar kernel32.dll, una de las bibliotecas fundamentales del sistema operativo Windows. En la práctica, esto significa que el entorno de Windows que Wine simula no está inicializado correctamente o se encuentra dañado.

En Windows, kernel32.dll es una biblioteca central que proporciona funciones básicas del sistema, y cuando Wine no puede cargar esta biblioteca, la ejecución del programa se detiene inmediatamente.

La causa más común es que el prefix de Wine (carpeta donde se ejecuta una instalación simulada de Windows) esté corrupto o incompleto.
Wine utiliza lo que se denomina un prefix (WINEPREFIX), que es una carpeta que contiene una estructura que simula una instalación de Windows. Dentro de ese directorio se encuentran el registro de Windows, las unidades virtuales y las bibliotecas necesarias para ejecutar aplicaciones.

El prefix por defecto se encuentra en:

~/.wine

Si este directorio se corrompe (por ejemplo, tras una actualización, una instalación fallida o una interrupción del sistema), Wine puede perder acceso a archivos esenciales como kernel32.dll.

La forma más sencilla de solucionar el problema consiste en regenerar el prefix de Wine.
En lugar de eliminarlo directamente, es recomendable renombrarlo para poder recuperarlo si fuera necesario.

mv -f ~/.wine ~/.wine.old

Este comando cambia el nombre del directorio ~/.wine a ~/.wine.old.



La próxima vez que se ejecute Wine, se creará automáticamente un nuevo prefix limpio. Para forzar su creación se puede ejecutar:

winecfg

Este comando inicializa el nuevo entorno de Wine y recrea la estructura de directorios necesaria.
 
 
Si todo funciona correctamente con el nuevo entorno, el directorio antiguo (~/.wine.old) puede eliminarse posteriormente.
El error “could not load kernel32.dll” suele estar relacionado con un prefix dañado. Renombrar el directorio ~/.wine y permitir que Wine genere uno nuevo suele resolver el problema en la mayoría de los casos y permite volver a ejecutar aplicaciones de Windows sin necesidad de reinstalar Wine.
 

No hay comentarios:

Publicar un comentario