Articles‎ > ‎

Using Shadow Files with Parallels

posted Dec 18, 2008, 10:16 AM by Philip Rinehart   [ updated Dec 18, 2008, 10:17 AM by Greg Neagle ]
Written by Alex Schaefer   
Monday, 12 March 2007
Alex Schaefer, University of Colorado has adapted the method of using shadow files for Classic to deploy Windows XP via Parallels in the labs at the University.



"Here at the University of Colorado, I've been looking into  
distributing and updating Parallels within our well established  
Radmind setup that we have going.  My first big concern was  
radminding Parallels virtual hard drives every night - at 3 gigs in  
size, I just don't like the load that could generate on the server.   
I've also been very concerned with keeping the images sanitary -  
Windows gets messy and the last thing I want our Mac group to do is  
worry about keeping our Windows load-sets clean.

I have been messing with throwing the entire Parallels hard drive  
image into a read-only DMG and then on login, having it mount  
noverify/nobrowse with a Shadow File.  The shadow file acts as a way  
to keep our Windows load-set as clean as we possibly can - because  
all writes are logged to a shadow file, on logout when the image is  
unmounted and the shadow file deleted, the original windows image is  
in the exact same condition as it was before the user touched it.   
Also, should a user get some virus or spyware on the system that goes  
right past the group policies, on logout it's all reset.  The trick  
becomes to just make a Windows load-set the right way before  
deployment, and then after that the user's space is taken care of.   
Thanks to the DMG being read only it won't trip FSDIFF during  
Radmind, so it allows us to not have to Radmind every machine every  
night unless we update the core VM hdd.

Now this does mean we're going to have to apply windows patches when  
they're deployed, but the creation of a Shadow-Parallels setup isn't  
too bad to do, and so running windows update once and then updating  
the shadow distribution shouldn't be a hassle.  We have also gotten  
around having to worry about updating the Windows Load-set when we  
want to add new programs by using Soft-grid to virtualize the loading  
process to the VM's - so we can remotely add or remove  programs to  
run on these machines without actually downloading them (and what  
parts we do have to download are shoved into a non-shadowed Parallels  
VM hard drive that contains just cache for Soft-grid, and I believe  
we'll be putting this into our Radmind negative file).

To create a shadow-file-parallels hd, use the following directions.   
Before you start, make sure your copy of Parallels is not running and  
that the VM is not suspended or paused or any some such nonsense -  
Parallels cannot be running period.
* 1) Create a hybrid image of the .hdd
    -First create a staging directory (here named "Parallels_XP_HDD"  
that contains only the hard disk file in question.  Other hard disk  
files, or any files can be put in here, but they will be read only)
    -Create the hybrid using hdiutil:

hdiutil makehybrid  -hfs-volume-name Parallels_XP  Parallels_XP_HDD/ - 
o Tmp.dmg

     * 2) Convert hybrid image (iso) to read-only DMG

hdiutil convert -format UDRO Tmp.dmg.iso -o Parallels_Loadset_XP.dmg

     * 3) (Optional) delete the tmp file... its useless
     * 4) You're done! Mount it w/ a shadow now!

hdiutil mount Parallels_Loadset_XP.dmg -shadow /Users/LabGuest/Shadow  
-noverify -nobrowse"