BOOT.INI and ARC Path Naming Conventions and Usage

This article was previously published under Q102873
This article has been archived. It is offered "as is" and will no longer be updated.
SUMMARY
This article explains the conventions in the Advanced RISC Computing (ARC)specifications that are used to define the path to a Windows NTinstallation on Intel x86-processor-based computers and RISC-basedcomputers. This article consists of the following sections:

  • x86-Based and RISC-Based ARC Paths Comparison
  • Differences Between the MULTI(X) and SCSI(X) Syntax and Application
  • Examples of x86-Based and RISC-Based ARC Paths

x86-Based and RISC-Based ARC Paths Comparison

The path to each Windows NT installation is described in a single line inthe BOOT.INI file for x86-based computers, however, on RISC-basedcomputers a set of four lines is used in the computer firmware BOOT-options to point to a single Windows NT installation. If there aremultiple installations of Windows NT on your x86-based computer, theBOOT.INI has one ARC path for each installation in it. You are promptedwith a boot menu during the boot process to choose the installation youwant to boot.

There are two basic forms in which an ARC path can appear, one formstarting with MULTI() and the other form starting with SCSI(). Both formsare used on x86-based computers, however, only the SCSI() form is used onRISC computers:

x86-Based Computers

The following are generic examples of two possible BOOT.INI ARC paths:
multi(X)disk(Y)rdisk(Z)partition(W)\<winnt_dir>

-or-

scsi(X)disk(Y)rdisk(Z)partition(W)\<winnt_dir>


where X, Y, Z, and W are numbers that identify the item to their left.

Both ARC-path examples above allow Windows NT find the %SystemRoot%directory to complete the boot process by loading files in that reside inthat directory. For additional information, see the Differences BetweenThe MULTI(X) And SCSI(X) Syntax And Application section below.

RISC-Based Computers

Because the RISC-based architecture requires that the firmware points todifferent areas of the system, the ARC path to a single Windows NTinstallation consists of a group of four definitions with ARC paths(versus only a one-line ARC-path definition on x86-based computers). EachARC path that follows one of the four definitions starts with SCSI() afterthe definition name:

   SYSTEMPARTITION scsi(X)disk(Y)rdisk(Z)partition(W)   OSLOADER  scsi(X)disk(Y)rdisk(Z)partition(W)\os\<nt_dir>\osloader.exe   OSLOADPARTITION scsi(X)disk(Y)rdisk(Z)partition(W)   OSLOADFILENAME  \<winnt_dir>				


The following explains each line of the four-line group above.

Definition 1 (SYSTEMPARTITION):
Defines the path to the SYSTEMPARTITION, the small, File Allocation Table (FAT) partition which holds OSLOADER.EXE and HAL.EXE:

scsi(X)disk(Y)rdisk(Z)partition(W)


Definition 2 (OSLOADER):
Defines the path to the OSLOADER file. This is the same as the SYSTEMPARTITION, but it includes a path descriptor:

scsi(X)disk(Y)rdisk(Z)partition(W)\os\<nt_dir>\osloader.exe

where <nt_dir> indicates the directory in which OSLOADER.EXE resides.


Definition 3 (OSLOADPARTITION):
Defines the boot partition which contains the rest of the Windows NT system files:

scsi(X)disk(Y)rdisk(Z)partition(W)


Definition 4 (OSLOADFILENAME):

Defines the name of the Windows NT installation directory (winnt_dir) with no drive letter:

\<winnt_dir>


Differences Between the MULTI(X) and SCSI(X) Syntax and Application

MULTI(X) Syntax

The MULTI(X) syntax of the ARC path is only used on x86-based computers.In Windows NT version 3.1 this path is only valid for IDE and ESDI drives;in Windows NT version 3.5, 3.51 and 4.0 it is valid for SCSI drives aswell.

The MULTI() syntax indicates to Windows NT that it should rely on thecomputers BIOS to load system files. This means that the operating systemwill be using interrupt (INT) 13 BIOS calls to find and load NTOSKRNL.EXEand any other files needed to boot Windows NT.

The X, Y, Z, and W parameters have the following meaning:

  • X is the ordinal number of the adapter and should always be 0 (see the text below for the reason).
  • Y is always 0 (zero) if the ARC path starts with MULTI(), because MULTI() invokes the INT 13 call as described above and therefore does not need the DISK() parameter information.
  • Z is the ordinal for the disk on the adapter and is usually a number between 0 and 3.
  • W is the partition number. All partitions receive a number except for type 5 (MS-DOS Extended) and type 0 (unused) partitions, with primary partitions being numbered first and then logical drives. NOTE: The first valid number for W is 1, as opposed to X, Y, and Z which start at 0 (zero).
Theoretically, this syntax could be used to start Windows NT on any drivein the system. However, this would require that all drives are correctlyidentified through the standard INT 13 interface; since support for thisvaries from disk controller to disk controller and most system BIOS onlyidentify a single disk controller through INT 13, in practice it is onlysafe to use this syntax to start Windows NT from the first two drivesconnected to the primary disk controller, or the first four drives in thecase of a dual-channel EIDE controller.

In a pure IDE system, the MULTI() syntax will work for up to the fourdrives maximum on the primary and secondary channels of a dual-channelcontroller.

In a pure SCSI system, the MULTI() syntax will work for the first twodrives on the first SCSI controller (that is, the controller whose BIOSloads first).

In a mixed SCSI and IDE system, the MULTI() syntax will work only for theIDE drives on the first controller.

SCSI(X) Syntax

The SCSI() syntax is used on both RISC and x86-based computers and is usedin all versions of Windows NT. Using SCSI() notation indicates thatWindows NT will load a boot device driver and use that driver to accessthe boot partition.

On an x86-based computer, the device driver used is NTBOOTDD.SYS, whichcan be found in the root of the system drive (generally of drive C) and isa copy of the device driver for the drive controller in use.

On a RISC computer, the driver is built into the firmware as required bythe RISC standards, so no file is required.

The X, Y, Z, and W parameters have the following meaning when using theSCSI() syntax:

  • X is the ordinal number of the adapter as identified by the NTBOOTDD.SYS driver.
  • Y is the SCSI ID of the target disk.
  • Z is the SCSI logical unit number (LUN) of the target disk. This number is almost always 0 (zero).
  • W is the partition number. All partitions receive a number except for type 5 (MS-DOS Extended) and type 0 (unused) partitions, with primary partitions being numbered first and then logical drives.

    NOTE: This first valid number for W is 1, as opposed to X, Y, and Z which start with 0.
When using SCSI() notation the value of X depends upon NTBOOTDD.SYS. EachSCSI driver under Windows NT has its own method of ordering controllers,although generally they conform to the order that the BIOS on thecontrollers load (that is, if the BIOS is loaded).

Additionally, if you have multiple controllers that use different devicedrivers, you should only count those controlled by NTBOOTDD.SYS whendetermining the value of the X parameter. For instance, if you have anAdaptec 2940 (which uses the driver AIC78XX.SYS) and an Adaptec 1542(which uses AHA154X.SYS) X will always be 0. What will change is theNTBOOTDD.SYS file:

  • If you load Windows NT from a drive on the Adaptec 2940, NTBOOTDD.SYS is a copy of AIC78XX.SYS.
  • If you load Windows NT from a drive on the Adaptec 1542, NTBOOTDD.SYS is a copy of AHA154X.SYS.

Example of x86-Based and RISC-Based ARC Paths

The following are examples of valid ARC paths. The first two examples areARC paths on x86-based computers. Example three is taken from a singleboot entry on a DEC Alpha AXP 150 RISC-based computer, but should becorrect for all RISC-based computers with similar drive configurations.

NOTE: If you have multiple ARC paths in the BOOT.INI file and acombination of different SCSI adapters in your computer as shown inexample 1 and 2 below, you must copy the appropriate SCSI driver to theNTBOOTDD.SYS file name in the root directory of the system partition(generally drive C), before you shut down to boot from a Windows NTinstallation that resides on a drive connected to the other SCSIcontroller. This is because regardless on which drive the other Windows NTinstallation resides, NTBOOTDD.SYS always resides on the system partition.

Example 1: Multiple SCSI controllers

This is an example of an x86-based computer with the following drives andcontrollers installed:

  • Two Adaptec 2940 SCSI controllers, each with two 1 gigabyte (GB) hard drives at ID 0 and 1.
  • One Adaptec 1542 SCSI disk controller, with two 1 GB hard drives at ID 0 and 4.
Each hard drive has a single, 1 GB primary partition. For the purpose ofexplaining this example, the partitions are numbered from 1 through 6,with partition 1 and 2 identifying disk one and two attached to theAdaptec 2940 controller, partition 3 and 4 identifying the disks attachedto the second Adaptec 2940 controller, and partition 5 and 6 on the diskson the Adaptec 1542. One of the following ARC paths appears in BOOT.INIdepending on what partition you installed Windows NT. This example assumesthat Windows NT is installed in a directory named WINNT35:

Windows NT Installed On Corresponding ARC Path

Partition1(on 1st Adaptec 2940) multi(0)disk(0)rdisk(0)partition(1)\WINNT35Partition2(on 1st Adaptec 2940) multi(0)disk(0)rdisk(1)partition(1)\WINNT35Partition3(on 2nd Adaptec 2940) scsi(1)disk(0)rdisk(0)partition(1)\WINNT35Partition4(on 2nd Adaptec 2940) scsi(1)disk(1)rdisk(0)partition(1)\WINNT35Partition5(on Adaptec 1542)     scsi(0)disk(0)rdisk(0)partition(1)\WINNT35Partition6(on Adaptec 1542)     scsi(0)disk(4)rdisk(0)partition(1)\WINNT35				


NOTES: For partition 3 and 4, NTBOOTDD.SYS is a copy of AIC78XX.SYS, forpartition 5 and 6 NTBOOTDD.SYS is a copy of AHA154X.SYS. As an alternativeto the ARC paths of partition 1 and 2, you can substitute the followingpaths provided that you have an NTBOOTDD.SYS file that is a copy of theAIC78XX.SYS driver:

Windows NT Installed On Corresponding ARC Path

Partition1(on 1st Adaptec 2940) scsi(0)disk(0)rdisk(0)partition(1)\WINNT35Partition2(on 1st Adaptec 2940) scsi(0)disk(1)rdisk(0)partition(1)\WINNT35				


However, Windows NT Setup always uses MULTI() syntax for these first twodrives.

Example 2: Mixed IDE and SCSI Environment

This is an example of an x86-based computer with the following drives andcontrollers installed:

  • A dual-channel EIDE controller with three 1 GB drives, two on the primary channel and one on the secondary channel.
  • An Adaptec 2940 SCSI controller with a single 4 GB hard drive at ID 3.
The three EIDE drives have one 1 GB partition each, the SCSI drive hasfour 1 GB partitions. For the purpose of explaining this example, thepartitions are numbered from 1 through 7, with partition 1 and 2identifying disks one and two on the primary channel of the EIDEcontroller, partition 3 on the secondary channel, and partitions 4, 5, 6,and 7 on the SCSI drive. One of the following ARC paths appears inBOOT.INI depending on what partition you installed Windows NT. Thisexample assumes that Windows NT is installed in a directory named WINNT35:

Windows NT Installed On Corresponding ARC Path

Partition1 (pri. EIDE channel) Multi(0)disk(0)rdisk(0)partition(1)\WINNT35Partition2 (pri. EIDE channel) multi(0)disk(0)rdisk(1)partition(1)\WINNT35Partition3 (sec. EIDE channel) multi(0)disk(0)rdisk(2)partition(1)\WINNT35Partition4 (on Adaptec 2940)   scsi(0)disk(3)rdisk(0)partition(1)\WINNT35Partition5 (on Adaptec 2940)   scsi(0)disk(3)rdisk(0)partition(2)\WINNT35Partition6 (on Adaptec 2940)   scsi(0)disk(3)rdisk(0)partition(3)\WINNT35Partition7 (on Adaptec 2940)   scsi(0)disk(3)rdisk(0)partition(4)\WINNT35				


NOTES: Loading Windows NT from partitions 4 through 7 requires anNTBOOTDD.SYS file which is a copy of AIC78XX.SYS.

Example 3: Boot variables on a DEC Alpha AXP 150

On a RISC computer, all boot paths are defined through the firmware. Whencreating a new boot entry for a RISC computer the firmware steps youthrough a series of prompts which aids you in defining the pathscorrectly; so unless you are editing a boot entry that is not working anymore, you should never have to directly edit the ARC paths on a RISCcomputer.

The following example is a boot entry on a DEC Alpha AXP 150, with asingle hard drive at ID 0 that is partitioned as follows:

  • One 4 MB system partition.
  • One 396 MB boot partition.
Windows NT is installed on the boot partition in a directory named WINNT35and the OSLOADER directory is also named OS\WINNT35, however, it is on thesystem partition. The boot entry has the following values:

   SYSTEMPARTITION scsi(0)disk(0)rdisk(0)partition(1)   OSLOADER  scsi(0)disk(0)rdisk(0)partition(1)\os\winnt35\osloader.exe   OSLOADPARTITION scsi(0)disk(0)rdisk(0)partition(2)   OSLOADFILENAME  \WINNT35				
3.10 kbfaqw2ksetup
Properties

Article ID: 102873 - Last Review: 12/04/2015 09:37:28 - Revision: 3.1

Microsoft Windows NT Advanced Server 3.1, Microsoft Windows NT Server 3.5, Microsoft Windows NT Server 3.51, Microsoft Windows NT Server 4.0 Standard Edition, Microsoft Windows NT Workstation 3.1, Microsoft Windows NT Workstation 3.5, Microsoft Windows NT Workstation 3.51, Microsoft Windows NT Workstation 4.0 Developer Edition, Microsoft Windows NT Advanced Server 3.1

  • kbnosurvey kbarchive kbhowto kbusage KB102873
Feedback