Compartir a través de


Operaciones de copia de seguridad y restauración del registro en VSS

El Servicio del registro de Windows admite un escritor de VSS, denominado escritor del registro, que permite a los solicitantes realizar una copia de seguridad de un registro del sistema utilizando datos almacenados en un volumen copiado de instantáneas. Para obtener más información sobre el escritor del registro, consulte Escritores de VSS integrados.

El escritor del registro realiza copias de seguridad y restauraciones en contexto del registro. Además, el escritor del registro informa solo de las colmenas del sistema; no notifica las colmenas del usuario.

Windows Server 2003: El sistema de escritura del registro usa un archivo de repositorio intermedio (también conocido como archivo spit) para almacenar los datos del registro. Además, el sistema de escritura del registro notifica las colmenas del sistema y las colmenas del usuario.

El identificador del escritor del registro es AFBAB4A2-367D-4D15-A586-71DBB18F8485.

Windows XP: No existe sistema de escritura del registro. El escritor de estado de arranque notifica los datos del registro, cuyo identificador de escritor es F2436E37-09F5-41AF-9B2A-4CA2435DBFD5.

Nota:

Microsoft no proporciona soporte técnico para desarrolladores o profesionales de TI para la implementación de restauraciones de estado del sistema en línea en Windows (todas las versiones). 

Nota:

La siguiente información solo se aplica a Windows Server 2003 y Windows XP.

 

Copia de seguridad del registro utilizando VSS

El escritor del registro exportará y guardará los archivos del registro activos en las ubicaciones definidas por la clave HKEY_LOCAL_MACHINE\Sistema\CurrentControlSet\Control\hivelist.

Los nombres de los valores de esta entrada del registro identifican la colmena del registro que se va a guardar y los datos del valor proporcionan el archivo que contiene el archivo (el archivo de la colmena). Los archivos de colmena se especifican con el siguiente formato: \Device\HarddiskVolumeX\path\filename.

Por ejemplo, en HKEY_LOCAL_MACHINE\Sistema\CurrentControlSet\Control\hivelist, podría ver \REGISTRY\MACHINE\SOFTWARE = \Device\HarddiskVolume1\Windows\System32\config\SOFTWARE.

El escritor del registro garantiza que los archivos de colmena se guardan en el disco antes de su instantánea.

Al realizar una copia de seguridad de las colmenas del registro, un solicitante reemplazaría \Device\HarddiskVolumeX con la cadena del objeto del dispositivo de la instantánea del volumen.

Nota:

Puede convertir la ruta \Device\HarddiskVolumeX a una ruta Win32 equivalente utilizando la función QueryDosDevice. Para obtener más información, consulte Obtener un nombre de archivo a partir de un gestor de archivos o Mostrar nombres de ruta de volumen.

 

Restauración del registro utilizando API Win32 que no son de VSS

Nota:

La restauración del registro no se admite en Windows Server 2016 y versiones posteriores.

Para una restauración en línea (modo seguro o sistema operativo completo), se deben conservar las subclaves de la clave de registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Gestor de sesiones\PendingFileRenameOperations.

Las funciones MoveFileEx y MoveFileTransacted usan esta clave del registro para almacenar información sobre los archivos cuyo nombre se cambió utilizando el valor MOVEFILE_DELAY_UNTIL_REBOOT en el parámetro dwFlags.

Para conservar el contenido de la clave de registro PendingFileRenameOperations, su solicitud de copia de seguridad debe llamar a la función RegLoadKey para que conecte el archivo de registro a restaurar al registro activo. A continuación, su aplicación de copia de seguridad podrá usar las distintas funciones del registro para copiar las claves y los valores deseados en la colmena cargada. Una vez completada la copia, se debe llamar a las funciones RegFlushKey and RegUnloadKey.

Para una restauración sin conexión (Windows Recovery Environment o Windows PE), no es necesario respetar la clave de registro PendingFileRenameOperations .

Restauración del registro utilizando API Win32 que no son de VSS en Windows Server 2003

Nota:

La siguiente información solo se aplica a las operaciones de restauración relacionadas con la recuperación ante desastres (también conocidas como recuperación sin sistema operativo) que se realizan en Windows Server 2003.

 

Al restaurar el registro, una aplicación de copia de seguridad debe mover algunas de las subclaves del registro actual al registro que se va a restaurar.

Para ello, una aplicación de copia de seguridad puede llamar a RegLoadKey para que conecte el archivo de registro que se va a restaurar al registro activo actualmente. A continuación, podrá usar las distintas funciones del registro para copiar las claves y los valores deseados en la colmena cargada. Una vez completada la copia, se llama a RegFlushKey y RegUnloadKey .

Hay una clave de registro que le indica a una aplicación de restauración (solicitante) las claves de registro en HKEY_LOCAL_MACHINE\SYSTEM que no deben sobrescribirse en el momento de la restauración:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\BackupRestore\KeysNotToRestore

Parte del proceso de restauración del estado del sistema implica restaurar un registro de copia de seguridad anterior.

Las aplicaciones de copia de seguridad deben tener especial cuidado al restaurar la colmena HKEY_LOCAL_MACHINE\SYSTEM porque el proceso de instalación de una versión temporal del sistema operativo Windows tendrá claves establecidas en la colmena sistema recién instalado cuyos valores deben sobrevivir a la operación de restauración.

Por ejemplo, si el sistema de reemplazo tiene una tarjeta de interfaz de red diferente a la del sistema original, la restauración de las claves originales de la tarjeta anterior provocará resultados impredecibles. Esto se debe a que el servicio Plug and Play ha detectado y colocado entradas adecuadas del registro de controladores y servicios en el registro. Estos valores se deben conservar para arrancar correctamente después de la restauración del sistema.

En esta sección se describe cómo las aplicaciones de copia de seguridad pueden detectar qué claves y archivos se van a conservar al ejecutar una restauración de la colmena HKEY_LOCAL_MACHINE\SYSTEM. En algunos casos, esto implicará copiar mediante programación las claves de la colmena de instalación recién instalada en la colmena que se va a restaurar. En otros casos, garantizar que no se sustituyan las claves de registro de un producto es tan sencillo como especificar dichas claves en el archivo de configuración INF del producto.

Las claves (y los datos de las claves) que se van a conservar se enumeran en la colmena HKEY_LOCAL_MACHINE\SYSTEM.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BackupRestore\KeysNotToRestore

clave como conjuntos de cadenas de REG_MULTI_SZ (denominadas cadenas de claves en este documento).

Una aplicación de copia de seguridad (solicitante) debe examinar los valores de estas claves en el registro activo y el registro recién restaurado porque cualquier aplicación o servicio puede agregar valores en cualquier momento.

La forma en que las aplicaciones de copia de seguridad interpretan las cadenas de claves viene determinada por su carácter terminal:

  1. Las cadenas de claves que terminan con una barra diagonal inversa ('\') se interpretan como subclaves. Cuando se encuentra dicha subcadena, la aplicación de copia de seguridad debe conservar todos los datos y todas las claves subordinadas.

    Por ejemplo, el siguiente ejemplo especifica que todas las claves subordinadas y los datos se conservarán en una operación de restauración:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\dmio\boot info\

    Para ello, esta clave y todos los datos y claves subordinadas deben copiarse del registro existente (es decir, el creado por la instalación de Windows) en el registro recién restaurado. Esto se denomina operación de reemplazo de claves. Esta operación reemplaza la clave correspondiente en el registro restaurado.

  2. Las cadenas de claves que terminan con un asterisco ('*') especifican que se deben fusionar todas las subclaves. Por ejemplo, la cadena de claves:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\*

    especifica que la clave de servicios del registro existente (por ejemplo, las creadas por la instalación de Windows) deben fusionarse en el registro restaurado. Esto se denomina operación de fusión de claves y, si existe una subclave tanto en la colmena existente como en la colmena restaurada, la clave del directorio restaurado se conserva con las siguientes excepciones:

    • Si la subclave de la colmena existente contiene un valor denominado "start" y la subclave de la colmena restaurada no.
    • Si la subclave de la colmena existente y restaurada contiene un valor denominado "start" y su valor numérico en la colmena existente es inferior.

    El valor "start" del registro especifica cuándo se iniciará un servicio o controlador y puede tener un valor numérico comprendido entre 0 y 4. Cuanto menor sea el valor, antes se iniciará el servicio en el proceso de arranque.

    Si esta clave existe en el directorio existente y en el restaurado, debe examinar el valor de la clave de inicio en cada colmena. Si el valor de la colmena existente es inferior al valor del directorio restaurado, se debe conservar el valor más bajo.

    Una vez más, esta tecla se utiliza para determinar si un servicio o controlador debe iniciarse en el arranque, en tiempo de sistema, manualmente, automáticamente o desactivarse. El valor inferior representa una hora de inicio más temprana. La hora de inicio más temprana debe aplicarse al nuevo registro para asegurarse de que el servicio o los controladores se inicien correctamente en el siguiente arranque.

  3. Las cadenas de claves que no terminan con una barra diagonal inversa ni un asterisco se interpretan como valores del registro que se van a conservar.

    Por ejemplo, la cadena de claves:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations

    El mecanismo por el que las claves se pueden conservar mediante programación implica la API del registro Win32. Por ejemplo, se incluye un algoritmo a continuación:

    1. Restaure el archivo colmena del sistema de copia de seguridad en un archivo. En este ejemplo, deje el nombre System.reg.

    2. Use RegLoadKey para cargar System.reg en HKEY_LOCAL_MACHINE con un nombre temporal. Por ejemplo, uno de esos nombres podría ser

      HKEY_LOCAL_MACHINE\TMP_SYSTEM

    3. Enumere los valores en la subclave KeysNotToRestore de las dos copias del registro y cree un superconjunto de las listas. Copie cada clave de este tipo de la clave existente

      HKEY_LOCAL_MACHINE\SYSTEM

      clave en

      HKEY_LOCAL_MACHINE\TMP_SYSTEM

      según la semántica descrita anteriormente.

    4. Cuando haya terminado de usar los puntos de entrada RegFlushKey & RegUnloadKey para guardar

      HKEY_LOCAL_MACHINE\TMP_SYSTEM

      la clave vuelva a System.reg.

    5. Por último, use RegReplaceKey para especificar que System.reg va a reemplazar

      HKEY_LOCAL_MACHINE\SYSTEM

      al archivo colmena, SYSTEM.