BOOT.INI and ARC Path Naming Conventions and UsageLast reviewed: July 23, 1997Article ID: Q102873 |
The information in this article applies to:
SUMMARYThis article explains the conventions in the Advanced RISC Computing (ARC) specifications that are used to define the path to a Windows NT installation on Intel x86-processor-based computers and RISC-based computers. This article consists of the following sections:
x86-Based and RISC-Based ARC Paths ComparisonThe path to each Windows NT installation is described in a single line in the BOOT.INI file for x86-based computers, however, on RISC-based computers a set of four lines is used in the computer firmware BOOT- options to point to a single Windows NT installation. If there are multiple installations of Windows NT on your x86-based computer, the BOOT.INI has one ARC path for each installation in it. You are prompted with a boot menu during the boot process to choose the installation you want to boot. There are two basic forms in which an ARC path can appear, one form starting with MULTI() and the other form starting with SCSI(). Both forms are used on x86-based computers, however, only the SCSI() form is used on RISC computers:
x86-Based ComputersThe 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 in that directory. For additional information, see the Differences Between The MULTI(X) And SCSI(X) Syntax And Application section below.
RISC-Based ComputersBecause the RISC-based architecture requires that the firmware points to different areas of the system, the ARC path to a single Windows NT installation consists of a group of four definitions with ARC paths (versus only a one-line ARC-path definition on x86-based computers). Each ARC path that follows one of the four definitions starts with SCSI() after the 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) SyntaxThe 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 as well. The MULTI() syntax indicates to Windows NT that it should rely on the computers BIOS to load system files. This means that the operating system will be using interrupt (INT) 13 BIOS calls to find and load NTOSKRNL.EXE and any other files needed to boot Windows NT. The X, Y, Z, and W parameters have the following meaning:
In a pure IDE system, the MULTI() syntax will work for up to the four drives maximum on the primary and secondary channels of a dual-channel controller. In a pure SCSI system, the MULTI() syntax will work for the first two drives on the first SCSI controller (that is, the controller whose BIOS loads first). In a mixed SCSI and IDE system, the MULTI() syntax will work only for the IDE drives on the first controller.
SCSI(X) SyntaxThe SCSI() syntax is used on both RISC and x86-based computers and is used in all versions of Windows NT. Using SCSI() notation indicates that Windows NT will load a boot device driver and use that driver to access the system partition. On an x86-based computer, the device driver used is NTBOOTDD.SYS, which can be found in the root of the system drive (generally of drive C) and is a copy of the device driver for the drive controller in use. On a RISC computer, the driver is built into the firmware as required by the RISC standards, so no file is required. The X, Y, Z, and W parameters have the following meaning when using the SCSI() syntax:
Additionally, if you have multiple controllers that use different device drivers, you should only count those controlled by NTBOOTDD.SYS when determining the value of the X parameter. For instance, if you have an Adaptec 2940 (which uses the driver AIC78XX.SYS) and an Adaptec 1542 (which uses AHA154X.SYS) X will always be 0. What will change is the NTBOOTDD.SYS file:
Example of x86-Based and RISC-Based ARC PathsThe following are examples of valid ARC paths. The first two examples are ARC paths on x86-based computers. Example three is taken from a single boot entry on a DEC Alpha AXP 150 RISC-based computer, but should be correct for all RISC-based computers with similar drive configurations. NOTE: If you have multiple ARC paths in the BOOT.INI file and a combination of different SCSI adapters in your computer as shown in example 1 and 2 below, you must copy the appropriate SCSI driver to the NTBOOTDD.SYS file name in the root directory of the system partition (generally drive C), before you shut down to boot from a Windows NT installation that resides on a drive connected to the other SCSI controller. This is because regardless on which drive the other Windows NT installation resides, NTBOOTDD.SYS always resides on the system partition.
Example 1: Multiple SCSI controllersThis is an example of an x86-based computer with the following drives and controllers installed:
Windows NT Installed On Corresponding ARC PathPartition1(on 1st Adaptec 2940) multi(0)disk(0)rdisk(0)partition(1)\WINNT35 Partition2(on 1st Adaptec 2940) multi(0)disk(0)rdisk(1)partition(1)\WINNT35 Partition3(on 2nd Adaptec 2940) scsi(1)disk(0)rdisk(0)partition(1)\WINNT35 Partition4(on 2nd Adaptec 2940) scsi(1)disk(1)rdisk(0)partition(1)\WINNT35 Partition5(on Adaptec 1542) scsi(0)disk(0)rdisk(0)partition(1)\WINNT35 Partition6(on Adaptec 1542) scsi(0)disk(4)rdisk(0)partition(1)\WINNT35NOTES: For partition 3 and 4, NTBOOTDD.SYS is a copy of AIC78XX.SYS, for partition 5 and 6 NTBOOTDD.SYS is a copy of AHA154X.SYS. As an alternative to the ARC paths of partition 1 and 2, you can substitute the following paths provided that you have an NTBOOTDD.SYS file that is a copy of the AIC78XX.SYS driver:
Windows NT Installed On Corresponding ARC PathPartition1(on 1st Adaptec 2940) scsi(0)disk(0)rdisk(0)partition(1)\WINNT35 Partition2(on 1st Adaptec 2940) scsi(0)disk(1)rdisk(0)partition(1)\WINNT35 However, Windows NT Setup always uses MULTI() syntax for these first two drives.
Example 2: Mixed IDE and SCSI EnvironmentThis is an example of an x86-based computer with the following drives and controllers installed:
Windows NT Installed On Corresponding ARC PathPartition1 (pri. EIDE channel) Multi(0)disk(0)rdisk(0)partition(1)\WINNT35 Partition2 (pri. EIDE channel) multi(0)disk(0)rdisk(1)partition(1)\WINNT35 Partition3 (sec. EIDE channel) multi(0)disk(0)rdisk(2)partition(1)\WINNT35 Partition4 (on Adaptec 2940) scsi(0)disk(3)rdisk(0)partition(1)\WINNT35 Partition5 (on Adaptec 2940) scsi(0)disk(3)rdisk(0)partition(2)\WINNT35 Partition6 (on Adaptec 2940) scsi(0)disk(3)rdisk(0)partition(3)\WINNT35 Partition7 (on Adaptec 2940) scsi(0)disk(3)rdisk(0)partition(4)\WINNT35NOTES: Loading Windows NT from partitions 4 through 7 requires an NTBOOTDD.SYS file which is a copy of AIC78XX.SYS.
Example 3: Boot variables on a DEC Alpha AXP 150On a RISC computer, all boot paths are defined through the firmware. When creating a new boot entry for a RISC computer the firmware steps you through a series of prompts which aids you in defining the paths correctly; so unless you are editing a boot entry that is not working any more, you should never have to directly edit the ARC paths on a RISC computer. The following example is a boot entry on a DEC Alpha AXP 150, with a single hard drive at ID 0 that is partitioned as follows:
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 |
Additional query words: 3.10 3.50 3.51 4.00
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |