Red de conocimiento informático - Conocimiento informático - Ayuda a traducir este artículo (inglés-chino)

Ayuda a traducir este artículo (inglés-chino)

Resumen

Este artículo detalla cómo desmontar volúmenes en una configuración Hibernar una vez/Reanudar muchas que admita EWF. La función Desmontar volúmenes en las configuraciones Hibernar una vez/Reanudar muchas le permite mantener una o más particiones en una configuración Hibernar una vez/Reanudar muchas que no están protegidas por EWF.

Contenido de esta página

Introducción

Proteger varios volúmenes en hibernación una vez/reanudar varias configuraciones

Desmontar un volumen antes de la hibernación

Desmontar un volumen mediante programación

Más información

Introducción

Uso de Hibernar una vez/Reanudar muchas configuraciones con Service Pack 2 Hibernar una vez/ Reanudar muchos para proteger un volumen del EWF. Uso de Microsoft Windows Embedded con Service Pack 2 Hibernar una vez/Reanudar muchos protege el sistema contra accesos de escritura innecesarios y proporciona un inicio más rápido. Sin embargo, en un entorno de hibernación una vez/restauración varias veces, todos los volúmenes del sistema deben estar protegidos por el filtro de escritura mejorado (EWF).

Este documento técnico analiza cómo desmontar volúmenes en un entorno Hibernar una vez/Reanudar muchas, lo que le permite configurar particiones grabables que no están protegidas por EWF.

Esta es una configuración avanzada de EWF y requiere una comprensión integral de EWF.

Volver al inicio

Protección de múltiples volúmenes en una configuración de Hibernar una vez/Reanudar muchas

Si desea implementar una configuración de Hibernar una vez/Reanudar muchas para un tiempo de ejecución imagen, Todos los discos fijos del sistema deben estar protegidos por un sistema de administración de discos mejorado. Todos los discos fijos del sistema deben estar protegidos por un filtro de escritura mejorado (EWF). Esto se debe a que el sistema de archivos almacena en caché información para cada volumen en la memoria del sistema. Cuando crea un archivo de hibernación, el archivo contendrá información almacenada en caché para todos los volúmenes del sistema. Pero esto no garantiza que las aplicaciones no almacenen en caché la información de estado de los volúmenes desmontados. Es responsabilidad del diseñador de sistemas basados ​​en Windows XP Embedded monitorear las aplicaciones y verificar que no contengan información sobre el estado del volumen.

Cuando el sistema se reanuda desde un archivo de hibernación, se cargará cualquier información almacenada en caché sobre los volúmenes del sistema. Si el volumen no está protegido por EWF, puede cambiar el contenido del volumen desprotegido. Si los cambios realizados en un volumen no se actualizan en el archivo de hibernación, el contenido del volumen puede dañarse. Por lo tanto, todos los volúmenes en un sistema "Hibernar una vez/Restaurar muchas" deben estar protegidos por EWF.

Para crear una partición que no esté protegida por EWF en una configuración de hibernación/restauración múltiple, debe desmontar la partición antes de crear el archivo de hibernación.

Volver al principio

Desmontar el volumen antes de la hibernación

Para garantizar que la caché de escritura del volumen se borre antes de crear el archivo de hibernación, debe desmontar el volumen.

Después de desmontar un volumen, la caché de escritura del volumen se vacía en la memoria del sistema. Una vez que el contenido de la caché de escritura del volumen se vacía en la memoria, es seguro crear el archivo de hibernación. Al desmontar los volúmenes que no desea proteger, puede asegurarse de que los datos de la caché de escritura en el sistema no se escriban en el archivo de hibernación.

Al iniciar el sistema desde un archivo de hibernación, no se cargará la información sobre los volúmenes desmontados. Cada vez que se inicia el sistema desde el archivo de hibernación, el sistema redescubre los volúmenes adicionales. Dado que no se carga ninguna información sobre el volumen desde el archivo de hibernación, puede escribir de forma segura en un volumen desprotegido.

Para desmontar un volumen, necesita crear una aplicación que bloquee y desmonte el volumen y luego cree un archivo de hibernación.

Volver al inicio

Desmontar un volumen mediante programación

Para bloquear y desmontar un volumen, debe crear una aplicación que llame a la función DeviceIoControl. Esta función envía códigos de control directamente al sistema de archivos. Al pasar FSCTL_LOCK_VOLUME y FSCTL_DISMOUNT_VOLUME a esta función, puede bloquear y desmontar el volumen antes de crear el archivo de hibernación.

Utilice el siguiente procedimiento para bloquear y desmontar el volumen y luego hibernar el sistema. Las aplicaciones también deben admitir el desbloqueo de volúmenes al iniciar el sistema desde un archivo de hibernación.

1.

Cree una aplicación para bloquear y desmontar volúmenes que no desea que estén protegidos por EWF. Utilice la función DeviceIoControl con el parámetro dwIoControlCode FS_LOCK_VOLUME. Esto bloqueará el volumen cifrado. Si hay archivos abiertos en el volumen cuando se llama a esta función, el bloqueo del volumen fallará. Por ejemplo, puede asegurarse de que un volumen esté completamente desmontado bloqueándolo antes de desmontarlo:

DeviceIoControl(

hDevice,

FSCTL_LOCK_VOLUME,

NULL,

0,

NULL,

0,

&cbReturned,

NULL

p>

)

Para obtener más información, consulte DeviceIOControl y FSCTL_LOCK_VOLUME en la biblioteca MSDN.

2.

Después de bloquear el volumen, puede desmontarlo. En su aplicación, llame a la función DeviceIoControl usando el parámetro dwIoControlCode FSCTL_DISMOUNT_VOLUME para desmontar el volumen. Este parámetro desmonta el volumen del sistema de archivos. Si el volumen no está bloqueado antes de desmontarlo, todos los archivos abiertos se invalidan y se fuerza el desmontaje del volumen.

Cuando se desmonta un volumen, cualquier información escrita en la caché sobre el volumen se vacía y usted puede escribir de forma segura en el archivo de hibernación.

Por ejemplo, llame a la función DeviceIoControl con los siguientes valores:

DeviceIoControl( hDevice, FSCTL_DISMOUNT_VOLUME, NULL, 0, NULL, 0, amp; cbReturned, NULL )

Para obtener más información, consulte DeviceIOControl y FSCTL_DISMOUNT_VOLUME en la biblioteca MSDN.

3.

Después de desmontar el volumen, puede crear de forma segura un archivo de hibernación y apagar el sistema.

Puede utilizar las potentes funciones de administración que vienen con Windows XP Embedded, por ejemplo:

XPE_Hibernate(

bForceState

);

Para utilizar la funcionalidad de administración, su imagen en tiempo de ejecución requiere los siguientes archivos: Xpepm.dll, Xpepm.lib y Xpepm.h. Los tres archivos se encuentran en la carpeta VALUEADD\MSFT\XPEPM en el disco 1 del medio del producto.

Para obtener más información, consulte API de administración de energía.

4.

Inicia el sistema después de la hibernación. El sistema se reanuda desde el archivo de hibernación.

5.

Para que el sistema redescubra el volumen, primero se debe desbloquear el volumen. Utilice la función DeviceIoControl con el parámetro dwIoControlCode FS_LOCK_VOLUME. Esto desbloqueará el volumen cifrado.

NULL

)

Para obtener más información, consulte DeviceIOControl y FSTL_UNLOCK_VOLUME en la biblioteca de MSDN.

El volumen debe desbloquearse inmediatamente después del inicio del sistema.

Después de desbloquear el volumen cifrado, el sistema lo redescubrirá automáticamente y lo hará accesible. Debido a que el archivo de hibernación no contiene ninguna información sobre el volumen, el volumen debe desbloquearse en cada reinicio.