Vernalex.com
 
 M  E  N  U
 - Guides
 - Links
 - Tools
 - Themes
 




 
 

SysPrep Guide: Introduction - [1/8] +

Overview

The SysPrep tool is fairly simplistic in nature, but even though Microsoft includes a few rather bulky instruction manuals with SysPrep the documentation somehow fails to intelligently connect with a good deal of technical users. Therefore I am providing this guide as a supplement to Microsoft's documentation in hopes that it will clarify the topics that I find most users have with SysPrep.

This guide will focus on the implementation for using SysPrep on a Windows XP SP2 computer. However, I will try to point out areas that differ from the implementation in prior versions of Windows. It should be noted that the versions for Windows 2000 and Windows XP are very similar, but the version for Windows NT4 is fairly different.

I personally have a Windows XP SP2 image that works on most, if not all, computers. It was specifically designed to operate on Dell business computers (OptiPlex GX1, GXa, GX1p, GX200, GX300, GX400, GX240, GX260, GX270, SX270, GX280, SX280, GX520, GX620, 745, 755 and many Dell laptops), but also works well on Dell Dimensions, Dell Precisions, HP, IBM, Compaq, Sony and other desktops and laptops. It works cleanly for computers I deal with on a day-to-day basis, and on computers less common to me I need to install a few drivers after imaging them. But, the image includes not only the Windows installation but also Microsoft Office, CD burning software, DVD movie playback software, decompression software, Spybot, lots of administration and diagnostic tools, media players, all of the latest patches, etc. plus it has been configured for maximum performance and security. Needless to say that this saves me a lot of time in deployment and it provides a great deal of standardization.

NOTE: These instructions were written for people in IT that need to duplicate computers within their organization, or possibly for home users to transfer their Windows installation to a different computer. SysPrep can also be used to distribute installations of Windows to customers of computer businesses. The difference is between "Factory" mode and "Reseal" mode and this guide focuses on how to reseal the computers, but they would also apply to factory installations.

If you have any questions, comments or suggestions then please let me know. Any feedback I receive from users will allow me to improve this guide, so you'll be helping others as well as yourself. Use the Contact page to send me a message.

 

Terminology

There are a few terms that SysPrep uses and that I use and if you do not know them then they may confuse you.

batch file
A script that executes commands on the command-line to automate tasks. Their file extension is either .bat or .cmd.
command-line
An interface to the operating system that allows you to type commands to execute rather than using a graphical user interface (GUI) to manipulate the computer.
drivers
A piece of software that tells the operating system the specifications on how to interface with the hardware. Windows contains drivers for many hardware devices, but for devices newer than the operating system you will usually need to download these.
factory mode
A mode of SysPrep that allows a computer manufacturer to create their own menus and options when an operating system is run for the first time. I do not cover this method of using SysPrep.
hardware abstraction layer (HAL)
The fundamental interpretation system between the computer's architecture and the operating system. This is a specific type of driver that Windows handles in much different way than most drivers and it determines such as things as whether the installation of Windows supports more than one processor.
inf
Stands for "information file" and uses a very similar syntax to an ini file. In fact, I believe the only difference is that inf files can have multiple values with the same name that are uniquely identified by an implicit index. SysPrep uses a sysprep.inf and not a sysprep.ini file.
ini
Stands for "initialization file" and uses a very similar syntax to an inf file.
mass storage controller
A mass storage controller coordinates the actions of all mass devices.
mass storage controller driver
This is the driver that explains to Windows how it should interact with connected mass storage devices.
mass storage device
Any device that contains a massive amount of storage space. In the context of Windows this typically refers to hard-drives.
mini-setup
A start-up process of Windows that uses SysPrep to adjust the Windows installation to the currently detected hardware and environment. This process is set to begin at the next boot after a computer is resealed by SysPrep.
preinstallation environment
A way to perform operating system functions before installing an operating system permanently. This is either used to install an operating system or to perform maintenance on an already installed operating system. A very good third party PE is BartPE and can be used to image computers.
profile
A Windows account stores its settings mainly in a profile that is stored in its uniquely named profile folder.
reseal mode
The mode in which SysPrep sets the Windows installation to begin the mini-setup on the next boot of the computer.
sysprep
A tool used to allow the transfer of a Windows installation onto different hardware.
sysprep driver scanner
A tool I wrote to ease the detection of Windows drivers for the use with SysPrep. You can find it here.
windows hardware quality labs
When a Windows driver passes Windows Logo Testing it is a Windows Hardware Quality Labs (WHQL) approved driver meaning that it should be reasonably stable.

 

 

History

Users of Windows NT4 needed a way to properly duplicate installations of Windows and programs onto other computers. This was a task that would save time and reduce monotony for IT staff that needed to do such things as set up 30 identical computers in a computer lab. Programs existed at the time such as Binary Research's Ghost, which was later sold to Norton in July of 1998, that could duplicate the exact software structure of one computer onto another.

But, in the case of Windows NT4 this created extreme driver problems that would either crash the replicate computer or impair specific devices, such as the network card. This was in contrast to Windows 95 or Windows 98 that when duplicated reacted in a much more manageable way, and basically this means they would go through a hardware redetection process. Even worse, a Windows NT4 computer has a built-in security identifer (SID) that is generated only on the installation of the operating system. This SID is used by domain controllers to internally identify workstations and servers, and if this code was duplicated then it would confuse domain servers since multiple computers would in effect have the same name.

Luckily Microsoft, for once, actually listened to the needs of its customers. And their response was the release of a free resource utility called the Microsoft System Preparation Tool versioned as 4.0.1381.123. This program was designed for Windows NT4 Workstation and Windows NT4 Server and provided a fix for the largest complaints. When you were ready to duplicate a computer you would run this program and it would follow rules defined in a script file (answer file) that you created. And after duplication it would execute those rules while running through a short mini-setup that recreated the security identifer (SID) and forced a hardware remapping sequence. It still would not allow duplication across variable hardware, but it would make exact computer duplications a much easier task.

Since then there have been numerous releases of SysPrep for all Windows NT based operating systems and SysPrep has become a common tool for IT administrators.

 

Versions

There are several versions of SysPrep and their options vary from Windows platform to Windows platform. You should keep in mind that SysPrep is only for Windows NT based systems and at the time of writing this that includes NT4, Windows 2000, Windows XP and Windows Server 2003. Be sure that you use the latest version of SysPrep available to you or you will limiting what you can do a lot. You can check the version of your SysPrep executable by right clicking it and selecting properties. Then under the properties dialog view the Version tab.

Windows NT4 (release 1/1)
SysPrep (4.0.1381.123)
The original release of SysPrep was on Windows NT4 on 1998/10/16. It was distributed through Microsoft's website as a resource bundle under the name of WIN_DEPLOY.EXE. The website for the patch can be found here. The original version fixed the problem of replicating software images onto exact, or near exact, hardware configurations.

Windows 2000 (release 1/2)
SysPrep 1.0 (5.00.2149.1)
The first of release of SysPrep for Windows 2000 was included on the installation CD in a compressed cabinet (.CAB) file called DEPLOY.CAB. The file could be found in the SUPPORT\TOOLS subdirectories on any of the Windows 2000 installation CDs and it was dated 1999/10/11. This version had several short comings. The most prominent was that it could not deploy using 3rd party mass storage controllers. So, if you had hard-drive controllers not natively supported by Windows 2000 then you would need to make different images for each. However, unlike the NT4 version this version would strip out hardware configurations and redetect hardware devices the first boot following the execution of SysPrep.

Windows 2000 (release 2/2)
Sysprep Update 1.1 (Q257813 (5.00.2195.2104))
The second release of SysPrep for Windows 2000 was distributed through Microsoft's website as an update. It was released under the file name of Q257813_W2K_spl_X86_EN.exe and you can download it from here. It was dated 2000/8/27. This version changed a few things but the most important was that it gave SysPrep the ability to use additional mass storage drivers, which was an awesome addition.

Windows XP (release 1/2)
SysPrep 2.0 (5.1.2600.0 (xpclient.010817-1148))
The first release of SysPrep for Windows XP was included on the installation CD in a compressed cabinet (.CAB) file called DEPLOY.CAB. The file could be found in the SUPPORT\TOOLS subdirectories on any of the Windows XP installation CDs and it was dated 2001/08/17. This version was just as complete the Sysprep Update 1.1, but it was designed for XP and had a few minor differences.

Windows XP SP2 (release 2/2)
SysPrep 2.0 SP2 (KB838080 5.1.2600.2180 (xpsp_sp2_rtm.040803-2158))
The second release of SysPrep for Windows XP was distributed as a resource follow-up to the release of Service Pack 2. It was included along with other deployment tools on Microsoft's website under the file name of WindowsXP-KB838080-SP2-DeployTools-ENU.cab. You can download it from here. This version of SysPrep was dated 2004/08/03. The differences between the SP2 SysPrep and the original SysPrep were that it supported scripted configuration of SP2 features, such as the firewall and Internet Explorer's pop-up blocker, and that it screwed up the profiles. I should clarify the latter though, but it may be a bit technical for the time being so ignore it for now if you don't understand it. For as long as SysPrep has existed the concept was that you designed the "Default User" profile and then imaged the computer. So, the user accounts that were created after this point would use the settings from the "Default User" profile. But, with this version of SysPrep it would copy the settings from the "Administrator" profile into the "Default User" profile upon the execution of the SysPrep mini-setup. So, you would have to define your "Administrator" account as the template account and this left you without a proper "Administrator" profile with administration tools and such, which forced you to create an additional administrative account to do that. This will be fixed in the next version of SysPrep (SP3) because Microsoft received so many complaints, and for the time being you can request a patch to disable this behavior, but it then could be enabled through the script (as it should have been all along). The website with details on how to request this patch can be found here. The file names that Microsoft will link you to you are called WindowsXP-KB887816-x86-enu.exe and WindowsXP-KB887816-x86-Symbols-enu.exe, and I imagine you could use a file sharing program to find these if Microsoft is unhelpful.

Windows Server 2003 (release 1/2)
SysPrep 2.0 (5.2.3790.0 (srv03_rtm.030324-2048))
The first release of SysPrep for Windows Server 2003 was included on the installation CD in a compressed cabinet (.CAB) file called DEPLOY.CAB. The file could be found in the SUPPORT\TOOLS subdirectories on any of the Windows Server 2003 installation CDs and it was dated 2003/03/24.

Windows Server 2003 (release 2/2)
SysPrep 2.0 SP1 (KB892778 5.2.3790.1830 (srv03_sp1_rtm.050324-1447))
The second release of SysPrep for Windows Server 2003 was distributed as a resource follow-up to the release of Service Pack 1. The SysPrep file was dated 2005/03/24. It was included along with other deployment tools on Microsoft's website under the file name of WindowsServer2003-KB892778-SP1-DeployTools-x86-ENU.cab. You can download it from here. The differences between the SP1 SysPrep and the original SysPrep were that it supported the automatic configuration of new options found in SP1. I am not sure if this version has the same annoying "feature" found in XP's SP2 SysPrep since I have never used it for Windows Server 2003.