1 Jan 96

Planning for Windows NT

The Bulk of the Windows NT system is installed in the \SYSTEM32 subdirectory of either C:\WINDOWS or x:\WINNT (on any disk volume). However, the NT boot process always starts with files installed on the C:\ drive.

On any Personal Computer, the initial stages of the Boot process are handled by the BIOS. Windows NT is a portable operating system that runs on RISC CPU chips like the DEC Alpha or the PowerPC. RISC systems don't have the same memory structure or BIOS services as an Intel based PC. To accommodate this, RISC computer vendors have adopted a standard called ARC (Advanced RISC Computer). The NT Boot process is designed to accommodate both ARC and Intel machines. However, since most people will not buy a RISC system, this article discusses only the Intel boot process.

Most computers come with DOS or Windows 95 preinstalled. Unless NT is told to reformat the C: drive, it assumes that there is another operating system to preserve. So it copies the previous boot sector to a file named BOOTSECT.DOS before installing its own boot sector and a handful of hidden files.

The NT boot sector loads a hidden program named NTLDR (the NT Loader). That program displays a boot selection menu based on information in a plain text dataset named BOOT.INI. The contents of this file looks something like this:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT Version 3.51"
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT Version 3.51 [VGA mode]" /BASEVIDEO
C:\ = "MS DOS"

The [boot loader] section give the user a 30 second time-out to select one of three options from the menu. If nothing is entered, then NT is loaded by default.

The remaining lines are in a cryptic notation that can be blamed on the ARC (RISC computer people). Let enough technicians attend enough meeting and they will produce something like this. A computer can have more than one disk controller. Some controllers may be IDE and some may be SCSI. A controller can have more than one ribbon cable (or bus). A cable can have more than one disk. A disk can have lots of partitions. Adapters, cables, disks, partitions, how many were going to Saint Ives?

The ARC standard allows an operating system to be on any partition of any disk on any bus on any controller. The first word is "multi" for IDE (or for a SCSI disk controller masquerading as IDE to the BIOS), and "scsi" for a SCSI controller that cannot be accessed through the BIOS. The string "multi(0)disk(0)rdisk(0)partition(1)" is ARC notation for "the C: drive".

multi(0) is the first IDE disk adapter card
disk(0)rdisk(0) is the first IDE disk on that adapter card
partition(1) is the first Primary Partition on that disk
\WINDOWS is the directory that contains the NT operating system.

ARC notation gets more interesting when an Adaptec 3940 PCI SCSI-2 adapter with two buses is used to connect up to 14 devices to an NT Server. Then the various ARC elements can be used to select a particular adapter, bus, SCSI device ID, and partition.

Windows NT has a one megabyte driver that can be used on an Intel PC to load the operating system off any supported SCSI adapter. It has to be that large because there are lots of SCSI cards from lots of different vendors, and each is programmed differently. However, if the operating system is installed on one of the first two disks on the first SCSI adapter, and BIOS support is enabled on that adapter, then the adapter will emulate IDE disks. NT will define the adapter as a "multi" instead of a "scsi" and can save the disk space and loading time required for the one megabyte driver program.

ARC notation requires that Primary Partitions be counted first, then logical volumes in an extended partition. This produces a problem if NT is installed in a logical volume, and then some other operating system or utility creates a new primary partition on the same disk. Even if the new partition contains no recognizable NT file system, it will still cut in front of the logical volumes and bump the NT system to the next higher partition number.

To correct partition number problems, boot DOS and issue the following command:

C:\> attrib -r -s boot.ini

Then use any DOS editor to change the appropriate partition numbers. Save the file away and reverse the process with the same command but using the "+r +s" switches.

Windows NT and OS/2

It is fairly simple to run Plain Old Windows, Windows NT, and OS/2 all on the same system. Mostly, you need a reasonable sized disk. It is not, however, easy to put all three in a single boot menu, and this is certainly the case when they share a common C:\WINDOWS directory.

The cleanest solution is to accept a two-level menu sequence. Install OS/2 on D: or one of the higher disk letters using Boot Manager. Install NT on the C: drive along with DOS. Label the C: drive as "DOS+NT" to the Boot Manager, and mark the Boot Manager active/startable to the MBR. Now when the system boots, the first menu will offer a choice between DOS+NT and OS/2. If the DOS+NT option is selected, the NT menu takes over and offers a choice of either NT or DOS.

Nobody wants the two menu situation, but the need for it is driven by several gotchas:


If OS/2 were the only operating system on C: before the NT installation, then the OS/2 boot sector would have been copied to BOOTSECT.DOS. Despite the name, BOOTSECT.DOS contains the boot sector on the C drive before the NT installation begins and it can belong to any operating system. Then the NT menu would be able to select between NT and OS/2. Real DOS would have to boot off a floppy.

In a similar manner, if NT is already installed on the C: drive, and OS/2 is then installed in Dual Boot mode rather than using the Boot Manager, then the OS/2 dual boot mechanism will swap between OS/2 and NT as easily as it swaps between OS/2 and DOS.

How to Recover Trashed NT Boot Files

At the end of the installation process, Windows NT creates an Emergency Repair diskette. If the boot files are clobbered, they can be reinstalled by booting off the original Installation diskettes, then indicating to the first panel that a Repair is needed. One of the repair options is to restore the boot files (boot sector, BOOT.INI, and NT* hidden files).

A full repair requires access to all the files used to install NT in the first place. The Repair Diskette will contain a list of the subset of NT files that were copied to the SYSTEM32 directory and its subdirectories. It will also contain the Registry and other configuration files built in response to questions posed during installation. However, the programs and libraries are still on the installation diskettes.

The full repair compares the copy of NT files on the hard disk with the original copy on the diskette or CD. If a needed file has been altered or deleted, it can be reinstalled from the original source. If an update had been applied to the system, it will be removed by doing a full repair.

Can NT Boot off a Floppy?

The \WINDOW\SYSTEM32 subdirectory cannot be stored on a floppy. However, it is possible to format a floppy using the Windows NT version of the FORMAT command (thereby writing an NT boot sector on the floppy). It is then possible to copy the hidden files BOOT.INI, NTLDR, and NTDETECT.COM onto the floppy. It is then possible to boot the floppy and get the same menu that one would get booting off the C: drive (to select between DOS and NT). Once a selection is made, the remaining programs must be loaded off disk. So NT can boot the menu program off the floppy, but it can't boot the operating system itself from the floppy.

PCLT

Copyright 1995 PC Lube and Tune -- Das Boot -- H. Gilbert

This document generated by SpHyDir, another fine product of PC Lube and Tune.