El filtro de escritura mejorado también se suministra con Windows Embedded Standard 7. Sin embargo no incluye el modo Disco conocido de versiones anteriores de Embedded . El Modo Disco permitía guardar todos los cambios en un disco duro separado.
Hay un enfoque alternativo disponible para crear un escenario similar al modo de disco EWFs - puede utilizar VHDs.
Debido a que Windows 7 y también WES7 apoyo para arrancar desde VHDs (discos duros virtuales) se puede hacer uso de la función VHD diferencial.
Esta característica le permite crear un archivo VHD maestro que contiene el sistema operativo en el estado en que debe permanecer y un VHD diferencial que almacena todos los cambios realizados en la imagen maestra durante el tiempo de ejecución.
Por ejemplo, puede tener su archivo VHD maestro en una Compact Flash y el archivo diferencial en un disco duro para redirigir todas las escrituras fuera del medio flash.
Una característica de EWF es descartar todos los cambios realizados en la imagen en cada reinicio.
La solución para esto es crear un nuevo archivo VHD diferencial con el maestro como padre y usar el nuevo VHD como entrada de arranque por defecto.
Después de un reinicio el sistema vuelve a su estado original.
Restablecer diferencial VHD
Para automatizar este proceso puede utilizar el siguiente archivo por lotes. Adapte las rutas a la ubicación de su VHD en la sección "Variables". Echa un vistazo a continuación para la instalación del archivo por lotes.
Cómo funciona
El sistema funciona con 2 archivos VHD diferenciales que se intercambiarán en cada arranque.
En cada arranque, el archivo por lotes comprueba qué VHD diferencial está activo.
Entonces borrará el VHD diferencial no activo y recreará el VHD no activo.
De este modo, se deshacen todos los cambios anteriores. A continuación, el archivo por lotes establecerá el nuevo VHD no activo como nuevo dispositivo de arranque predeterminado.
En el siguiente arranque, el sistema arrancará desde el VHD recién creado.
Archivo por lotes
@echo off
echo VHD Diff Resetter creado por Wolfgang UngerREM #########################
REM Variables
REM #########################
set VHD_Drive=D:
set VHD_Parent=wes7.vhd
set VHD_DiffFile1=wes7diff1.vhd
set VHD_DiffFile2=wes7diff2.vhdset TempFile=D:\diskpart.txt
REM #########################REM Intenta borrar el segundo archivo diff. si tiene éxito la imagen 1 es booteada.
del %VHD_Drive%\%VHD_DiffFile2%
if exist "%VHD_Drive%\%VHD_DiffFile2%" goto File2del %VHD_Drive%\%VHD_DiffFile2%%.
echo create vdisk file=%VHD_Drive%\%VHD_DiffFile2% parent=%VHD_Drive%\%VHD_Parent% > %TempFile%
echo exit >> %ArchivoTemporal%diskpart /s %ArchivoTemp%.
bcdedit /set {actual} dispositivo vhd=
[%VHD_Drive%]\%VHD_DiffFile2%
bcdedit /set {actual} osdevice vhd=[%VHD_Drive%]\%VHD_DiffFile2%%.GOTO Hecho
:Fichero2del %VHD_Drive%\%VHD_DiffFile1%%.
echo create vdisk file=%VHD_Drive%\%VHD_DiffFile1% parent=%VHD_Drive%\%VHD_Parent% > %TempFile%
echo exit >> %ArchivoTemporal%diskpart /s %ArchivoTemp%.
bcdedit /set {actual} device vhd=[%VHD_Drive%]\%VHD_DiffFile1%
bcdedit /set {actual} osdevice vhd=[%VHD_Drive%]\%VHD_DiffFile1%:Hecho
del %ArchivoTemporal%.
echo Hecho.Instalación
- Instale Windows Embedded Standard 7 en un VHD. Por favor, eche un vistazo aquí para obtener instrucciones.
- Arranca la imagen.
- Guarde el archivo por lotes anterior en la imagen.
- Abrir el Programador de Tareas
- Haga clic en "Crear tarea...".
- Introduzca un nombre para la tarea y marque "Ejecutar con privilegios máximos".
- Vaya a la pestaña "Disparadores" y haga clic en "Nuevo".
- Seleccione "Al inicio" en el menú desplegable "Iniciar la tarea" y haga clic en "Aceptar".
- Vaya a la pestaña "Acciones" y haga clic en "Nueva".
- Busque el archivo por lotes y haga clic en Aceptar
- Pulse OK para guardar la tarea
- Ejecute el archivo por lotes una vez y reinicie
Escenarios de uso
Esta solución puede ser útil cuando
- utilizar una unidad de disco flash que contenga la imagen maestra y todos los cambios deben ubicarse en una unidad de disco duro
- los cambios deben persistir en los reinicios (para ello, no cree la tarea y ejecute el archivo por lotes sólo cuando sea necesario)
- no desea utilizar EWF o FBWF
- etc.