Multi-Booting
Windows 2000, Windows NT 4.0, Windows 98
and RedHat Linux 6.2



If you have arrived here through a search engine, click here!

As mentioned at our Dual-Boot/Multi-Boot home page, while some of the principles surrounding the Dual-Boot and Multi-Boot process are, in some ways, set in stone, other portions are dynamic in that someone is always looking for an easier and better way to do it. We are always looking for new ways to handle this issue to make it easier for users to user more than one operating system on their computer. We welcome your input on any methods that you have tried, but there is a requirement. You must fully document the process you use when presenting your ideas.

For most of the examples we demonstrate here, we are using either the Windows NT or Windows 2000 Boot Loader. Of course, if your dual-booting Windows 95 and Windows ME, or some other similar Windows 9x combination, you won't have access to the Boot Loader and will need another form of boot manager or utility, such as BootMagic, System Commander, Lilo (the Linux loader) or BootPart. Before you jump into the process though, you should understand some of the precautions that should be taken to keep you from ending up with a problem for which the only resolution is to start over.

If you plan your moves carefully, your boot menu might look something like this, or better, when you're done.

  Please select the operating system to start

  Microsoft Windows 2000 Professional
  Windows NT Workstation version 4.00
  Windows NT Workstation version 4.00 [VGA mode]
  Microsoft Windows 98 Second Edition
  RedHat 6.2
  Microsoft Windows 2000 Professional Recovery Console

  Use    and    to move the highlight to your choice.
  Press enter to choose.

Partitioning and File Systems
Before you start your dual-boot or multi-boot project you must know the partitioning requirements as well as the limitations of each of the file systems you plan on using and follow those closely in your planning. Pay particular attention to any partition size limitations specific to the operating system. Of all of the reasons we can think of for dual and multi-boot project failures, misunderstood file systems lead the list of problems experienced. Remember, any single hard drive can only have four (4) regular partitions. Note, that we did not mention Extended Partitions or Logical drives!

Do not enable large disk support using FDISK
If you must use FDISK, it will ask you whether you want to enable large disk support, make sure you answer No! If you answer yes, it will format all partitions that are greater than 512 MB in size as FAT32.

Partitioning Software
If you intend to use partitioning software, such as PowerQuest's PartitionMagic, don't mix it with, or use it in combination, with any other partitioning software to set up your drives. Use one and stick to it! We have found that many problems users have run head-long into with dual and multi-boot installations resulted from mixing partitioning software. This is because different programs use different algorithms for the partition size calculations as well as the formatting and labeling of those partitions. This is true even when using FDISK, which comes in several DOS, Windows, and Linux versions. Some versions of the Linux FDISK are extremely buggy and result in overlapping partitions and cause an unbootable NT partition. You'll become quickly familiar with the all too recognizable blue screen memory dump message, "Boot Sector Not Found".

Be watchful of Windows NT 4.0 and its Disk Manager
If your dual or multi-boot plan includes the Windows NT 4.0 operating system, be careful. The Windows NT setup process and its Disk Manager can have a deadly affect on DOS-based operating systems, as it has the ability to create primary FAT16 partitions of 4 GB through the use of an incredibly wasteful FAT cluster size of 64 KB. Although this extra partition size may seem like a good idea, Windows 9x and DOS can only work with FAT 16 partitions up to 2 GB using 32 KB clusters. Another issue is that of disks larger than 8.4 GB. When Windows NT setup is running, it does so in text (MS-DOS) and isn't capable of recognizing this extra space, which is beyond the 1024 cylinder limit.

If you're planning a multi-boot scenario that is even the least bit complicated, we recommend that you use PowerQuest's PartitionMagic software. FDISK cannot merge, split, move, undelete or resize existing partitions nor can it format partitions with the NTSF and Linux Ext and Swap file systems. PartitionMagic is one of the best utility software investments you'll ever make. If you choose to make the purchase though, make sure the version supports Windows 2000!

Use Separate Partitions for Each Operating System
For those among you who are relatively inexperienced at dual-booting, in spite of what anyone tells you to the contrary, you must provide a separate and distinct place for each operating system to install its system files. There have been many who thought they knew what they were doing (the uninitiated), that have claimed that they have installed Windows 95, Windows 98 or Windows ME in the same partition. What they aren't saying is that their system went into a melt down shortly after doing so. Why? Simple, all Windows 9x versions, and that includes Windows Me, place their operating system files in the /Windows directory. Likewise, we have had some of these same people boast that they installed Windows NT and Windows 2000 in the same partition. Both NT and 2000 use the /Winnt directory.

Can you do this and get away with it for a short period? Yes. Just change the location of the system files during the installation process. Will this scenario crash? Yes it will. Why? As soon as you apply an update or install a program that scans the entire partition looking for file types and versions and begins changing files, the first reboot usually crashes the system. What makes this a particularly bad scenario is there is usually no way to resurrect either operating system.

It Simply Cannot Be Avoided
Each application you plan on using will have to be installed more than once. If you want to use Word or WordPerfect in all your Windows operating systems, you'll have to install it separately, along with all the necessary patches and updates, in each of the various operating systems. If operating systems were in one partition, each version of Word or WordPerfect would be placed in /Program Files, overwriting the previous file versions, including any that may be specific to the operating system itself. If you choose to use the NTFS file system for NT and 2000, and FAT32 for Windows 95, 98 and Me, you can't have all of these in the same partition. Windows NT 4.0 and Windows 2000 (NT 5) pose yet another problem, as each uses a different NTFS version.

Take Notes and Label "All" of Your Partitions
We all forget things now and then, especially if we're unexpectedly interrupted while trying to concentrate on something. If you're really looking for some heartache, try remembering what you put where on three regular partitions and one extended partition with four logical drives. Simply put, if you're planning on the multi-boot of four or more operating systems, good file system and partition planning is a must. Believe it or not, on a fairly complex multi-boot you can have as many as nine or more partitions (drives and logical drives). In addition, drive letters in Microsoft operating systems, and device numbers in Linux, won't be assigned in the order you created the partitions, and won't all be visible to all operating systems. The drive letters and partitions revealed will vary between Microsoft operating systems and Linux.

If you think labeling and taking notes isn't important, wait until you're in the middle of doing your installs, and then try to figure out which one is supposed to go where after the tenth reboot. If you manage to get all your installs done, just try looking at Windows Explorer and try to figure out which data and which operating systems are where. When you are creating partitions and logical drives, you are given the opportunity to label them. Take the time to plan in advanced what you will do and then create labels, such as MS-DOS, Win95, Win98, WinMe, WinNt, Win2K, Linux. Make sure you read the next suggestion.

Always Record your Drive Letter Assignments
If you choose to use Partition Magic, and use version 6.0 or later, you'll find that not only is it compatible with all earlier operating systems, such as MS-DOS, Windows 95/98 and Windows NT 4.0, but also Windows ME, Windows 2000 and Redhat Linux 6.2 as well. When you're finished with your partitioning and labeling with PartitionMagic, you'll have a table that you'll be able to use to record all of the information you need.

Show Me

Besides the info from PartitionMagic, when your finished installing Linux, you should have the information similar to that shown in this table. Due to the way Linux handles drive assignments, make sure you keep an accurate record of the way it assigns numbers to your partitions.

Disk Number Description
hda1 C:\Boot
hda2 G:\Winnt4
hda5 D:\Data
hda6 E:\Win98
hda7 F:\Win2K
hda8 RedHat6
hda9 Linux Swap
hda10 Linux /boot

At some point during the installation routine, setup will want to know from you which partition in which to install its system files. As an example, the default Windows NT install location is C:\Winnt. You will have to change this to a different directory on a different drive. Keep in mind that setup expects you to know this info in advance, and remember, there's no browse feature, and therefore no way to check without exiting the installation setup process.

The importance of all of this record keeping is that after the operating systems are installed, and when you are installing various applications, the installer will prompt you to accept an install location or change it. As an example, Microsoft Office may look to install its files to F:\Program Files\Microsoft Office. That is not the moment to be wondering which operating system did I put in "F".

The Linux setup is far more complicated that other operating systems. You will need to indicate not only which partitions to use for boot, root, and swap files, but also where to mount all the other partitions. When this occurs, the drive labels may not be visible, and your only indication which operating system belongs to which drive is going to be by its size, file system type and your notes. Before we go too much further, let's tackle another important issue you will face, especially with a complex multi-boot scenario.

A Major Issue with Complex Multi-Boot Setups is the 1024 Cylinder Limit
Many people have spent allot of time expounding upon the concept of the1024 cylinder limit with regard to hard drives, but even with all that has been written this concept if far from clear. Let's see if we can add some brief clarity. Operating systems depend upon the BIOS that is located in the PROM chip located on your computers motherboard to load the boot code. The BIOS has a limitation that makes it unable to see the cylinders of a hard disk past 1024, essentially cylinders 0–1023. Where this limitation actually occurs on your hard disk depends on how the BIOS and the partition table translate the hard drive geometry by reporting a larger number of heads than the disk really has in order to obtain a large usable area. If you would like to review more about what a BIOS is, click here. (This will open in a new window). When you use PartitionMagic, it will graphically show you where this boundary is by placing an arrow at the 1024 cylinder limit. We have highlighted this limit marker for you, just click Show Me.

When you use PartitionMagic to create disk partitions, it also provides you with a rectangle area (click Show Me again and see the red arrows we have added) with a label that represents one (or each) partition. In the sample you viewed when clicking Show Me you may have noticed that you were unable to see the labels for the last three partitions, especially the one to the immediate right of the RedHat62 partition. This small, 12MB area contains the Red Hat boot code. Unfortunately, since this boot code is beyond the 1024 cylinder limit, you won't be able to boot Red Hat from the hard drive, but don't fret, you can boot it from a floppy disk.

You can fix this problem though, PartitionMagic to the rescue! Use PartitionMagic to shrink and move the Red Hat system partition to make room for the Red Hat boot partition. Next, move the boot partition into the space created for it below the 8.4GB boundary. The obvious alternative, without PartitionMagic, would be to delete, repartition, and then reinstall Linux, placing the code within the 8.4GB limit.

Okay, let's look at an example of what this limitation really means. If we were to use a hard disk with 16 heads, 1,024 cylinders, and 63 sectors with 512 bytes each per track, or 16 x 1,024 x 63 x 512 bytes, this would amount to 528,482,304 bytes or 528 Megabytes (MB). Now, if the BIOS deliberately indicates the number of heads as 255, (instead of 16) then it can both read and write up to 8.4 Gigabytes (GB). Most computers of recent vintage that have large capacity hard drives, will have this 8.4 GB limitation. (But only for the location of boot code). Any operating systems whose boot code is placed in a partition's boot sector beyond 8.4 GB won't be able to boot, so obviously don't install them there! Now that you have some idea of how a BIOS and cylinder limitations and influence multi-booting, let's take the issue a step further by discussing just how you will boot these various operating systems and where the boot code must be located.

This example "Requires a Small, Bootable FAT16 Primary Partition".
To make this particular example work correctly, you MUST create a small, bootable FAT16 primary partition. If you are anticipating any dual, triple, or quad boot that involves Windows NT or Windows 2000, then this is nonnegotiable. The 16bit File Allocation Table (FAT16) file system used by MS-DOS, is the only file system all your operating systems will be able to boot from. As you are probably aware (and even if you weren't), MS-DOS, the first version of Windows 95, Windows NT, and Linux, cannot be booted from a from FAT32 file partition. Windows 95 OSR2 (OEM version), Windows 98 (including Second Edition) and Windows ME cannot be booted from an NTFS partition. Lastly, none of the Windows versions can be booted from a Linux partition.

All Windows operating systems place part of their boot code in the Master Boot Record (MBR) on the first cylinder (cylinder 0) of the first primary partition on your first hard drive. This portion of the boot code points to the remainder of the boot information, which is stored on the partition containing the actual operating system, in that partition's boot record. As an example, if you install Windows 98 in Drive D, Windows 98 setup will write the MBR with boot code pointing to the D partition's boot sector. This code on D will then handle the remainder of the boot process.

In this respect, Linux is easier to deal with, as you can specify which partition contains its boot code during the setup procedure. After installing Linux, you have to extract its boot code and move it to the partition where Windows can read it. Keep in mind that the boot code must be below the 1024 cylinder limit, as discussed above.

Now you know why you have to have that small FAT16 partition. The FAT16 file system is the only one that all operating systems can read and write to. So, your first real task, after planning what is to be installed, to create a small primary partition that has been formatted for the FAT16 file system. This partition will be bootable, and when it is finished it will contain all the boot code for all the operating systems you'll be booting from using the Windows 2000 boot loader. Make a mental note that the MBR (Master Boot Record) is limited to 512 bytes, therefore you won't need allot of room for this first FAT16 partition. You may want to install MS-DOS on that partition to give yourself a safety net in case something goes wrong and you need to work across partitions. If you do, add 10 to 50 MB for the necessary files and some extra room.

Have you ever heard of the term? "Size Means Everything"
We don't know about other situations, but when multi-booting, or even dual-booting, size your partitions correctly! We've shown you some of the situations you may be confronted with as well as some of the boundaries and limitations you'll face during your quest to multi-boot various operating systems. It is extremely important that you take into consideration how large you will need to make your partitions. Formatting your partitions in advance of the installation processes, rather than relying on the operating system setup programs to do so, will save you allot of time and trouble. The maximum partition size for a FAT16 partition is 2GB, however that will create an extremely wasteful 32KB allocation unit. If you plan on using FAT16 partitions, keep them below 1,023 MB, thereby allowing for a more reasonable allocation unit of 16KB. FAT16 partitions are good for shared data storage since all operating systems can read them. Remember, you can create more than one data partition in the FAT16 file format.

With respect to your other file systems, always use a reasonable partition size that will fit the operating system in addition to any applications you will be adding. Pencil and paper calculations can help you avoid allot of headaches later! Keep in mind that Windows NT has a maximum bootable partition limit of 7.8 GB, and when you use its Setup program to format a system partition, it limits the size to 4GB. Some MS-DOS (IO.SYS) and NT (Ntloader.exe) system files must reside within the first 2GB of your hard drives partition. By creating a small FAT16 boot partition will help you avoid problems with both the MS-DOS and NT system file limitations.

There Is An Order To Things!
Although it doesn't seem like it most of the time, there is an order to the things that happen in our lives, and this applies to the installation of operating systems in Multi-Boot scenarios as well. Install your operating systems in the right order!

Although we cover this in greater depth in other examples of dual and multi-booting, what you need to be aware of is how different operating systems work together. As an example, Windows NT is quite a bit more intuitive about handling boot sectors than either Windows 95 or Windows 98. If you were to install Windows NT after Windows 95 or Windows 98, NT will extract the Windows 95/98 boot code from the MBR before installing its own. It will then use the code it has extracted to enable you to dual-boot Windows NT and Windows 98. On the other hand, if you were to install Windows NT first, Windows 98 will overwrite the Windows NT boot code in the MBR. As a result, you wouldn't be able to boot Windows NT. This is why you must carefully consider the order in which you install the operating systems you want to multi-boot. In this particular example, you need to end up with an intact Windows 2000 boot loader along with copies of the boot code from all the other operating systems on the FAT16 (C:\) partition.

The Order of Installation that we used This presumes that you have already created and formatted your partitions:

  1. Install MS-DOS to the primary boot partition C:\
  2. Install Windows 98 Second Edition
  3. Install Windows NT 4.0 and setup the NT Boot Loader to dual-boot Windows 98 and Windows NT
  4. Install RedHat Linux 6.2 and extract its boot code and move it to C:\
  5. Install Windows 2000, and then add RedHat to the Windows 2000 Boot Loader
  6. Now install the Windows 2000 Recovery Console

As you have no doubt have gathered by now, the most important step in creating a successful multi-boot scenario is to carefully plan your partition and file system layout.

Notice: Windows® 95, Windows® 98, Windows® NT, Windows® 2000 and
Microsoft® Office are registered trademarks or trademarks of the Microsoft Corporation.

Copyright ©1995-2001 DEW Associates Corporation. All rights reserved.