lunes, 25 de marzo de 2013

Mi propio black screen of death

Este es un error que lleva mucho, mucho, mucho tiempo pasándome. He intentado hacer de todo y de momento no he conseguido saber qué es lo que sucede. Cuando creo que ya lo he arreglado, vuelve a pasarme. Lo peor de todo es que es aleatorio. Estas haciendo cualquier cosa (o te vas, y dejas el ordenador encendido) y el equipo se le pone la pantalla negra (que no apagada, y no es el salva pantallas) y no responde nada: ni el sonido (si estabas escuchando algo), ni el teclado ni el ratón... nada. Niente.

¿Cosas que he probado? Probé a cambiar los drivers de la tarjeta gráfica (que pueden ir por ahí los tiros): Una ATI de la que hay que  instalar los drivers de Windows Vista.

Probé a lanzar un

sfc /scannow

con privilegios de administrador para examinar y reparar los ficheros del sistema que pudieran producir este error. Y vuelve a suceder. Lo peor de todo es que los logs que suelta esta herramienta no se pueden seguir. Horas y horas de logs. Imposible de leer por la gran cantidad de información que sueltan. Pero tampoco lo acaba de solucionar. Muchos días después de haber lanzado este comando, me lo sigue haciendo.

Tengo varias ideas en mente.

Una: buscar alguna herramienta que sea capaz de poner en orden estos logs. Así, podría intentar quitar toda la paja y ver lo que realmente es importante. Al buscar algún sitio que diga cómo se pueden leer, me he encontrado uno que, aunque también lo cuenta, dice que para más detalles vayamos al KB de Microsoft. En general, vienen a decir lo siguiente. Después de lanzar la herramienta:

sfc /scannow
sfc /scannow
podremos encontrarnos los resultados en el fichero %windir%\CBS\CBS.log. Pero, como no es exclusivo de esta herramienta, hay que localizar sus resultados buscando el flag [SR] dentro del log. Para no tener que estar buscando, una forma sería hacer una búsqueda de éste utilizando la consola y forzar la salida a otro fichero en vez de a pantalla. El ejemplo que ponen (y que utilizaré cuando termine la ejecución) sería:

findstr /c:"[SR]" %windir%\logs\cbs\cbs.log >sfcdetails.txt

y a mirar lo resultados. Pero, no tengo mucha esperanza de que pueda encontrar el problema. Si así fuera, ya habría dejado de hacerlo. Vamos a ver: el resultado que he obtenido es más o menos similar a la anterior vez que lo lancé. Dice que hay "archivos dañados".  Y que "los reparó correctamente". Pero sigo igual:

sfc /scannow - finalizado
sfc /scannow - finalizado
Por lo tanto, una vez he creado el fichero sfcdetails.txt, y siguiendo el consejo de Microsoft, me he puesto a buscar la cadena Repairing corrupted file para ver qué encontraba. En efecto, han aparecido algunas cosas: una reparación de diskmgt.chm (un fichero de ayuda). Sale 4 veces, en 2 bloques de 2. Esto no puede ser lo que hace que se caiga el sistema. Además, el log es mucho, mucho más pequeño (sólo como reseña).

¿Qué otras cosas he hecho? He pasado un memtest. De esos que tienen los liveCDs. Tampoco me ha dicho que se hubiese producido algún error. Lo que sí que he visto que es que en vez de mostrar los 4096MB, mostraba unos 3962 (o por ahí). Vamos, la diferencia era más o menos de 128 MB. Cuando me puse a buscarlo hace una semana (cuando pasé ese memtest) me dio la sensación de haber encontrado que si la memoria gráfica está compartida con la RAM, podía suceder. Pero, a decir la verdad, no me ha quedado del todo claro si eso es cierto. O, al menos, que en ese caso eso sea posible. Si no fuera cierto, ya tendríamos la posible razón por la que me estuviese pasando.

Otra opción que se me ha ocurrido: algún driver no está del todo bien. O algún programa que se está ejecutando todo el rato. Sí recuerdo que me llegó a suceder al principio de los tiempos, cuando tenía el Norton instalado. Fue quitarlo y dejó de suceder. Esa sería otra vía de búsqueda. Lo primero que intentaría hacer el buscar algún software de workbench para ver si va logueando cada parámetro y se rompe en el punto que me está fallando.

Para esta opción de los drivers, lo primero que he encontrado ha sido el driver verifier manager, y después el driverquery. Pues he hecho las pruebas en sentido inverso. Primero he probado el driverquery, y después he configurado el driver verifier manager en mi equipo, con sus dos posts correspondientes. Con respecto a la primera herramienta mencionada en este párrafo, comentan los BSODs. A mi de momento no me salen, pero por si las moscas, voy a ver si consigo obtener información sobre qué está pasando para que me suceda este error.

Un buen tiempo después de haber escrito los párrafos anteriores (justo cuando escribí mis posts que referencio ahí), he descubierto que Sandboxie ha dejado de funcionar, y a su vez, no me ha vuelto a suceder el "apagón" a pantalla negra. Por lo tanto, puedo deducir que Sandboxie es el responsable de que la pantalla de mi Windows se quede de repente en negro, como si de un BSOD se tratase, pero en negro y sin letras.

Por lo tanto, y para resumir, las posibles soluciones a un comportamiento de este tipo son:
- Lanzar el sfc /scannow y mirar sus logs.
- Lanzar driverquery y revisar los drivers disponibles con sus estados.
- Tener activado una temporada el driver verifier manager.

No hay comentarios:

Publicar un comentario