Het Enhanced Write Filter wordt ook geleverd met Windows Embedded Standard 7. Het bevat echter niet de Schijfmodus die bekend is van eerdere Embedded versies. Met de Schijfmodus konden alle wijzigingen op een aparte harde schijf worden opgeslagen.
Er is een alternatieve aanpak beschikbaar om een scenario te creëren dat lijkt op de EWFs Disk Mode - je kunt VHD's gebruiken.
Omdat Windows 7 en ook WES7 het opstarten vanaf VHD's (Virtuele Harde Schijven) ondersteunen, kun je gebruik maken van de differentiële VHD-functie.
Met deze functie kun je een master VHD-bestand maken dat het besturingssysteem bevat in de staat waarin het moet blijven en een differentiële VHD die alle wijzigingen opslaat die tijdens runtime in de masterimage zijn aangebracht.
Je kunt bijvoorbeeld je Master VHD-bestand op een Compact Flash hebben en het differentiële bestand op een harde schijf om alle schrijfacties weg te leiden van de flash media.
Een functie van EWF is om alle wijzigingen in de image te verwijderen bij elke reboot.
De oplossing hiervoor is om een nieuw differentieel VHD-bestand aan te maken met de master als parent en de nieuwe VHD te gebruiken als standaard boot entry.
Na een reboot is het systeem terug in de originele staat.
Differentiële VHD resetten
Om dit proces te automatiseren kun je het volgende batchbestand gebruiken. Pas de paden naar je VHD locatie aan in de "Variabelen" sectie. Kijk hieronder voor de installatie van het batchbestand.
Hoe het werkt
Het systeem werkt met 2 differentiële VHD-bestanden die bij elke boot worden verwisseld.
Bij elke boot controleert de batchfile welke differentiële VHD actief is.
Het zal dan de niet-actieve differentiële VHD verwijderen en de niet-actieve VHD opnieuw aanmaken.
Hierdoor worden alle vorige wijzigingen ongedaan gemaakt. Dan zal de batchfile de nieuwe niet-actieve VHD instellen als nieuw standaard opstartapparaat.
Bij de volgende start zal het systeem opstarten vanaf de nieuw aangemaakte VHD.
Batchbestand
@echo uit
echo VHD Diff Resetter gemaakt door Wolfgang UngerREM #########################
REM Variabelen
REM #########################
stel VHD_Drive=D:
set VHD_Parent=wes7.vhd
set VHD_DiffFile1=wes7diff1.vhd
set VHD_DiffFile2=wes7diff2.vhdSet TempFile=D:iskpart.txt
REM #########################REM Probeer het tweede diff bestand te verwijderen. indien succesvol is image 1 gebootet.
del %VHD_Drive%%VHD_DiffFile2%
indien bestaand "%VHD_Drive%%VHD_DiffFile2%" goto Bestand2del %VHD_Drive%%VHD_DiffFile2%
echo maak vdisk bestand=%VHD_Drive%VHD_DiffFile2% parent=%VHD_Drive%VHD_Parent% > %TempFile%
echo uitgang >> %TempFile%diskpart /s %TempFile%
bcdedit /set {current} apparaat vhd=
[%VHD_Drive%]\%VHD_DiffFile2%
bcdedit /set {current} osdevice vhd=[%VHD_Drive%]\%VHD_DiffFile2%GOTO Gereed
:Bestand2del %VHD_Drive%%VHD_DiffFile1%
echo maak vdisk bestand=%VHD_Drive%VHD_DiffFile1% parent=%VHD_Drive%VHD_Parent% > %TempFile%
echo uitgang >> %TempFile%diskpart /s %TempFile%
bcdedit /set {current} device vhd=[%VHD_Drive%]\%VHD_DiffFile1%
bcdedit /set {current} osdevice vhd=[%VHD_Drive%]\%VHD_DiffFile1%Gedaan
del %TempFile%
echo Gereed.Installatie
- Installeer Windows Embedded Standard 7 op een VHD. Kijk hier voor instructies.
- Start de image op.
- Sla het batchbestand van hierboven op de afbeelding op.
- Taakplanner openen
- Klik op "Taak maken...".
- Voer een naam in voor de taak en vink "Uitvoeren met hoogste rechten" aan.
- Ga naar het tabblad "Triggers" en klik op "Nieuw".
- Selecteer "Bij opstarten" in de vervolgkeuzelijst "De taak starten" en klik op "OK".
- Ga naar het tabblad "Acties" en klik op "Nieuw".
- Blader naar het batchbestand en klik op ok
- Klik op OK om de taak op te slaan
- Voer het batchbestand eenmaal uit en start opnieuw op
Gebruikscenario's
Deze oplossing kan nuttig zijn wanneer
- gebruik een flashdiskette die de masterimage bevat en alle wijzigingen moeten op een harde schijf staan
- wijzigingen moeten blijven bestaan bij opnieuw opstarten (maak hiervoor de taak niet aan en voer het batchbestand alleen uit wanneer dat nodig is)
- je EWF of FBWF niet wilt gebruiken
- enz.