Windows 2000, Windows XP and Windows 2003 Service Packs and hotfixes are usually designed to fix problems, not aggravate them. Unfortunately, some hotfix or Service Pack installations have been known to damage a system to the point where it will not boot correctly. There are a plethora of reasons for this -- for instance, a mismatch between patched and existing components or damage to the Registry for some reason other than the application of the Service Pack of hotfix.
If a system has been left unbootable due to a Service Pack or hotfix, the first course of action would be to boot to Safe Mode and remove the SP or hotfix. But sometimes even Safe Mode is not accessible, and even the "Boot from Last Known Good configuration" does not work. In cases like this, the best next step (short of a repair operation or a parallel install) is to use the Recovery Console to manually restore the files that were replaced by the Service Pack or hotfix.
Here is the procedure:
- Boot the Windows CD-ROM.
- At the welcome screen, select R to start the Recovery Console. (In Windows 2000, you can press F10 at the "Welcome" screen when booting from the CD to go to the Recovery Console.)
- Select the installation of Windows to access and type the administrator password.
- Enter the Windows directory (usually C:WINDOWS or C:WINNT).
- Enter the $NtServicePackUninstall$ subdirectory if you are removing a Service Pack. If you are removing a hotfix, the directory name will be $NtUninstallKBXXXXXX$ or $NtUninstallQXXXXXX$, with XXXXXX being the number of the hotfix in question. Note that these are all hidden directories.
- Within the hotfix or Service Pack Uninstall directory is another subdirectory, spuninst (also hidden). This directory contains a batch file, spuninst.bat.
- Use the command batch spuninst.bat to run the batch file. This should manually replace the files changed by the service pack or hotfix with backups of the originals.
- Reboot the machine and select Safe Mode. (If Windows still does not boot at this point, the Registry itself may be damaged and must be manually recovered.)
- Remove the service pack from the Add/Remove Programs control panel. This makes the needed changes in the Registry to indicate to the machine that the patch in question is not installed.
Serdar Yegulalp is the editor of the Windows 2000 Power Users Newsletter. Check out his Windows 2000 blog for his latest advice and musings on the world of Windows network administrators – please share your thoughts as well!