Toggling The Default OS (98/2000)

– Rabbi Bob –

Download this article as a self-extracting text file
View this article in printer-friendly plain-text format
E-mail this article to a friend


This article is for users who are dual-booting their machine with Windows 2000 and Windows 98. For information on how to set up your machine for dual-booting, please read the dual-boot how-to.

As a lot of people move into dual operating systems, we all have to decide which will be our default OS of choice. Whenever we want to switch to another OS, we have to reboot and select another system to use at the boot menu. This usually requires being right at the keyboard during the boot up routine and selecting the OS before the timer runs out.

It is a good bet that we’ve all had been there while rebooting and experienced something that has caused us to miss the boot prompt, sending us back to the default OS. Perhaps you were talking with someone, or perhaps distracted by something out the window or even mislead by the belief that you still have the physical ability to make it to the coffee pot and back to the computer to beat the default timer. You turn back just in time to see the menu slipping away and you have to reboot to choose all over again. Furthermore, if you’re a gamer like I am who keeps Win98 just for gaming, we all want to slip away to the fridge for some drink before sitting down to hours of gaming. Why not automate how to set the default OS from the desktop and not hassle with the fuss?

In this article we’ll set up a couple of batch files to take the load off of your rebooting woes. Why batch files? Sure, we could write some toggle.c program, compile it and distribute to all of our friends. Or even write some script to handle it quietly behind the scenes. Batch files are simple and anyone who can open a text editor can put one together with minimal know-how. Besides, it’s early in the morning and I want to keep it simple.

Boot.ini files – Win2K

We’ll need to boot into Windows 2000 first. Since the most vital information is gathered from its own boot management system, it’s the choice place to start.

  1. Boot into Windows 2000 
  2. Open the drive that contains the boot.ini fileIn most cases, this is the C: drive. If you cannot see the file, you may need to adjust your folder properties to allow you to see hidden system files. From the folder Tools menu, select Folder Options. Select the View tab and select Show hidden files and folders. I find that deselecting Hide files extensions for known file types is useful in everyday situations, so you may choose to do this also if you’d like. Hit Apply and then Ok.


  3. Create a backup of the boot.ini fileBacking up files is always key when exploring or altering new things. For reference, we’ll call the backup file boot.bak.
  4. Open the System Properties dialog by opening My Computer / Control Panel / System / AdvancedLeave it open for a bit, as we’ll be using it a couple of times.


  5. Copying the Windows 2000 boot informationFrom the Advanced tab, select Startup and Recovery. What we want to do now is to get the information that Windows uses during bootup to start each OS properly. We’ll find how to get this from the Startup and Recovery section. In the System startup section, select Windows 2000 as the Default operating system. You can change the Display list of operating systems for XX seconds now or later to fit your needs. Mine is set at 10 seconds.

    What we have just done is to set the boot parameters that will be written to the boot.ini file. Hit Ok and now we’re ready to go take a look at what has been done.

    To see the parameters, open boot.ini in a text editor (Notepad will suffice). You should see something like this:

    [boot loader] timeout=10
    [operating systems] multi(0)disk(0)rdisk(0)partition(2)\WINNT=”Microsoft Windows 2000 Professional” /fastdetect
    C:\=”Microsoft Windows”

    So, here we see that that computer will default to WINNT when booting. You can always change the timeout default by setting timeout=XX to XX seconds if you want to change the default in the future. Now, let’s create the file that will hold the Win2K boot info.

    Save the file as a new file (File / Save as..) called BOOT2000.ini in the same directory as the boot.ini file and then close the BOOT2000.ini file.

    If you’re curious and would like some insight on the syntax used in the boot.ini file, please read the following. If not, please skip to step 6. Special thanks to Grogan for the contribution.

    ARC Naming Convention

    multi(0)disk(0)rdisk(0)partition(2)\WINNT=”Microsoft Windows 2000 Professional” /fastdetect

    The first parameter will be multi for IDE or for a disk on a SCSI controller that has a BIOS. For a disk on a non-bootable SCSI card that doesn’t have a BIOS, the scsi syntax will be used instead, in which case it reads the ntbootdd.sys file from the root of C: which is merely the SCSI miniport driver renamed. The reason for this is that the devices on the SCSI controller without a BIOS cannot be initialized without a driver. The number in brackets? Microsoft calls that “the ordinal” and that confuses the living snot out of people. For this one, it’s the number of the hardware adapter (e.g. SCSI controller for bootable SCSI, or IDE Controller). The first adapter to load and initialize is 0, the second would be 1.

    The second parameter disk is the SCSI bus number (SCSI ID). If you’re using multi, it’s always a value of (0).

    The third parameter rdisk is the “ordinal” of the disk, or in English, the number of the disk. This is normal, the first hard disk is 0 and a second hard disk would be 1 (i.e. ide0 and ide1). If this is a SCSI disk, this parameter is ignored, i.e. it will be zero.

    partition is obvious, but it starts at 1. There’s no such thing as partition 0, the first partition on a hard disk is partition(1).

    Thus, in our example, the WINNT directory is on the first IDE controller, on the first disk, on the second partition.


  6. Copying the Windows 98 boot informationGo back to the Advanced tab, select Startup and Recovery again. In the system startup section, select Windows 98 as the Default operating system. Hit Ok.

    Open boot.ini again in the text editor and you should now see:

    [boot loader] timeout=10
    [operating systems] C:\=”Microsoft Windows”
    multi(0)disk(0)rdisk(0)partition(2)\WINNT=”Microsoft Windows 2000 Professional” /fastdetect

    Save the file as a new file (File / Save as) called BOOT98.ini in the same directory as the boot.ini file and then close the BOOT98.ini file.

    Take a moment to see what is in the boot98.ini and boot2000.ini files, comparing the changes.


Leave a Comment: