Multiple Operating Systems and XP

Before you start

Objectives: learn what is boot.ini and what sould we consider before installing multiple operating systems on a single computer.

Prerequisites: no prerequisites.

Key terms: partition, system, controller, parameter, fat, boot, number, drive, ini, scsi, multi


The boot.ini file is actually a pointer. It contains information about the location of our system files. The pointer file contains data about which controller, which hard drive attached to that controller, and which partition on that hard drive contains system files. This is an example of boot.ini file located on a Windows XP machine:

[boot loader]
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP Professional" /fastdetect

The controller can be identified with two parameters. The first parameter is called ‘multi‘, and the second is called ‘scsi‘. This looks pretty simple, but it’s not really. The ‘multi’ parameter tells us that the controller has the ability of telling the system what devices are attached to the controller. After the ‘multi’ parameter there is a number in parentheses. This number represents the ID of the controller. When a SCSI controller is identified we can also see a number in parentheses. The ‘scsi’ parameter tells us that the controller can’t tell the system what devices are attached to the controller. The boot process uses this piece of information to determine if it needs to run an additional utility. The additional utility for the SCSI is called the ‘ntbootdd.sys‘. Remember, if we see a ‘multi’ parameter, the controller can still be a SCSI controller, but it is an enhanced SCSI controller.

The next piece of boot.ini file will depend on whether we’ve got ‘multi’ or ‘scsi’ detected. If we have the ‘multi’ controller, the next parameter that we will see is the ‘disk‘ parameter. It is also followed by a number. This parameter is followed by an ‘rdisk‘ parameter, which is also followed by a number. The ‘disk’ parameter is associated with the SCSI devices. The ‘rdisk’ is associated with ‘multi’ devices. If a controller is a SCSI, the ‘disk’ parameter will be used (the number will be read). Numbers in parentheses start from zero. ‘0’ means the first device, and ‘1’ means the second device.

The next thing that needs to be identified is the partition. To identify the partition we have a parameter called ‘partition‘, and it is also followed by a number in parentheses. The thing to remember here is that the numbers of partitions start from 1. So, if we see number one after the ‘partition’ parameter, it means that it is the first partition. This whole path is called the ARC (Advanced Risc Computing) Path. After the ARC Path comes the name of the directory where the system files are located. In Windows XP the filentoskrnl.exe will actually load up the Windows XP operating system.

Multiple Boot

If we are using multiple operating systems on single computer, we need to know how to divide our Hard Drive. Let’s say that we want to have Windows 98 and Windows XP on the same machine, but we have only one Hard Drive. In this scenario we have to create a minimum of two partitions, one for every operating system. However, the better solution is to create three partition, one of which is going to be shared partition.

We can set the size of the partition as we like, but we have to be careful about which File System to use on Windows 98 partition. Remember, with Windows 98 we can use FAT or FAT32 as our File System. If we want to have more space than 2 GB on our Windows 98 partition, FAT is not an option. Remember, FAT can support up to 2 GB of partition size, so we will have to use FAT32. We should always use FAT32 instead of FAT if possible. On our Windows XP partition we can use FAT, FAT32, or NTFS file system. With Windows XP we should use NTFS because of all the advantages that it brings. On a shared partition we will have to use the FAT32 file system, because we will be accessing it from Windows XP and Windows 98. Remember, Windows 98 does not recognize NTFS.

Now, we also have to think about the drive letters that we are going to use for our partitions. Let’s say that our Windows 98 partition is the first partition. Because of that we will use the C drive letter for the Windows 98 partition. Let’s say that the Windows XP partition is the second partition, so we will assign the D letter to that partition, and E drive letter for our shared partition.
Remember, only Windows 2000/XP supports Dynamic disks and Volumes. We have to use Basic disks and partitions for operating systems older than Windows 2000/XP. When installing Windows 2000/XP together with some older operating system on the same computer, we should install the older operating system first, and then install Windows 2000/XP last. Microsoft recommends the following installation order:

  1. MS-DOS
  2. Windows 95/98/Me
  3. Windows NT
  4. Windows 2000/XP
  5. Newer OS


The boot.ini file contains information about the location of our system files. Boot.ini in XP uses ARC path to determine the Controller, Disk and Partition on which the particular system is located. The ntoskrnl.exe will actually load up the operating system. Every operating system has to have it’s own partition. Windows 98 does not recognize NTFS, so we can’t use Dynamic disks with it. XP can use FAT, FAT32 and NTFS. Older operating system should be installed first and then the newer operating system.