Recovering from a Failed Service Pack Installation
My company currently uses Microsoft Exchange Server 5.5 on a Windows 2000 server. The server had been running Service Pack 2 (SP2), so I thought I would update the server to SP4 during one early-morning maintenance period.

In preparation for the installation, I stopped the Exchange services and started the SP4 installation. All was not well, however, because the server inexplicably rebooted before SP4 finished installing. Then, the situation got worse: At the final stage of the boot process, right after the Win2K splash screen appeared, the server kept rebooting.

I attempted to boot into Safe Mode, but the reboot problem continued. Choosing the Last Known Good configuration didn't fix the problem either. The most likely cause was that the server now contained a mismatched set of SP2 and SP4 system files, so I decided to see whether I could recover the server back to the SP2 level.

The server uses a RAID controller that Windows doesn't include in its default installation, so my first step was to download the controller's driver from the manufacturer's Web site and put it on a disk. Next, I booted from a Win2K Server CD-ROM that had been updated with SP2 and pressed F6 at the prompt to install a third-party mass-storage controller. At the next prompt, I selected the correct RAID driver from the list. The Win2K setup process detected the controller and continued.

When the CD-ROM boot process finished, I chose to repair the Win2K installation option, which inspects the startup environment, verifies Win2K system files, and inspects the boot sector.

During the repair process, the installation detected file after file that didn't match the version on the CD-ROM. I chose to replace all these files with the versions from the CD-ROM. After the repair process finished, I was able to successfully boot the server.

The recovery process was not complete yet, however, as Windows 2000 Server Terminal Services and McAfee GroupShield (an antivirus product) failed to start. To verify the Win2K system files, I logged on as an administrator and ran the System File Checker (SFC) utility with the command

sfc /purgecache

SFC then cleaned out the protected system-files folder (%SystemRoot%\system32\dllcache) and reinstalled the SP2 versions of the files from the CD-ROM. However, after completing this step and rebooting, Terminal Services and GroupShield still failed to start.

Rather than trying to fix these problems individually, I decided to restore the System State along with the Program Files and WINNT directories from the previous night's successful backup. After a final reboot, the recovery was complete.

Fortunately, my recovery process didn't require the use of an Emergency Repair Disk (ERD). Before any system update or software installation, you should create anupdated ERD and stop all application services (e.g., Exchange, Microsoft SQL Server). You should also keep a bootable CD-ROM for the OS. The CD-ROM should contain the matching service pack level for the OS you're running. Finally, never forget the importance of backups and make sure you test your recovery strategies.

Because of these recovery precautions, my horror story had a happy ending. I plan to take the same precautions when my company upgrades to Windows Server 2003 and Exchange Server 2003 in the near future. What about SP4? I plan to leave that update alone.