El fallo en el logon es suele ser debido a que el fichero userinit.exe este corrupto o no este, o en su defecto la clave de registro no apunte al fichero correcto.
Comprueba que la clave de registro userinit esta en el lugar correspondiente
C:\windows\system32\userinit.exe
si no es así cámbiala.
¿Como puedes comprobar la clave si no puedes iniciar sesión?
Con el registro remoto, con otro equipo cualquiera conectado a la red, en archivo «Conectar al registro de red»
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Winlogon
A continuación busca en el directorio si esta el fichero userinit.exe en cuestión si no es así descargatelo y copialo en ruta adecuada, con un boot cd de windows o de otra maquina con mismo sistema operativo.