How to create a hardware independent sysprepped WIM image of Windows XP for deployment from Windows Deployment Services
This guide is from Ashley's Tech Blog
This guide is still a draft as there are a few small changes that should be made to it as noted throughout the document with links to the bottom of the post. I have tested this guide on multiple series of HP business desktops and laptops and an old Toshiba laptop without too much trouble. Please feel free to comment on this guide as I will update it with changes as required.
1. Install Windows XP SP3 (Do not join domain).
2. Install VMware Tools.
3. Create Snapshot. Go to VM > Snapshot > Take Snapshot.
4. Setup Shared Folders. Go to VM > Settings.
5. Go to Options > Select Always enabled then Click Add.
6. Click Next in the Add Shared Folder Wizard.
7. Click on the Browse button and select the drive you want access to then click OK.
8. Click Next.
9. Click Finish.
10. Click OK.
11. Open Windows Explorer and browse to D:\SUPPORT\TOOLS (where D: is your CD/DVD drive letter).
12. Open Deploy.cab and select all files then right click and Extract to C:\Sysprep (where C: is your system drive letter).
13. Open setupmgr.exe then Click Next.
14. Click Next.
15. Select Sysprep setup.
16. Click Next.
17. Select Yes, fully automate the installation.
18. Enter Name and Organization details then Click Next.
19. Click Next.
20. Select Time zone then click Next.
21. Enter Product Key then click Next (Product Key has been hidden in screen shot).
22. Click Next.
23. Enter Administrator password then click Next.
24. Click Next.
25. Select Domain, Enter Domain name, Check Create a computer account in the domain, Enter User name and Password for a User Account which has been delegated the right to join computers to domain with the restriction of joining 10 computers disabled. Click Next.
26. Click Next.
27. Click Next.
28. Select Languages you want to support then click Next.
29. Click Next.
30. Add any commands that you want to run the first time a user logs on then click Next.
31. Add any commands that you want to run at the end of unattended Setup such as a batch/script file to install/update software.
32. Enter an Identification String such as the current date/revision number to help identify this Sysprep image to help in identifying which Sysprep image is installed on a particular computer in the future then click Finish.
33. Click OK, Wait a few moments and then Go to File > Exit.
34. Open Sysprep.inf and check that it looks correct (Sensitive data has been hidden).
35. Change/Add any lines in Bold to your Sysprep.inf.
- DriverSigningPolicy=Ignore - Don't prompt when installing drivers
- UpdateInstalledDrivers=Yes - Reinstall all present drivers when mini-setup starts. Very important.
In order to successfully make this setup work on any system configuration, you will have to use UpdateInstalledDrivers=Yes, which will clean the entire Device Manager, except non-PnP and HAL.
This will ensure that all VMware drivers are removed and your setup will install the proper drivers for the system it is being executed on.
36. Browse to C:\Windows\ (where C:\Windows is where Windows was installed to) and right click on the Driver Cache folder in the left pane and select Properties, click Advanced, Check Compress contents to save disk space, click Ok, click OK then Click Ok again.
37. Browse to \\.host\Shared Folders\ (where is the path to your folder of drivers. I’ve used the drivers I’ve imported into Microsoft Deployment Toolkit 2008 while creating an Lite Touch Installtion DVD.
38. Copy and paste those folders to C:\Windows\Driver Cache (where C:\Windows is where Windows was installed to).
39. Download the latest version of Sysprep Driver Scanner from http://www.vernalex.com/tools/spdrvscn/ or copy it from the zip file.
40. Copy and paste spdrvscn.exe to C:\Sysprep on the Virtual Machine and open.
41. Change Search Path to C:\Windows\Driver Cache and press Scan, Press OK to Prompt.
42. Press Default and Press OK to Prompt.
43. Press Save and click OK to Prompt.
44. Click Done and OK to Prompt.
45. Open Sysprep.inf and add [SysprepMassStorage] to the end of the file.
46. Open a Command Prompt and type cd C:\Sysprep then type sysprep –bmsd and hit Enter.
Here's a sample of what my result was:
47. Download MySysprep from and Extract files to C:\Sysprep in your virtual machine.
48. Open MySysprep.inf and delete the ; under the [CPU] section then close and save.
49. Create another Snapshot by going to VM > Snapshot > Take Snapshot. Name it 2 – Before Hal Switch.
50. Go to Start, Right click on My Computer and select Manage. Click on Device Manager, Expand Computer, Right Click on the item underneath (ACPI Uniprocessor PC), Click Update Driver.
51. Select No, not this time then click Next.
52. Select Install from a list or specific location (Advanced) then click Next.
53. Select Don’t search. I will choose the driver to install.
54. Select Advanced Configuration and Power Interface (ACPI) PC from the list and click Next.
55. Click Finish.
56. Click Yes to the Prompt.
57. Once restarted click Yes to the Prompt.
58. Shutdown the Virtual Machine. Once Shutdown go to VM > Settings then click on Hard Disk (IDE) then click on Utilities and then on Map…
59. Uncheck Open drive in Windows Explorer after mapping then click OK.
60. Open Windows PE Tools Command Prompt from your start menu by going to Start > Programs > Microsoft Windows AIK > Windows PE Tools Command Prompt.
61. Type in imagex /compress max /capture V: D:\Temp\Windows_XP_SP3.wim “Windows XP SP3 – 1 – Before Sysprep” where V: is the mapped virtual machine’s hard drive and D:\Temp\Windows XP Image.wim is the path and file name you want to save the image then hit Enter.
62. Once completed Open VMware Workstation and go to VM > Settings. Select Hard Disk (IDE), Click on Utilies then click Disconnect.
63. Click Ok and start the virtual machine by pressing the play button up the top.
64. [T2] Install any software and configure any settings you require for your build.
65. Configure Internet Explorer’s Home page by opening the Control Panel, Clicking Switch to Classic View then opening Internet Options. Type in the address you want in the Address: text box and then click OK.
66. Open Regional and Language Options. Configure the Regional Options tab as required.
67. Open the Languages tab. Check Install files for complex script and right-to-left languages (including Thai). Click OK to Prompt. Click OK again. If prompted for files insert/load the Windows XP SP3 setup cd.
68. Click Yes to prompt[T3] .
69. Create another Snapshot by going to VM > Snapshot > Take Snapshot and name it 3 - Before Sysprep.
70. Browse to C:\Sysprep and open mysysprep.exe and click OK to prompt.
71. Check Use Mini-Setup and then click Reseal.
72. Click OK to prompt.
73. Wait for the virtual machine to shutdown.
74. Map virtual machine hard drive for imaging. Go to VM > Settings, Click on Hard Disk (IDE), Click on Utilities then click Map…
75. Click OK then click OK again.
76. Open Windows PE Tools Command Prompt from your start menu by going to Start > Programs > Microsoft Windows AIK > Windows PE Tools Command Prompt.
77. Type in imagex /compress max /capture V: D:\Temp\Windows_XP_SP3.wim “Windows XP SP3 – 2 – Before Sysprep 2[T4] ” where V: is the mapped virtual machine’s hard drive and D:\Temp\Windows XP Image.wim is the path and file name you want to save the image then hit Enter. [T5]
78. PXE Boot from network from WDS server to Capture Image. Hit F12 when booting to netwook boot.
79. Select Capture Windows XP Image and hit Enter.
80. Wait for Windows PE to load.
81. Click Next.
82. Select C:\ as the volume to capture and enter Windows XP SP3 for Image Name: and Image Description:
83. Click Browse, Type Windows XP SP3 for the File name and click Save.[T6] [T7]
84. Click Finish.
85. Wait for the Image to finish capturing.
86. Click Close once complete.
[T2] Skip steps since capture to WDS server works now by adding NIC drivers to capture boot image.
[T3] Edited Sysprep.inf to prompt for Regional and Language Options. Have to redo documentation.
[T4] Before Sysprep??!! Should be after Sysprep!!
[T5] Skip steps since capture to WDS server works now by adding NIC drivers to capture boot image.
[T6] Missed screenshot
[T7] Skip step and redo uploading image directly to WDS server
This guide is from Ashley's Tech Blog
This guide is still a draft as there are a few small changes that should be made to it as noted throughout the document with links to the bottom of the post. I have tested this guide on multiple series of HP business desktops and laptops and an old Toshiba laptop without too much trouble. Please feel free to comment on this guide as I will update it with changes as required.
1. Install Windows XP SP3 (Do not join domain).
2. Install VMware Tools.
3. Create Snapshot. Go to VM > Snapshot > Take Snapshot.
4. Setup Shared Folders. Go to VM > Settings.
5. Go to Options > Select Always enabled then Click Add.
6. Click Next in the Add Shared Folder Wizard.
7. Click on the Browse button and select the drive you want access to then click OK.
8. Click Next.
9. Click Finish.
10. Click OK.
11. Open Windows Explorer and browse to D:\SUPPORT\TOOLS (where D: is your CD/DVD drive letter).
12. Open Deploy.cab and select all files then right click and Extract to C:\Sysprep (where C: is your system drive letter).
13. Open setupmgr.exe then Click Next.
14. Click Next.
15. Select Sysprep setup.
16. Click Next.
17. Select Yes, fully automate the installation.
18. Enter Name and Organization details then Click Next.
19. Click Next.
20. Select Time zone then click Next.
21. Enter Product Key then click Next (Product Key has been hidden in screen shot).
22. Click Next.
23. Enter Administrator password then click Next.
24. Click Next.
25. Select Domain, Enter Domain name, Check Create a computer account in the domain, Enter User name and Password for a User Account which has been delegated the right to join computers to domain with the restriction of joining 10 computers disabled. Click Next.
26. Click Next.
27. Click Next.
28. Select Languages you want to support then click Next.
29. Click Next.
30. Add any commands that you want to run the first time a user logs on then click Next.
31. Add any commands that you want to run at the end of unattended Setup such as a batch/script file to install/update software.
32. Enter an Identification String such as the current date/revision number to help identify this Sysprep image to help in identifying which Sysprep image is installed on a particular computer in the future then click Finish.
33. Click OK, Wait a few moments and then Go to File > Exit.
34. Open Sysprep.inf and check that it looks correct (Sensitive data has been hidden).
35. Change/Add any lines in Bold to your Sysprep.inf.
;SetupMgrTag
[Unattended]
OemSkipEula=Yes
InstallFilesPath="C:\WINDOWS\Driver Cache\i386" DriverSigningPolicy=Ignore UpdateInstalledDrivers=Yes
[GuiUnattended]
AdminPassword="********"
EncryptedAdminPassword=NO
OEMSkipRegional=1
OEMDuplicatorstring=26/09/2008
TimeZone=260
OemSkipWelcome=1
[UserData]
ProductKey=*****-*****-*****-*****-*****
FullName="ALS"
OrgName="Australian Laboratory Services Ptd Ltd"
ComputerName=*
[RegionalSettings]
LanguageGroup=11,1
[SetupMgr]
DistFolder="C:\WINDOWS\Driver Cache\i386" DistShare=windist
[Identification]
JoinDomain=DOMAIN
DomainAdmin=JOINDOMAIN
DomainAdminPassword=********
[Networking]- OemSkipEula=Yes - Skips EULA
InstallDefaultComponents=Yes
- DriverSigningPolicy=Ignore - Don't prompt when installing drivers
- UpdateInstalledDrivers=Yes - Reinstall all present drivers when mini-setup starts. Very important.
In order to successfully make this setup work on any system configuration, you will have to use UpdateInstalledDrivers=Yes, which will clean the entire Device Manager, except non-PnP and HAL.
This will ensure that all VMware drivers are removed and your setup will install the proper drivers for the system it is being executed on.
36. Browse to C:\Windows\ (where C:\Windows is where Windows was installed to) and right click on the Driver Cache folder in the left pane and select Properties, click Advanced, Check Compress contents to save disk space, click Ok, click OK then Click Ok again.
37. Browse to \\.host\Shared Folders\
38. Copy and paste those folders to C:\Windows\Driver Cache (where C:\Windows is where Windows was installed to).
39. Download the latest version of Sysprep Driver Scanner from http://www.vernalex.com/tools/spdrvscn/ or copy it from the zip file.
40. Copy and paste spdrvscn.exe to C:\Sysprep on the Virtual Machine and open.
41. Change Search Path to C:\Windows\Driver Cache and press Scan, Press OK to Prompt.
42. Press Default and Press OK to Prompt.
43. Press Save and click OK to Prompt.
44. Click Done and OK to Prompt.
45. Open Sysprep.inf and add [SysprepMassStorage] to the end of the file.
46. Open a Command Prompt and type cd C:\Sysprep then type sysprep –bmsd and hit Enter.
Here's a sample of what my result was:
pci\ven_1011&dev_0046&subsys_13649005=c:\windows\inf\pnpscsi.infAs you can see, there are a lot of entries in the section. These are plug and play identifiers for mass storage drivers and their location. If it didn't insert any, your device path is invalid and you forgot to add the \WINDOWS\Inf path to the Sysprep Driver Scanner. Check it in HKLM\Software\Microsoft\Windows\CurrentVersion\DevicePath. Note that Sysprep takes ~1 second to add each entry.
pci\ven_1028&dev_0001&subsys_00011028=c:\windows\inf\pnpscsi.inf
pci\ven_1028&dev_0002&subsys_00d11028=c:\windows\inf\pnpscsi.inf
pci\ven_1028&dev_0002&subsys_00d91028=c:\windows\inf\pnpscsi.inf
pci\ven_1028&dev_0002&subsys_00021028=c:\windows\inf\pnpscsi.inf
pci\ven_1028&dev_0003&subsys_00031028=c:\windows\inf\pnpscsi.inf
pci\ven_9005&dev_00c5&subsys_00c51028=c:\windows\inf\pnpscsi.inf
pcmcia\ibm-pcmcia_portable_cd-rom_drive-84e3=c:\windows\inf\pnpscsi.inf
pcmcia\ibm-pcmcia_cd-rom_drive_cd-400-5afa=c:\windows\inf\pnpscsi.inf
pcmcia\ibm-pcmcia_portable_cd-rom_drive-84e2=c:\windows\inf\pnpscsi.inf
pcmcia\pcmcia-ide_card-3220=c:\windows\inf\pnpscsi.inf
pci\ven_13e6&dev_3603&subsys_00461014=c:\windows\inf\pnpscsi.inf
pcmcia\pcmcia-pnpide-4522=c:\windows\inf\pnpscsi.inf
pcmcia\pcmcia-pnpide-7b72=c:\windows\inf\pnpscsi.inf
47. Download MySysprep from and Extract files to C:\Sysprep in your virtual machine.
48. Open MySysprep.inf and delete the ; under the [CPU] section then close and save.
49. Create another Snapshot by going to VM > Snapshot > Take Snapshot. Name it 2 – Before Hal Switch.
50. Go to Start, Right click on My Computer and select Manage. Click on Device Manager, Expand Computer, Right Click on the item underneath (ACPI Uniprocessor PC), Click Update Driver.
51. Select No, not this time then click Next.
52. Select Install from a list or specific location (Advanced) then click Next.
53. Select Don’t search. I will choose the driver to install.
54. Select Advanced Configuration and Power Interface (ACPI) PC from the list and click Next.
55. Click Finish.
56. Click Yes to the Prompt.
57. Once restarted click Yes to the Prompt.
58. Shutdown the Virtual Machine. Once Shutdown go to VM > Settings then click on Hard Disk (IDE) then click on Utilities and then on Map…
59. Uncheck Open drive in Windows Explorer after mapping then click OK.
60. Open Windows PE Tools Command Prompt from your start menu by going to Start > Programs > Microsoft Windows AIK > Windows PE Tools Command Prompt.
61. Type in imagex /compress max /capture V: D:\Temp\Windows_XP_SP3.wim “Windows XP SP3 – 1 – Before Sysprep” where V: is the mapped virtual machine’s hard drive and D:\Temp\Windows XP Image.wim is the path and file name you want to save the image then hit Enter.
62. Once completed Open VMware Workstation and go to VM > Settings. Select Hard Disk (IDE), Click on Utilies then click Disconnect.
63. Click Ok and start the virtual machine by pressing the play button up the top.
64. [T2] Install any software and configure any settings you require for your build.
65. Configure Internet Explorer’s Home page by opening the Control Panel, Clicking Switch to Classic View then opening Internet Options. Type in the address you want in the Address: text box and then click OK.
66. Open Regional and Language Options. Configure the Regional Options tab as required.
67. Open the Languages tab. Check Install files for complex script and right-to-left languages (including Thai). Click OK to Prompt. Click OK again. If prompted for files insert/load the Windows XP SP3 setup cd.
68. Click Yes to prompt[T3] .
69. Create another Snapshot by going to VM > Snapshot > Take Snapshot and name it 3 - Before Sysprep.
70. Browse to C:\Sysprep and open mysysprep.exe and click OK to prompt.
71. Check Use Mini-Setup and then click Reseal.
72. Click OK to prompt.
73. Wait for the virtual machine to shutdown.
74. Map virtual machine hard drive for imaging. Go to VM > Settings, Click on Hard Disk (IDE), Click on Utilities then click Map…
75. Click OK then click OK again.
76. Open Windows PE Tools Command Prompt from your start menu by going to Start > Programs > Microsoft Windows AIK > Windows PE Tools Command Prompt.
77. Type in imagex /compress max /capture V: D:\Temp\Windows_XP_SP3.wim “Windows XP SP3 – 2 – Before Sysprep 2[T4] ” where V: is the mapped virtual machine’s hard drive and D:\Temp\Windows XP Image.wim is the path and file name you want to save the image then hit Enter. [T5]
78. PXE Boot from network from WDS server to Capture Image. Hit F12 when booting to netwook boot.
79. Select Capture Windows XP Image and hit Enter.
80. Wait for Windows PE to load.
81. Click Next.
82. Select C:\ as the volume to capture and enter Windows XP SP3 for Image Name: and Image Description:
83. Click Browse, Type Windows XP SP3 for the File name and click Save.[T6] [T7]
84. Click Finish.
85. Wait for the Image to finish capturing.
86. Click Close once complete.
[T2] Skip steps since capture to WDS server works now by adding NIC drivers to capture boot image.
[T3] Edited Sysprep.inf to prompt for Regional and Language Options. Have to redo documentation.
[T4] Before Sysprep??!! Should be after Sysprep!!
[T5] Skip steps since capture to WDS server works now by adding NIC drivers to capture boot image.
[T6] Missed screenshot
[T7] Skip step and redo uploading image directly to WDS server
0 comments:
Post a Comment