Previous Table of Contents Next


Understanding ARC Pathnames

An understanding of ARC pathnames is necessary if you plan to use the startup disk to boot another version of Windows NT on another partition. There are two basic formats for an ARC pathname. The first format, which you will see most often, is multi(w)disk(x)rdisk(y)partition(z). This ARC pathname can be divided into the following components:

  multi(w)—This parameter specifies that Windows NT can use the BIOS to load system-specific files. The w parameter specifies the ordinal number of the disk controller to be used. The w parameter should always be 0.


In theory, Windows NT could boot from disk drives on different controllers. In reality, this requires that all disks be supported by the standard INT 13 interface. Not all disk controllers adhere to this standard, and some computer BIOS only support a single controller through the INT 13 interface. However, should you decide to try, you can change the w value from 0 for the first disk controller to 1 for the second controller or 2 for the third controller and see if your hardware supports the required INT 13 interface properly.
  disk(x)—This parameter is not used in the multi() syntax, and the x parameter should always be 0.
  rdisk(y)—This parameter specifies the ordinal for the physical disk on the disk controller. The y parameter specifies the physical disk number. This number is usually 0 or 1 on a primary controller. On a dual channel EIDE controller, the value ranges from 0 (for the first disk) through 3 (for the fourth disk). On a SCSI controller, this value can range from 0 (for the first disk) through 6 (for the seventh disk). Dual channel controllers are generally treated as two separate SCSI controllers.
  partition(z)—Specifies the partition to use followed by a pathname to the system files to load. The z parameter specifies the partition number. All partitions, except extended partitions (type 5) or unused partitions (type 0) are assigned a partition number. Partition numbers, unlike all the rest of the numbers in an ARC pathname, start with 1 instead of 0 for the first partition on the disk.

The second ARC pathname format is scsi(w)disk(x)rdisk(y)partition(z) and can be divided into the following components:

  scsi(w)—This parameter specifies that Windows NT needs to use a device driver (called NTBOOTDD.SYS) to access the system partition. The w parameter is the ordinal number for the disk controller, as specified by the NTBOOTDD.SYS device driver.
  disk(x)—This parameter specifies the disk’s SCSI ID in the x parameter.
  rdisk(y)—This parameter specifies the logical unit number (LUN) of the SCSI disk containing the boot partition in the y parameter. This value is almost always 0.
  partition(z)—This parameter specifies the partition to use followed by a pathname to the system files to load. The z parameter specifies the partition number. All partitions, except extended partitions (type 5) or unused partitions (type 0), are assigned a partition number. Partition numbers, unlike the rest of the numbers in an ARC pathname, start with 1 instead of 0 for the first partition on the disk.

I know this seems a bit confusing, so let’s look at a couple of scenarios. Let’s say you have an EIDE controller with two disk drives with NT installed on two primary partitions. One copy of NT is on the primary partition of the first disk and the second copy is on the primary on the second disk. Each installation of Windows NT resides in the WINNT directory. Your ARC pathnames would appear similar to:

multi(0)disk(0)rdisk(0)partition(1)\WINNT=”Windows NT Workstation _
  Version 4.00"
multi(0)disk(0)rdisk(1)partition(1)\WINNT="Windows NT Workstation _
  Version 4.00"

For a computer with two different model SCSI controllers (an Adaptec 2940 and a 1740, for example) and four disk drives, the situation is a bit different. This configuration would use the multi() syntax for the first SCSI controller, but NTBOOTDD.SYS (which would contain a copy of the Adaptec 1740 device driver AHA174x.sys) would support the second SCSI controller. Consider a situation where the first pair of disk drives are on the first SCSI controller with IDs of 0 and 1, and a second pair of disk drives are on the second controller with IDs of 2 and 3. The first disk has a copy of NT on the first primary partition on the disk and a copy of NT on the second primary partition on the second disk. The third disk has a copy of NT on the first primary partition and a copy of NT on the fourth disk in the second primary partition. All installations are in the WINNT directory. The ARC pathnames would appear similar to:

multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation Version 4.00"
multi(0)disk(1)rdisk(0)partition(2)\WINNT="Windows NT Workstation Version 4.00"
scsi(0)disk(2)rdisk(0)partition(1)\WINNT="Windows NT Workstation Version 4.00"
scsi(0)disk(3)rdisk(0)partition(2)\WINNT="Windows NT Workstation Version 4.00"

If the adapters were identical models (such as two Adaptec 2940s), the ARC pathnames would look similar to:

multi(0)disk(1)rdisk(0)partition(1)\WINNT="Windows NT Workstation Version 4.00"
multi(0)disk(2)rdisk(0)partition(2)\WINNT="Windows NT Workstation Version 4.00"
scsi(1)disk(2)rdisk(0)partition(1)\WINNT="Windows NT Workstation Version 4.00"
scsi(1)disk(3)rdisk(0)partition(2)\WINNT="Windows NT Workstation Version 4.00"

The only noticeable difference is that the last two entries now have a 1 in the scsi() parameter. This occurs because the disk controllers are identical models, and the Windows NT SCSI drivers identify the second controller with an ordinal value of 1. The actual ordinal number is based on the SCSI controllers BIOS and load order. Different SCSI BIOS and drivers might use different ordinal numbers.

Now that you have created your startup disk, you can use it to boot from your slave (shadow) drive in your mirror set. Once you have booted your system, you will be ready to recover from the broken mirror set as described in the next section.


Previous Table of Contents Next