Recovering from Windows 2000 boot problems

Someday, you're going to try to turn on your server and nothing will happen. If you're prepared, you can minimize the terror. In this Daily Drill Down, Brien Posey shows you some tools you can use to recover from Windows 2000 boot problems.

We’ve all been there. You return to the office after a perfectly good weekend to find that a server has been down since some time on Saturday. You attempt to reboot the server only to discover that the server won’t boot. Just what you wanted to deal with first thing on Monday morning! As the phone rings off the hook, you try to decide how to deal with the problem. Is today going to turn into Black Monday? Maybe not. Windows 2000 offers several solutions to boot problems—solutions that were unavailable in Windows NT Server. In this Daily Drill Down, I’ll discuss some of the possible techniques you can use to deal with the problem at hand.

A Windows 2000 Emergency Repair Disk
Sooner or later, disaster is bound to strike. The best way to deal with such a disaster is to be prepared ahead of time. One way of being prepared is to have some tools on hand that will help you to deal with a boot problem when it happens. Microsoft builds a variety of such tools and methods into Windows 2000. One option is the Windows 2000 Emergency Repair Disk.

To create an Emergency Repair Disk, simply open the Backup program by clicking the Start button and selecting Programs | Accessories | System Tools | Backup. When the Backup program starts, simply insert a blank floppy disk, click the Emergency Repair Disk button, and follow the onscreen prompts to create the Emergency Repair Disk.

Unfortunately, there are a couple of downsides to the Emergency Repair Disk. First, it is system specific. This means you’ll have to create it before a crash happens. If a crash has already occurred, you can’t simply go to another machine and create an Emergency Repair Disk and expect it to work. Of course, if you’re desperate and you have another server with identical hardware and an identical partition configuration, it won’t hurt to try.

Another problem with the Emergency Repair Disk is that its contents are minimal. The Emergency Repair Disk contains only a copy of the Autoexec.nt, Config.nt, and Setup.log files. All of the files that were present on the Windows NT version of the Emergency Repair Disk are now stored on the server’s hard disk. This means that if the hard disk is severely damaged, the Emergency Repair Disk may be useless.

Yet another problem with the Emergency Repair Disk is that it’s good only until you make changes to your disk configuration. If you reformat a disk, add a new disk, or change the file system on a disk, you must make another Emergency Repair Disk. If you don’t create a new Emergency Repair Disk, the old one won’t work on your system after you make changes.

Running Setup
As I mentioned, the Emergency Repair Disk can’t be used as a stand-alone utility. It can run only from within the Windows 2000 Setup program. But how do you run Setup if you can’t boot your system?

There are two ways to do this. The first method involves booting the system from your Windows 2000 Server CD-ROM. Of course, this method works only if your server contains a bootable CD-ROM drive.

If you can’t boot from a CD, you can use your Windows 2000 Server CD-ROM on another system to make a set of boot disks. However, before you create these disks, I should point out two things. First, these disks are version specific. Therefore, you can’t use a set of Windows 2000 Professional Setup Disks to recover a server, or vice versa. Second, I’ve personally had a lot of problems with the boot disks that can be created off the CD. On more than one occasion, I’ve started the Setup process off the first disk, and it will work well until I get to the second or third disk. I’ll then get a message saying that the disk is unreadable. Therefore, if you have a bootable CD-ROM drive, I recommend using the CD option rather than the Setup disk option.

With that said, you can create a set of Setup disks by inserting your Windows 2000 Server CD into the CD-ROM drive on another machine. Now, open a command-prompt window and navigate through the CD’s directory structure to the Bootdisk directory. Once in that directory, enter the command
makeboot A:

to create a set of Windows 2000 Server Setup disks.

Make your own boot disk
Another way that you can get your system up and running quickly is by creating and using a Windows 2000 boot disk. If you’ve been using computers for a while, you’ve probably done the old trick in which you boot the system from a boot disk to a command prompt and then use the SYS C: command to make the drive bootable again. Don’t even think about trying this technique on a Windows 2000 system.

The reason for this is that a DOS-style boot disk (including those made by Windows 95, Windows 98, and Windows Me) doesn’t contain the correct boot files. DOS-style boot disks rely on Io.sys, Msdos.sys, and Windows 2000 systems use an entirely different file set. The boot sector on the hard disk must be set to look for the Ntldr file. If you use a DOS-style boot disk to sys the drive, the boot sector will be rewritten to look for Io.sys instead of Ntldr.

Even if you use a Windows 2000 boot disk, you can forget about accessing a command prompt. The purpose of the boot disk is to boot the server to its normal operating mode. You can actually boot off a boot disk and run the server in the usual manner with no side effects. Of course, you won’t want to do this forever. It’s just a quick way to get your server back online until you have time to make a permanent repair.

Of course, there are limitations to using a boot disk. The majority of the Windows 2000 operating system on the hard disk has to be intact for a boot disk to work. A boot disk will be able to boot the server only in situations in which the only problems that the server has relate directly to the boot sector. For example, you could use a boot disk in situations where the boot sector has been corrupted or in situations where the master boot record was corrupted or infected by a virus. The boot disk can also boot your server if the Ntldr or the files are missing or corrupted or if you have the wrong version of the Ntbootdd.sys file.

Another useful function of the boot disk is that if you have a mirrored drive and your primary drive fails, you can simply edit the Arc path on your boot disk and then use it to boot the system off the mirror.

The easiest way to make a boot disk is from a command prompt. You begin by making a copy of the first Windows 2000 Setup disk. You can do this portion of the process through the GUI or by using the command
diskcopy A: A:

Once you’ve made a copy, insert the copy into your floppy drive and enter the command
erase A:\*.*

This will remove all visible, unprotected files from the disk. Next, copy the files and Ntldr from the Windows 2000 Server CD’s I386 directory to the disk. Once you’ve done so, rename the Ntldr file to Setupldr.bin. At this point, place the boot disk into your server and copy the server’s Boot.ini file to the boot disk. If your server uses SCSI drives, you’ll also have to copy the SCSI device drivers to your boot disk. If you had to copy the SCSI device drivers, then rename the device driver for your SCSI controller to Ntbootdd.sys.

The Recovery Console
The Recovery Console allows you to boot a malfunctioning server to a command prompt and access all of the server’s partitions for repair. The Recovery Console lacks many of ERD Commander 2000’s features, however, such as being able to reset the Administrator password from outside Windows.

The Recovery Console supports most of the standard DOS commands but also contains some special commands for doing such things as disabling malfunctioning device drivers and services (LISTSVC, ENABLE, and DISABLE) and performing hard disk maintenance. In fact, you can work with the partition structure via the Diskpart command or run a Chkdsk command to correct common hard disk errors. You can also fix master boot record problems through the Fixmbr command or fix boot problems with the Fixboot command.

Unfortunately, the Recovery Console isn’t installed by default. You can access it through the Windows 2000 Setup disks, or you can install it on your hard disk as a boot option. Before I explain how to load the Recovery Console on your hard disk, though, I should point out that doing so requires about 74 MB of disk space.

You can install the Recovery Console by inserting the Windows 2000 Server CD and going to a command prompt. At the command prompt, run the following command (where D: is the letter of your CD-ROM drive):

When you enter this command, you’ll see a message asking if you want to install the Recovery Console as a Startup option. This screen will also warn you of the 74-MB disk space requirement. Click Yes, and Windows 2000 will install the Recovery Console. After the installation process completes, you’ll be able to access the Recovery Console by selecting the Recovery Console command from the Boot menu. You must supply the Administrator’s password before Windows 2000 will let you use the Recovery Console.

Winternals Software
Even though Microsoft provides a decent stable of utilities to help you deal with boot issues, they may not solve all of your problems. In that case, you’ll probably need some third-party tools. Two of my favorite tools are made by Winternals Software.

The first of these tools is called ERD Commander 2000. ERD Commander 2000 allows you to use a set of floppy disks or a CD to boot a dead system to a command prompt. Once at the command prompt, you’ll have full read and write access to all of your partitions, even if they exist on RAID arrays. You can then use standard DOS commands and a few special commands to fix the problem at hand.

In the previous section, I discussed a tool called the Recovery Console. In effect, the Recovery Console is a watered-down version of ERD Commander 2000. You’ll probably find ERD Commander to be a much more useful tool than the Recovery Console.

Sometimes a server’s hard drives may be damaged so badly that you’ll have to replace or reformat them. In such situations, a tool I really like is called Remote Recover. Chances are, you’ve seen utilities that allow you to use a serial cable to move files off a dead system. However, a serial cable connection is so slow that it’s impractical for servers that contain more than a couple of megabytes of data. Remote Recover uses a boot disk to connect the dead server to the network. Once connected, you can move any salvageable files across the network to a safe location while you work on the hard disk problems.

Incidentally, if you’re currently in a crash situation and wishing you had these tools on hand, all isn’t lost. The same thing once happened to me. I made a phone call to Winternals and explained my situation. I gave them a credit card number over the phone just as if I were placing a normal order, and they e-mailed me a copy of the utility. I had my system up and running within an hour of making the phone call.

If a Windows 2000 Server fails to boot, there are a number of techniques you can use to deal with the problem. In this Daily Drill Down, I’ve described several of these techniques.
The authors and editors have taken care in preparation of the content contained herein but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for any damages. Always have a verified backup before making any changes.

Editor's Picks