El Registro: Arreglar valores corruptos

Aun cuando uno sigue todas las advertencias al respecto se producen problemas.

Algunas veces el más simple cambio en el Registro provoca efectos devastadores que ni siquiera con una copia de seguridad de un valor se arregla. XP como 2003 y otras aplicaciones son muy flexibles, aunque a este respecto la cuestión es simple: apañátelas tú mismo.

La forma más rápida de arreglar un valor corrupto es eliminar el valor y dejar que el programa lo cree de nuevo por defecto. Este método es equivalente a desinstalar y reinstalar el programa de nuevo. La parte difícil es averiguar cual es el valor que contiene el valor defectuoso. Hay también formas para arreglar aquéllos valores que Windows u otros programas no recrean.

Evitar problemas:

– Nunca meter a los usuarios dentro del grupo local de administradores, deberíamos encontrar un equilibrio usando para ello las plantillas de seguridad, o en el grupo de usuarios avanzados.

– Las directivas son otra buena manera de administrar los valores. Cumplen dos objetivos: primero configuran los valores del usuario si estos no conocen los apropiados y también configurándolos según la directiva de la empresa y que los usuarios no pueden cambiar.

– En el Registro podemos también establecer permisos sobre las llaves e impedir que los usuarios cambien los valores. Esto suena bien, aunque puede resultar complicado y tedioso. Es más recomendable utilizar las plantillas.

Windows también puede

Quizás no puedas encontrar un valor en el Registro, o que incluso eliminándolo no se arregle el problema, en este caso lo puedes intentar desde el Panel de Control. Por ejemplo los dispositivos de entrada y salida, como el ratón, teclado, pantalla o impresora o con los valores regionales o de accesibilidad. Si un dispositivo no funciona, siempre podemos intentar que Windows lo re-detecte, primero lo eliminamos del Administrdor de dispositivos y reiniciamos para ver si lo encuentra e instala de nuevo correctamente. Quitar dispositivos directamente del Registro no es aconsejable.

Arreglar valores de aplicaciones

Prevenir es curar, en este caso la mayoría de programas organizan de la misma forma sus valores en el Registro, por-usuario en HKCU y por-equipo en HKLM. Company es el nombre del que publica la aplicación, Program su nombre, y Version es el número de versión (opcional).

aplicationreg

Las aplicaciones correctamente diseñadas recrean los valores perdidos. Para reiniciar los valores por-usuario eliminamos la llave HCUSoftwareCompanyProgram. Normalmente no se eliminan los valores por-equipo ya que si se hace tiene un efecto contrario al deseado en la mayoría de aplicaciones, en cualquier caso siempre podemos tener una copia e intentarlo si llegamos a considerarlo necesario.

Las aplicaciones basadas en Windows Installer son fáciles de reiniciar ya que Windows Installer contiene la función de Reparar.

Eliminar programas desde el Registro

Como habré dicho anteriormente, la previsión hace posible resolver problemas de Registro y a su vez eliminar valores de programas, pero no lo hace fácil. Algunos programas no se desinstalan correctamente y no tenemos más elección que borrar sus restos manualmente del Registro. Por ejemplo un error durante una desinstalación que deja entradas sin eliminar, quedando entradas huérfanas.

Podemos hacerlo con herramientas de terceros, los típicos comprobadores del registro, o de forma manual. Aun cuando lleva su dificultat podemos eliminar con éxito valores de programas. En realidad es más un arte que una ciencia pero siempre disponemos de algunos pasos comunes:

– Listar los archivos exe y dll de la aplicación. La mayoría se instalan en la carpeta de Archivos de programa.

– Eliminar las llaves y valores que contienen las aplicaciones de la carpeta de instalación. Buscar en el Registro cada una de ellas, por ejemplo C:Archivos de programasAplicación contienen las subcarpetas programas y plantillas, entonces buscamos las cadenas C:Archivos de programasAplicación, C:Archivos de programasAplicaciónprogramas y C:Archivos de programasAplicaciónplantillas.

– Eliminar las llaves y valores que contengan el nombre del programa.

– Eliminar las llaves y valores que contengan los archivos exe y dll listados anteriormente.

Quitar una aplicación que se ha instalado con Windows Installer es mucho más complicado. Aunque contamos con las utilidades msicuu2.exe y msizap.exe para intentar una limpieza.

Uso de otros valores del equipo

Cuando todo lo demás nos falla y estamos desesperados por reparar valores, podemos sacarlos de otro equipo. Siempre que los valores estén dentro de una llave pequeña, por ejemplo programas simples, nunca con valores de dispositivo ya que no se está nunca seguro que Windows almacene los mismos valores para incluso el mismo dispositivo en dos equipos distintos.

Se exportan los valores en el equipo remoto o externo a un archivo, REG o de Unidad (Hive file), y luego importar desde el equipo donde se quiere reemplazar los valores.

Recuperación de un desastre

Primero diré que desde que Winternals fue adquirida por MS las herramientas de las que podríamos utilizar para recuperar Windows deberían estar en MDOP, pero este paquete parece estar dentro de un tipo de licenciamiento distinto.

Aún así, Windows nos ofrece, ya se ha visto en otras ocasiones, algunas posibilidades de recuperación de desastres. Lo primero es que no espereis a que os suceda uno para usarlas, sino que os creeis un entorno de pruebas y las utiliceis para acostumbraros y aprender de las mismas.

Menú de opciones avanzadas de Windows

Windows nos ofrece cierto número de opciones al inicio del equipo, si pulsamos la tecla de función F8.

– Modo seguro

– Modo seguro con red

– Modo seguro en línea de comandos

– Habilitar el registro de incio

– Habilitar el modo VGA

– Última configuración buena conocida

– Modo restauración de servicio de directorio

– Modo depuración

Consola de recuperación de Windows

Los comandos más comunes que podemos utilizar en la consola son:

Attrib Cambia los atributos de un archivo o directorio.
Batch Ejecuta los comandos que especifiquemos en un archivo de texto.
Bootcfg Configuración y recuperación del archivo de arranque. (BOOT.INI)
ChDir o Cd Muestra en pantalla el nombre del directorio actual o nos permite cambiar a otro.
Chkdsk Comprobación del disco con salida de informe de estado a pantalla.
Cls Limpia la pantalla.
Copy Copia un archivo en otra ubicación.
Delete o Del Elimina uno o más archivos.
Dir Muestra en pantalla la lista de archivos y subdirectorios en un directorio.
Disable Deshabilita un controlador de dispositivo o servicio del sistema.
Diskpart Administra las particiones del disco
Enable Inicia o habilita un controlador de dispositivo o servicio del sistema.
Exit Sale de la consola y reinicia el equipo.
Expand Extrae archivos desde un archivo comprimido.
Fixboot Escribe un nuevo sector de arranque de partición en la partición especificada.
Fixmbr Repara el MBR(registro de arranque maestro) del disco especificado.
Format Formatear disco.
Help Muestra en pantalla la lista de comandos que se pueden utilizar en la consola, más o menos éstos.
Listsvc Lista los servicios y controladores disponibles en el equipo.
Logon Inicia sesión en la instalación de Windows.
Map Muestra en pantalla las letras de unidad.
MkDir o Md Crea un directorio.
More Muestra en pantalla un archivo de texto.
Rename o Ren Renombra un archivo.
RmDir o Rd Elimina un directorio.
Set Muestra en pantalla y establece las variables de entorno.

Recuperación automatizada del sistema

La creación de copias ASR es parte de una estrategia global, es el último resorte para recuperar el sistema, útil sólo si ya has intentado el resto de opciones, modo seguro, última configuración buena conocida y la consola de recuperación.

Una copia ASR consta de un proceso de dos partes: La primera, hacer una copia mediante el asistente de preparación de ASR, localizado en la utilidad de copia de seguridad. El asistente copia los datos del estado del sistema, servicios y, todos los componentes del sistema operativo. También crea un archivo que contiene información sobre las copias de seguridad, configuraciones de disco y cómo restaurar el equipo. ASR no guarda o restaura archivos de datos o programas, sólo lo necesario para iniciar el equipo ante un fallo. ASR:

  1. Ejecutamos la utilidad de copia de seguridad. Inicio, todos los programas, accesorios, herramientas del sistema, copia de seguridad.
    asr01
  2. Si nos aparece el asistente, clic en Modo Avanzado, sino seguir con el siguiente paso.
    asr02
  3. En la pestaña de bienvenido clic en el asistente para iniciarlo y seguir las instrucciones que vemos en pantalla para realizar la copia y el disco ASR.
    asr03

La segunda, es el proceso de restauración del equipo. Cuando lo arrancamos desde el CD de Windows y se nos muestra el programa de instalación, presionaremos la tecla de función F2 para usar ASR. ASR lee las configuraciones de disco desde el archivo creado en la primera parte y restablece las firmas de todos los volúmenes y los discos que contienen el sistema operativo. ASR instala entonces Windows minimamente y restaura la copia de seguridad creada con el asistente. El proceso completo es similar a una reinstalación de Windows y luego restaurar una copia de seguridad propia, pero de forma automatizada.

Aunque herramientas como ERD commander, Disk commander y Remote Recover, antes del Administration pack’s de Wininternals, ahora algunas en el MDOP mencionado anteriormente.

Queremos reparar el Registro corrupto

Lo primero es arrancar la consola de recuperación, crear una carpeta temporal, realizar copia del registro actual en la carpeta temporal, borrar los archivos del registro y su ubicación, para luego copiar los archivos del Registro desde la carpeta Repair a …System32Config. Una vez copiados, se crea un registro para iniciar Windows, que es la copia que se creo durante la instalación y por tanto los cambios desde entonces se pierden.

  1. Insertamos el CD de instalación de Windows XP y reiniciamos el equipo
  2. En la pantalla de bienvenida de instalación le damos a R e iniciamos la consola de recuperación
  3. Seleccionamos la instalación a la cual queremos acceder (por si tenemos más de una)
  4. Introducimos la contraseña de administrador o ENTER si esta no existe
  5. Desde la consola ejecutaremos los comandos en orden siguientes (Asumimos que Windows está en C:Windows)

    md tmp
    copy c:windowssystem32configsystem c:windowstmp
    copy c:windowssystem32configsoftware c:windowstmpsoftware.bak
    copy c:windowssystem32configsam c:windowstmpsam.bak
    copy c:windowssystem32configsecurity c:windowstmpsecurity.bak
    copy c:windowssystem32configdefault c:windowstmpdefault.bak
    delete c:windowssystem32configsystem
    delete c:windowssystem32configsoftware
    delete c:windowssystem32configsam
    delete c:windowssystem32configsecurity
    delete c:windowssystem32configdefault
    copy c:windowsrepairsystem c:windowssystem32configsystem
    copy c:windowsrepairsoftware c:windowssystem32configsoftware
    copy c:windowsrepairsam c:windowssystem32configsam
    copy c:windowsrepairsecurity c:windowssystem32configsecurity
    copy c:windowsrepairdefault c:windowssystem32configdefault

  6. Le damos a Exit y el equipo se reinicia.

Una vez realizado, iniciaremos con una cuenta de administrador o de usuario del grupo administradores, si se tratase de Windows Home hay que iniciar en modo seguro.

Ahora, iniciado el equipo nos aprovecharemos de la utilidad System Restore para copiar los archivos de Registro de copia de seguridad, ya que esta carpeta no está disponible desde la consola de recuperación y generalmente no es visible en un uso típico de Windows. Antes pues de iniciar la restauración, cambiaremos la configuración para hacerla visible.

– Explorador de windows, menú herramientas, opciones de carpeta, pestaña Ver y activaremos las casillas para poder ver archivos y carpetas ocultos y también los protegidos por el sistema operativo.

  1. Abrimos la unidad donde está el sistema.
  2. Abrimos la carpeta System Volume Information
  3. Abrimos una carpeta cuya marca de hora sea distinta a la hora actual, bajo esta carpeta habrá una o más carpetas cuyo nombre comienza por RPx, son puntos de restauración.
  4. Abrimos una de ellas y localizamos la carpeta Snapshot.
  5. Desde la carpeta Snapshot, copiamos los archivos siguientes a C:Windowstmp, y una vez copiados se renombran como se lista:
    Archivo a copiar Nombre una vez copiado
    _REGISTRY_USER_.DEFAULT .DEFAULT
    _REGISTRY_MACHINE_SECURITY SECURITY
    _REGISTRY_MACHINE_SOFTWARE SOFTWARE
    _REGISTRY_MACHINE_SYSTEM SYSTEM
    _REGISTRY_MACHINE_SAM SAM
          asr04 

           

          Estos pasos se hacen porque los archivos no están disponibles para la consola de recuperación y hemos de colocarlos para que sí que lo estén.

          En este momento hemos de eliminar los archivos actuales de Registro y cambiarlos por los últimos obtenidos, así que volvemos a iniciar y a acceder a la consola de recuperación y desde allí:

          del c:windowssystem32configsam
          del c:windowssystem32configsecurity
          del c:windowssystem32configsoftware
          del c:windowssystem32configdefault
          del c:windowssystem32configsystem
          copy c:windowstmpsoftware c:windowssystem32configsoftware
          copy c:windowstmpsystem c:windowssystem32configsystem
          copy c:windowstmpsam c:windowssystem32configsam
          copy c:windowstmpsecurity c:windowssystem32configsecurity
          copy c:windowstmpdefault c:windowssystem32configdefault

          Finalmente Exit para salir de la consola y el equipo se reinicia.

          Ahora deberíamos restaurar el equipo a un punto en el que sabemos que funcionaba correctamente.

          * Os he dicho que hay que rezar lo que se sepa? :-))))

          Deja un comentario

          Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *