Create and deploy workstation images

Want to create and deploy drive images over your network but don’t feel like getting jacked for proprietary software? Not surprisingly, there is an easy way to do it with open source software, but it is slightly more involved.  This how-to is written with the following assumptions that should be checked before starting:

  • The workstation and the server are on the same network.
  • Both are using a Windows operating system such as 2000, XP, 2003,Vista or 7
  • Neither device has any firewall or security impeding communications between the two.
  • The server has enough drive space to hold the image.  If you do everything right, the size of the image will be about 40-50% of the space used on the storage device in the workstation being imaged.

Getting Started

Download and install Filezilla FTP Server from the Filezilla website http://filezilla-project.org/.  Create a folder to store the images and open the Filezilla Server interface. Go to Edit – Users and click on the Add button. Create a user named install, assign a password and add the folder that you created as the home shared folder.

Workstation Prep

On the workstation that you are going to image, make sure that all of the software is up to date and properly configured. It is a very good idea to remove the workstation from your Windows domain or you will risk problems with duplicate hostnames and SIDs.  When everything is ready to go, defrag the hard drive and download this app to your root drive: http://www.feyrer.de/g4u/nullfile-1.02.exe.  Nullfile will write a zero in every sector on the drive where it is located which is not marked as Deleted.  If you do not do this, g4u will see sectors on the hard drive with deleted data and copy them to your image, dramatically increasing the size of your image. Nullfile works by creating a temporary file with all zeros that fills up all space on the storage device and then deleting the file. If you run Nullfile and kill it before it completes, be sure to delete the temporary file that it created.

Image Creation

Download the g4u ISO here: http://www.feyrer.de/g4u/, burn the ISO to a CD and boot the workstation to it. When you get to the main menu, create the image by using the following command:

uploaddisk server-IP name.gz

Once complete, you should see a file in the directory you created on your FTP server called name.gz.

Image Deployment

Important deployment notes:

  • This process WILL overwrite everything on your hard drive, it will do it in a way that cannot be undone and it will do it without prompting.
  • This method will not make any changes to the drivers on the image, so the image will probably only work on the make and model of workstation that you used to create it. If you want to create an image that could work on a wider range of hardware, you could theoretically install other drivers before creating the image, but I have not tested this.

To deploy your image to another workstation, boot the workstation to the g4u disc and enter the following command at the main menu:

slurpdisk server-IP name.gz

Once the process is complete, you can reboot the workstation with the reboot command and boot to the hard drive. It is worth noting that imaged systems are all identical, including the hostname, so one of the first things that you should do with a newly-imaged workstation is change the hostname to something else.

Maintaining and Updating Images

To the best of my knowledge, there is no easy way to “start” an image in a virtualized environment.  In my experience, the best way to update or make changes to an image is to use Microsoft Virtual PC or VMware along with the ISO of g4u and “deploy” the image to a virtual machine. Once complete, you can make any necessary changes to the image and then re-image it back to the server.

References

g4u – http://www.feyrer.de/g4u/

FileZilla – http://filezilla-project.org/