SysPrep Guide: Issues and Troubleshooting - [7/8] +
SysPrep is basically a hack that Microsoft threw together so that its customers could squeeze a little more flexibility out of Windows. Even though SysPrep is widely used throughout the IT field this program receives very little support from Microsoft and as such the program has a number of bugs and issues. I have also included in here a number of common problems and their solutions. And you should also look at Microsoft's KB828287 because it discusses other problems I may not.
And please send me questions on any other problems you may have, because chances are that if you're having a problem then many others have had the same problem.
SysPrep Slow to Reseal (alternating between fast and slow reseal times)
This problem has been with SysPrep since the second version of SysPrep for Windows 2000. I do not know the exact reason it happens, but I am fairly certain I know the related source. The problem is that when you run SysPrep sometimes it will takes seconds, which depends on the hardware (20-40 seconds is typical) and sometimes it will take minutes (10-40 minutes). In fact, if you run SysPrep when it takes minutes and then let it run the mini-setup, if you run it again it will take seconds, and if you do it again then minutes again. This alternating behavior is extremely odd and very annoying. If you monitor the processes while this happens you will notice a process that will run, exit, run, exit, run, etc. until it eventually completes.
It should be noted that the long amount of time that it takes to reseal is normal if your sysprep.inf answer file has a lot of mass storage devices define in it. Each line under the [SysprepMassStorage] section adds about 1-2 seconds to the resealing time, and the time is variable depending on the speed of the computer. On Windows XP there are about 690 entries from the generic build of mass storage devices (through -bmsd), which will take about 15 minutes on a decent computer to complete. During this time SysPrep is parsing the entire list of devices and loading their appropriate drivers into the boot loader for Windows. So, the true problem is that sometimes it will only take seconds to complete the reseal process when it should take many minutes, which would seem more like a blessing than a curse, but it concerns me because I do not know what harm it causes.
The solution to this is not to SysPrep an image that you ran SysPrep on. I suggest you take an image before you SysPrep a computer, and if you want to update the image then you use the one that you didn't run SysPrep on. The downside to this is that you will need to continually update the image on the original hardware or you may face issues such as blue screens, and also that you will need to take two images for a single image configuraiton (before and after running SysPrep).
If you know of a better solution or if you have a better understand of the problem please let me know.
Computer Halts During Windows Load After Applying Image with SysPrep
If the computer freezes, after you apply an image to it, during the boot process then this is typically due to an invalid hardware abstraction layer (HAL). This problem will appear after Windows begins to boot and before the mini-setup starts, typically when the first text mode Windows progress mode progresses near to completion.
The fix to this problem is to make sure you load a HAL on the template computer that is compatible with your target computers. I suggest using the Advanced Configuration and Power Interface (ACPI) PC HAL as it seems to work the best, whereas the ACPI Uniprocessor HAL seems to choke on some older computers and the Standard PC HAL is far too limiting. Please see my video guide for more details on this.
Blue Screen When Mini-Setup Launches (inaccessible boot device, error 0x7b) / Rebooting Before Mini-Setup
This problem is the most common problem people ask me about. The typical scenario of this problem is to create an image and then SysPrep it. Then the computer is imaged using some program, and usually that's Ghost. Then they test the image on the same machine and it starts fine and runs through the mini-setup properly. Then the image is applied to another machine and when the computer is booting, it either restarts or it displays a bluescreen error of 7b. If the computer is restarting then it is usually caused by the same thing, but the default action of Windows is too restart upon experiencing a blue screen error. In Windows XP SP2 you can see the blue screen error code by pressing the F8 key on boot and then you can tell Windows not to restart on a fatal error. Very often this problem is experienced when going between computers with ATAPI (IDE) and SATA chipsets
This problem exists because the way Windows loads mass storage devices drivers (or chipset drivers). If Windows cannot load the drivers for the mass storage device drivers then it can't access the Windows partition and so it can't run the mini-setup and so it blue screens. This is the same error you would get if you hadn't used SysPrep at all to duplicate the image onto a different computer.
The solution to this problem is to include mass storage configuration information in the sysprep.inf file. Please see the chapter on mass storage device drivers, or watch the video to see how this section is configured.
SysPrep Does Not Do What I told It To Do
There are several things that could cause this. The most common complaint is that the mini-setup runs and it's automated like it should be, and rather asks every question that was already define in the sysprep.inf answer file.
One of the reason this could happen is that you may have a syntax error in your sysprep.inf answer file. Make sure that you spell the section names right and that you format the sections and the values properly. See my sysprep.inf examples and compare them against yours for general syntax.
Another reason is that you could have your SysPrep folder in the wrong location. The SysPrep directory must be placed in %SystemDrive%\sysprep or it won't work properly. This folder is normally c:\sysprep, but if you have Windows installed to a different partition then this would change the drive required to host SysPrep. Check the command prompt and run set to see what the %SystemDrive% variable is set to.
A very common mistake is that your answer file may be named incorrectly. You should make very certain that answer file has been named sysprep.inf and that it is placed in the SysPrep folder. A lot of people name this file sysprep.ini and that will mean SysPrep won't see the file when it executes the mini-setup it won't have any settings define so it will run a default setup.
Or, you could be using features that are not available in the version of SysPrep that you are using. Make sure that you are running the latest version of SysPrep for your version of Windows. And check your SysPrep documentation to see if the sysprep.inf commands you are using are valid for the version of SysPrep you are using. It is important to remember that the SysPrep for Windows 2000 is missing some commands that SysPrep for Windows XP has, and SysPrep for NT4 has a lot less features then any of the newer SysPrep versions.
SysPrep Uses Settings From Administrator Profile Instead of Default User Profile
This isn't an issue really, but rather a "feature". Microsoft introduced this in the SP2 version of the Windows XP SysPrep. When people contacted them about it they claimed it was a requested feature. My personal feeling about this was that if they wanted to introduce this feature it should have been a toggle in the sysprep.inf answer file that defaulted to the original behavior.
What the problem is that when the mini-setup of SysPrep executes the profile of the "Administrator" account is copied as the "Default User" profile. This means that any settings you configured into the "Administrator" profile are now the default settings for any new users created on that computer (or image) and that the "Default User" account settings are lost.
Most users use the "Administrator" profile as a profile for administrating the computers under their dominion and they typically have special shortcuts on that desktop, special Start Menu icons, etc. so you wouldn't want every other user to have those settings.
I remember when I first experienced this "feature" after using SP2's SysPrep. I was completely confused because my new users suddenly had the incorrect profile. I was forced to waste time experimenting and then I discovered it wasn't my image's fault but rather it was SysPrep that caused the problem. At this point there was no mention of this problem on the Internet, but after contacting Microsoft I was assured this was a "feature" with no workaround since it was the desired effect.
Many months later Microsoft released a patch that fixed this but annoying as they are they decided that this fix to a "feature" was only available by request. So, if you wanted to fix this "feature" then you had to contact their phone support and ask them for it. The website with the contact information is 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. I don't provide a direct link to the file because I would assume it would be a rediculous violation of IP law.
SysPrep Fails to Load PNP Drivers for Devices
There could be several reasons for this.
- Make sure that the driver directory contains an INF file. Drivers that are compressed will not be picked up by SysPrep. Some companies do not release their drivers in a way that Windows can use without running through a setup program, but drivers in compressed installers will not work.
- Verify that the drivers are designed for the target operating system. You can't install Windows 98 drivers on Windows XP. However, it may be possible to install Windows 2000 drivers on Windows XP. You should read the documentation that came with the drivers to verify compatibility.
- Make sure that you provided the correct path to the drivers. The path must point exactly to a folder that contains an INF file as SysPrep will not automatically recurse subfolders looking for drivers. I have written a program as a workaround to this annoyance and I highly recommend that you use it. I call it the SysPrep Driver Scanner and it's a free tool that will work with SysPrep for both Windows 2000 and Windows XP.
- If you're using Windows XP then make sure the drivers you are using are WHQL certified. SysPrep will not automatically install non-certified drivers no matter how hard you try. If you are using non-certified drivers then see if a previous version of the driver package is available that is certified. Or, if you got the driver from the OEM (for example, Dell) then try the reference drivers (for example, nVidia) and if you did then try it the other way around. And if you still can't find drivers then complain to the company that distributes them.
- Read the section of this guide on drivers for instructions on how to configure driver detection for SysPrep.
Unable to Update the Registry When Resealing
If you receive the error "an error occurred while trying to update the registry" when you reseal SysPrep then it most likely means that at least one of your drivers in the [SysprepMassStorage] can't be found by Windows. This normally means that the file path specified to the driver is invalid. See the mass storage section of this guide for more information on how to properly specify mass storage drivers.
SysPrep Will Not Accept the Key Entered
This can happen for many reasons. The most common reasons are that either the key you are using is invalid or of an unacceptable type. If you are using an OEM key then it will not work on an OEM installation. Microsoft really only intends volume licensed copies to be mass-deployed.