With introduction of the Windows Vista Microsoft introduce the image capturing method. Earlier we used to reply on Symantec ghost, Acronis…etc. Now Microsoft has given complete free tool set to do image capturing and deployment. One advantage I see in this method is the images going to be captured using the Microsoft given tools are,
- One image for many hardware configurations
- Multiple images in one file
- Offline servicing of the image file
- Installation on partitions of any size
- Bootable image support for Windows PE
- Modification of image files using APIs
Of course if you do further search you’ll find many more options and advantages. In this article I’ll guide you how to capture Windows 7 installed PC using Imagex command and then deploy it to different PC. Of course this can be customize and make it Zero touch deployment with advance tools like SCCM, but that will be another article :)
Ok to start first you’ll need following items,
- Active Directory environment (DC with DHCP, DNS roles enabled)
- Windows 7 PC installed with Windows 7 AIK (Automated Installation Kit)
- Windows 7 Pc with all the necessary software preinstalled to be captured as reference image.
- Another PC ready ready without any OS. Network card need to support PXE.
In my article the above mention lab has been carried out on HYPER-V environment. All of them are virtual PC’s. The power of virtualization really shines over here :)
Now I assume you’ve already setup the Domain Controller with functioning DNS and DHCP and also one Windows 7 PC installed with downloaded Windows AIK. (since that part is easy)
Now back to work. First I took a virtual PC with windows 7 and MS office 2007 preinstalled. In your case you can install all the application you normally use in your production environment.
Once all the applications has been installed go ahead and remove the static IP settings and configure to get an IP from the DHCP server. Since we plan to do a image capturing we don’t want the same IP to be duplicated to all the PC, right?
After that go ahead and launch the sysprep command. This command will make sure all the unique data and settings will be removed from that reference PC.
once the PC has been generalized go ahead and start it from the Windows PE CD. How to create a Windows PE cd can be found over here. Since I’m doing everything in Virtual environment these pics will show how to assign the iso image and also how configure a legacy network adapter for that image. In HYPER-V only legacy network adapter will support getting IP from DHCP when booting.
now once booted from the PE cd we’ll go ahead and map a network drive to export the capturing image. After that run the imagex command to capture the image.
Once the image capture is completed (how long will it take to capture the image will depend on the amount of data you have in the reference PC) Take the same Windows PE CD and boot the machine which is not having any operating system. One you boot to the command prompt again map the network drive by using net use command and then import the captured image using the imagex command.
Well once that completed you can restart the PC and start the PC with OOBE (Out of the Box Experience) In that scenario you can provide a computer name, user name..etc. So as you can see the entire process is that that difficult and compared with the benefits you can get out of image based deployments. Microsoft MDT 2010 is a good tool to use to automate this process if you have a requirement to deploy Windows XP, windows 7 or Windows 2008 for few hundred computers. Apart from that have a look into the following TechNet articles as well,
DISM , MDT2010 , SCCM
Enjoy with these tools and doing your own experiments.