In this post I’ll go through a basic example of capturing and deploying a system image using ImageX:
- Sysprep the reference computer
- Capture an image of the reference computer
- Deploy the image to the target computer
Please keep in mind that this is just a basic example to give you an idea of how to utilize these tools. The configuration of your network and the unique factors in your environment will likely require you to modify several of the details I provide in the steps below.
In the interest of keeping this somewhat complicated topic short I am assuming you (the reader) already have the basic skills to:
- Load and customize a Microsoft Operating System
- Create a network share to store images
- Utilize the command line
- Create a boot-able disc
- Modify the boot sequence of a computer
To utilize ImageX and complete the steps below you will require a Windows PE disk with ImageX.
If you need to create one, you will first need to download the The Windows AIK.
Once installed here are two resources you can utilize to assist you in creating your disc:
Step 1: Load and customize the reference computer
The reference computer is your model from which to create your customized image. Set it up how you like (ie programs, drivers, etc) – just keep in mind that sysprep will remove certain elements depending on which switches you utilize in the command.
Step 2: Sysprep the reference computer
If you would like to customize the sysprep process, create an unattend.xml file and place it in: C:\windows\system32\sysprep
For instance, I typically create images for a specific platform. Because I will be deploying the image to identical devices I don’t want sysprep to strip out the drivers I’ve installed.
So, I create a custom unattend.xml file that tells sysprep to keep the drivers:
<settings pass="generalize"> <component name="Microsoft-Windows-PnpSysprep"> <PersistAllDeviceInstalls>true</PersistAllDeviceInstalls> </component> </settings>
Run sysprep from the command line. This will sysprep the reference computer and shut it down, allowing you to then boot it up from your Windows PE disk with ImageX and capture an image.
C:\Users\*User*> C:\Users\*User*>cd c:\windows\system32\sysprep C:\Windows\System32\Sysprep>sysprep.exe /oobe /generalize /shutdown /unattend:unattend.xml
Step 3: Use ImageX to capture the image
Boot the reference computer into the WindowsPE environment.
Please note that while it is possible to place ImageX onto the root of your WindowsPE disc I prefer to place it into a separate Tools folder. This is reflected in the example below.
In the example below we will switch to the drive containing our WindowsPE disc and then to the directory containing ImageX. We then use net use to connect to a network share to store the image on. Alternatively you could use an external hard drive to capture the image. We then run ImageX to capture the image of the reference computer.
X:\windows\System32> X:\windows\System32>d: D:\>cd Tools D:\Tools>net use n: \\server\share /user:Domain\username "password" D:\Tools>imagex /capture /flags "professional" c: n:\images\win7x64_pro.wim "Win7Pro"
Step 4 (optional): Prepare the hard drive of the target computer to receive the image
Dependent on your situation you may need to prep the hard drive of the target computer. This can be accomplished using DISKPART. Boot the target computer using your WindowsPE disc and follow the commands below. This will erase the drive and format it to receive the image. If your target drive is already formatted appropriately you can skip this step.
X:\windows\System32> X:\windows\System32>d: D:\> D:\>diskpart DISKPART>list disk DISKPART>select disk (id) DISKPART>online disk (if the disk is not online) DISKPART>clean DISKPART>convert mbr (or gpt) DISKPART>create partition primary DISKPART>select part 1 DISKPART>active (if this is the boot partition) DISKPART>format fs=ntfs label=(name) quick DISKPART>assign letter c: DISKPART>list volume DISKPART>exit
Step 5 : Deploy the image to the target computer using ImageX
Boot the target computer into the WindowsPE environment.
In the example below we will switch to the drive containing our WindowsPE disc and then to the directory containing ImageX. We then use net use to connect to a network share where the image is stored. We then run ImageX to deploy the image to the target computer.
D:\Tools> D:\Tools>net use n: \\server\share /user:Domain\username "password" D:\Tools>imagex /apply n:\images\win7x64_pro.wim "Win7Pro" c:
Once complete you can reboot the target computer and it should boot into Windows.
Occasionally I have seen an error during this process on the first boot. Errors might include:
- cannot find NTLDR
- winload.exe not found
- other general boot failures
If you experience this, reboot back into you WindowsPE environment and run the command below. Your target PC should now work fine.
X:\windows\System32>c: C:\>c:\windows\system32\bcdboot c:\windows /s c:
If you would like to experiment more and further customize your ImageX uses, I recommend the book below. It is a great resource for all the various switches, commands, and proper syntax structures.
Windows 7 Portable Command Guide