Información general acerca del registro interno de Windows

Registro de Windows

El Registro interno de Windows (Windows Registry, registro del sistema) es una base de datos jerárquica (en forma de árbol) que contiene inscripciones que definen los ajustes y configuraciones de los sistemas operativos de Microsoft Windows.

El registro interno, tal y como aparece cuando se visualiza mediante el “Editor del registro”, se conforma a partir de datos tomados de los ficheros del propio registro interno y de la información sobre el hardware recopilada durante el proceso de arranque. En la descripción de los ficheros de registro en inglés, se usa el término Hive. En la documentación de Microsoft, ese término se traduce como Arbusto.

Principales ficheros responsables de conformar el registro interno

Los ficheros de registro se crean durante el proceso de instalación del sistema operativo y se almacenan en la siguiente carpeta:

%SystemRoot%\system32\config (generalmente C:\windows\system32\config).

En el caso de los sistemas operativos de Windows, se trata de los ficheros denominados:

  • system
  • software
  • sam
  • security
  • default
  • components
  • bcd-template

En los  sistemas  operativos  Windows Vista,  Windows 7,  Windows 8,  Windows 8.1, Windows 10, los ficheros de registro se encuentran ubicados en el directorio \Windows\system32\config y tienen esos mismos nombres, sin embargo, en estos sistemas operativos se ha añadido una nueva partición de registro para almacenar los datos de configuración del arranque (Boot Configuration Data) con el nombre BCD00000000.

El fichero con los datos de esta partición se llama bcd y se encuentra en la carpeta oculta Boot de la partición activa (la partición desde la cual se inicia el sistema).

Habitualmente, una instalación estándar de Windows crea una pequeña partición activa (de 100 a 500 megabytes dependiendo del sistema operativo) que queda oculta para el usuario y que sólo contiene datos del servicio interno para arrancar el sistema: registros del arranque, administrador del arranque bootmgr, almacén de configuración del arranque BCD, ficheros de localización y programas para pruebas de la memoria.

La ubicación del arbusto BCD depende de cómo esté configurado el administrador de arranque del sistema cuando se instala el sistema, y puede estar ubicado en la misma partición que el directorio de Windows.

La ubicación de los ficheros del registro en cualquier versión de Windows puede verse utilizando el Editor del registro, en la siguiente ruta:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist

Esta sección almacena información sobre todos los arbustos, incluidos los perfiles de usuario, con enlaces a su ubicación en el sistema de ficheros de Windows.

Estructura del registro interno

El registro interno de Windows tiene una estructura de árbol y consta de 5 secciones de registro principales:

HKEY_LOCAL_MACHINE (HKLM) es la sección más grande del registro. Contiene todas las configuraciones principales del sistema operativo, así como del hardware y software del equipo. La información contenida en esta sección se aplica a todos los usuarios que se autorizan en el sistema e inician sesión.

HKEY_CLASSES_ROOT (HKCR) contiene asociaciones entre aplicaciones y tipos de fichero (según extensiones de los ficheros). Además, esta sección contiene información sobre tipos de fichero registrados y elementos de COM y ActiveX. Además de HKEY_CLASSES_ROOT esta información también se guarda en las secciones: HKEY_LOCAL_MACHINE y HKEY_CURRENT_USER.

La sección HKEY_LOCAL_MACHINE\Software\Classes  contiene la configuración predeterminada que se aplica a todos los usuarios del equipo local. La configuración contenida en: HKEY_CURRENT_USER\Software\Classes, reconfigura la predeterminada y se aplica sólo al usuario actual. La sección HKEY_CLASSES_ROOT incluye datos de ambas fuentes.

HKEY_USERS (HKU) contiene la configuración del entorno para cada uno de los perfiles de usuario cargados, y también para el perfil predeterminado. HKEY_USERS contiene la subsección \Default, así como otras subsecciones definidas por el ID de seguridad (Security ID, SID) de cada usuario.

HKEY_CURRENT_USER (HKCU) contiene la configuración del entorno para el usuario actualmente conectado y autorizado en el sistema (variables de entorno, ajustes del escritorio, configuración de red, aplicaciones y dispositivos conectados).

Esta sección duplica/repite la información en HKEY_USERS\user SID, donde user SID es el identificador de seguridad del usuario actualmente registrado en el sistema (puedes averiguar el SID del usuario actual escribiendo en Símbolo del sistema lo siguiente: whoami /user).

HKEY_CURRENT_CONFIG (HKCC) contiene la configuración del actual perfil de hardware. El actual perfil de hardware incluye conjuntos de cambios realizados en la configuración estándar de los dispositivos, especificados en las subsecciones Software y Sistem de la sección raíz HKEY LOCAL_MACHINE.

HKEY_CURRENT_CONFIG refleja solamente los cambios. Además, la información de esta sección se encuentra ubicada en:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\HardwareProfiles\Current.

Los datos en el registro se almacenan en forma de parámetros ubicados en las claves del registro. Cada parámetro se caracteriza por su nombre, tipo de datos y valor.

Principales tipos de datos que se utilizan en el registro interno

REG_DWORD es un número de 32 bits. Este tipo de datos es usado en muchos parámetros de controladores para dispositivos y servicios. Los editores de registro pueden mostrar estos datos en formato binario, hexadecimal y decimal.

REG_SZ es una cadena de texto en formato cómodo y legible para humanos. Los valores que representan descripciones de componentes suelen usar este tipo de datos.

REG_EXPAND_SZ es una cadena de datos extensible. Esta cadena es un texto que contiene una variable que puede ser remplazada cuando se pide por parte de la aplicación, por ejemplo, se utiliza para registrar variables del entorno.

REG_MULTI_SZ es un campo de cadenas múltiples. Los valores que en realidad son listas de cadenas textuales en un formato legible para humanos suelen tener este tipo de datos. Las cadenas se encuentran separadas por el carácter NULL.

REG_BINARY son datos binarios. La mayoría de los componentes de hardware utilizan información que se almacena como datos binarios. Los editores de registro muestran esta información en formato hexadecimal.

REG_RESOURCE_LIST es una lista de recursos del hardware. Sólo se usa en la rama HKEY_LOCAL_MACHINE\HARDWARE.

También puedes ver a veces estos tipos de datos de registro:

  • REG_RESOURCE_REQUIREMENTS_LIST es una lista de recursos necesarios de hardware. Sólo se usa en la rama HKEY_LOCAL_MACHINE\HARDWARE.
  • REG_FULL_RESOURCE_DESCRIPTOR es un Descriptor de recursos de hardware. Sólo se usa en la rama HKEY_LOCAL_MACHINE\HARDWARE.
  • REG_LINK es un enlace simbólico de Unicode. Este tipo de datos es interesante porque permite que un elemento del registro interno haga referencia a otra clave u otro parámetro.
  • REG_DWORD es un número de 64
  • REG_DWORD_LITTLE_ENDIAN es un número de 32 bits en formato «puntiagudas» (little-endian), equivalente a REG_DWORD.
  • REG_DWORD_BIG_ENDIAN es un número de 32 bits en formato «puntas roma» (big-endian).
  • REG_QWORD_LITTLE_ENDIAN es número de 64 bits en formato «puntiagudas» (sharp-endian). Equivale a REG_QWORD.
  • REG_NONE es un parámetro que no tiene un tipo de datos específico.

Interacción del registro interno con el sistema operativo

Al arrancar el equipo, el reconocedor de hardware (hardware recognizer) introduce en el registro interno la lista de dispositivos detectados. Generalmente, el reconocimiento de los medios hardware lo realizan: el programa Ntdetect.com y el núcleo/kernel del sistema operativo Ntoskrnl.exe.

Al iniciarse el sistema, el núcleo/kernel del sistema extrae del registro interno información sobre los controladores de los dispositivos que deben cargarse y el orden en que se cargan. Además, el programa Ntoskrnl.exe envía información sobre sí mismo (por ejemplo, el número de versión) hacia el registro interno.

Durante el proceso de arranque del sistema, los controladores de los dispositivos intercambian con el registro interno los parámetros de arranque y los datos de configuración. El controlador del dispositivo informa sobre los recursos del sistema que está utilizando, incluidas las interrupciones de hardware (IRQ) y los canales de acceso a memoria (DMA), para que el sistema pueda incluir estos datos en el registro.

Por cierto, el registro permite crear varios perfiles de hardware. Un perfil de hardware es un conjunto de instrucciones que pueden utilizarse para indicarle al sistema operativo cuales controladores de dispositivo deben cargarse al arrancar el equipo. Por defecto, el sistema crea un perfil estándar de hardware que contiene información sobre todo el hardware que se ha detectado en el equipo.

Cuando un usuario inicia sesión en el sistema, se cargan los perfiles de usuario. Toda la información relativa a un nombre de usuario específico y a los derechos asociados se almacena en el registro interno. Un perfil de usuario define la configuración individual del sistema (resolución de pantalla, configuración de la conexión de red, dispositivos conectados, etc.). La información sobre los perfiles de usuario también se almacena en el registro.

Al instalar aplicaciones. Cada vez que se ejecuta el instalador, se añaden nuevos datos de configuración al registro. Todos los instaladores deben comenzar su trabajo leyendo información del registro interno para determinar si los componentes que se necesitan están presentes en el sistema. Además, el registro interno del sistema permite a las aplicaciones compartir información de configuración, lo que les da más oportunidades para interactuar. Una aplicación debe utilizar activa y correctamente el registro interno y ser capaz de eliminarlo correctamente sin afectar a componentes que otros programas puedan utilizar (bibliotecas, módulos de software, etc.). Esta información también se almacena en el registro interno.

Al administrar el sistema. Cuando un usuario realiza cambios en la configuración del sistema utilizando herramientas de administración del sistema (por ejemplo, el Panel de control o la herramienta MMC), todos los cambios se reflejan inmediatamente en el registro del sistema. De hecho, las herramientas administrativas son el medio más cómodo y seguro de modificar el registro. Por cierto, el Editor del registro (regedit.exe) también puede considerarse una herramienta administrativa, porque todos los cambios en el sistema pueden realizarse directamente editando el registro.

Durante el arranque y funcionamiento del sistema operativo, se accede constantemente a los datos del registro, tanto para lectura como para escritura. Los ficheros del registro cambian constantemente porque no sólo el sistema, sino también algunas aplicaciones pueden utilizar el registro interno para almacenar sus propios datos, configuraciones y preferencias. En otras palabras, acceder al registro interno es una de las operaciones más habituales. Aunque el usuario no esté trabajando en el equipo, los servicios del sistema, los controladores y las aplicaciones siguen accediendo al registro.

Dañar la integridad de los ficheros del registro interno (dañar la estructura de sus datos) o crear un valor incorrecto de algunos de los parámetros críticos, puede provocar la caída del sistema. Por lo tanto, antes de experimentar con el registro interno, asegúrese de guardarlo previamente y de poder ser restaurado.

Rate article
WinNotas
Add a comment