REVISIÓN DE LAS HERRAMIENTAS DE MANTENIMIENTO DE WIN 98.
------------------------------------------------------------------------------------------------------------
Aunque sea un tema conocido por casi todos los participantes de estos grupo, conviene de vez en cuando pegar un pequeño repaso a las herramientas "semiocultas" de win98, tanto para la recuperación, mantenimiento del sistema como para ciertas labores de control.
SFC
------System File Checker. Es un programa que reside en windows\system y que por desgracia Windows no coloca acceso directo a él.
Su función principal es "verificar" los programas y DLL que tenemos en el sistema y permite su recuperación.
Repasemos un poco su funcionamiento. Windows al instalarse trae una base de datos (un fichero llamado default.sfc) en el directorio de Windows con las fechas y números de versión de los programas y DLLs originales del propio Windows.
Uno de los problemas que existen en la instalación de cualquier producto, es que nos "machaque" alguna de las DLLs necesarias para el correcto funcionamiento de Windows. Y si por desgracia, el producto que acabamos de instalar, nos monta una DLL cuyo "número" de versión es inferior, lo mas probable es que alguno de los productos, o bien el propio Windows, deje de funciona o nos dé errores aleatorios. Por tanto, lo importante es verificar siempre el número de versión de las DLLs que los productos nos pueden machacar.
Si ejecutamos SFC por primera vez nada más instalar Windows, antes de mandar "ejecutar", podemos darle al botón de opciones, y veremos dos casilleros en la parte inferior de la pantalla, que podemos marcar para que "verifique número de versión" y "verifique programas borrados". Por defecto, y esto es importante: *NO* vienen marcados.
¿Qué sucede si no están marcados?. Pues que el programa al ejecutarse, mira todas la DLLs de Windows y actualiza con estos datos su fichero default.sfc.
¿Y qué sucede si lo ejecutamos nada más instalar Windows, pero previamente tenemos marcados dichos casilleros?. Pues que nos sorprenderemos de verificar que los chicos de MS son tan chapuzas como que la base de datos que nos dan para al SFC no está tan correcta como pudiéramos imaginar.....
Bien, el tema, es que una vez ejecutado por primera vez, ya tendremos la base de datos (default.sfc) correcta. Evidentemente, antes de salirnos del programa, debemos verificar que en la pantalla de opciones, dichos casilleros los dejamos marcados. Así no se nos olvidará la proxima vez.
Bien, además, debemos saber que cada vez que ejecutamos el SFC, nos deja un fichero de "historia" de las versiones y los cambios en el directorio de Windows, llamado SFCLOG.TXT. Siempre escribe al final de dicho fichero, por lo que tendremos una historia de los cambios.
Mi consejo, es que antes de instalar ningún producto, ejecutemos el SFC. Posteriormente, "editamos" (por ejemplo con el programa "Edit" o con el "Notepad" el archivo SFCLOG.TXT y al final de él, grabemos una línea que diga: "Instalación del producto xxxxx". Posteriormente ejecutamos SFC, y recuperamos (haciendo caso al número de versión), lo que nos haga falta. Esto último, con matices.... ya lo veremos a continuación.
Con esto conseguimos que el fichero SFCLOG.TXT tenga perfectamente identificada "cada" instalación de algún producto.
* ¿Qué problemática nos podemos encontrar?. Veamos un poco: supongamos instalada la version 1001 de una determinada DLL. Supongamos que luego instalamos un producto MS (o de un tercero) que pone un número de versión superior: la 1111. (imaginemos que al instalar IE 5, por ejemplo, sucede esto). Y ahora imaginemos por fin, que al instalar cualquier otro producto de terceros chapuceros, coge y nos machaca esa DLL por la version 900.
Con esto ¿qué sucedería?. Bien, el IE 5 ya no funcionaría correctamente, pero además por ser una versión inferior a la que trae w98, puede que este último tampoco funcione correcto.
Ahora ¿qué decision debemos tomar para recuperar?. Bien, lo primero sería mirar en el archivo SFCLOG.TXT, quién nos instaló, la "última" versión. Veríamos que ha sido el IE5. Entonces lo tenemos fácil: deberemos "reinstalar" IE5 y con esto tendremos todo correcto.
* Un caso muy sencillito por otra parte, sería que tuviésemos la version 1001 de una DLL (recién instalado Windows) y que al instalar un producto nos pusiese un numero de versión inferior. Entonces, simplemente recuperando desde el propio disco de instalacion de Windows con el SFC, lo tendríamos arreglado.
Es decir existen dos casuísticas diferenciadas:
1) Que las DLL machacadas sean del propio w98. En este caso, recuperamos con el SFC.
2) Que las DLL machacadas provengan de la instalación de algún producto (verificado mirando el fichero sfclog.txt). En este caso, deberemos reinstalar dicho producto.
** NOTA 1: A igualdad de número de versión y tamaños o fechas diferentes, dar por buenos los ficheros que hay en ese momento. Existen programas de optimizacion (WALIGN) del propio MS, que optimizan las DLL, cambiando su tamaño -normalmente haciéndolo mayor- y que dejan el mismo número de versión.
** NOTA 2: Algunas veces, el SFC puede informarnos de los siguientes errores:
a) Que nos diga que un fichero está corrupto. NO se debe hacer caso de este mensaje y debemos dar por bueno el fichero (esto sucede con todo el CRITOAPI -criptografía- del IE, debido a las firmas digitales de la NSA). Debe darse todo por bueno.
b) Que nos diga que el user32 o el krnl32 del propio Windows están dañadas. Esto es "mentira". Es un error del SFC. NUNCA recuperar porque lo más probable es que Windows no vuelva a arrancar. Dar por buenos los archivos.SCANREG
----------------Es un utilidad que opera sobre el "registro" de Windows y que tiene dos funciones principales:
1) Cuando se ejecuta desde Windows, nos crea una copia del registro en la carpeta c:\windows\sysbckup, llamada RB00x.CAB (siendo x un número entre 0 y 5).
2) Ejecutada desde MSDOS con un parámetro especial que veremos a continuación, permite recuperar uno de los registro guardados.
** Bien, Windows, la primera vez que entra "en el día", genera él solito una copia automática del registro. Posteriormente, si queremos crear una copia a mano (por ejemplo, antes de la instalación de un producto), podemos ejecutar SCANREG desde Windows y nos creará la copia.
Por defecto, Windows guarda los últimos 5 días, o bien las últimas 5 copias. Pero esto puede modificarse en el archivo scanreg.ini que está en el directorio de Windows.
* Si alguna vez, vemos que algun programa nos ha "destrozado" Windows, esto puede ser por dos motivos: uno porque haya machado DLLs o programas, que podremos siempre recuperar con el SFC. Y otro motivo es porque nos haya destrozado además el registro.
Si tenemos, en ese caso, necesidad de recuperar el registro, debemos arrancar el PC con la tecla CTRL pulsada, con lo cual nos saldrá un menú. En él selecionamos "Sólo Símbolo del Sistema", y allí tecleamos:
scanreg /restore
Nos mostrará una lista de las últimas 5 copias del registro. Selecionamos la que queremos y recuperamos.
============================================
Bien, con estas dos herramientas bien manejadas, nadie puede echar la culpa a Windows de que funcione mal ¿no?. Únicamente siendo nosotros mismos cuidadosos con esto, nunca tendremos los clásicos problemas de "navegando me sale error en kernl32", o bien, me sale una pantalla azul con excepción 0E y no sé arreglarlo...
============================================
Un saludo,
José Manuel Tella Llop