– Rabbi Bob –
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.
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
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.
Open boot.ini again in the text editor and you should now see:[boot loader] timeout=10
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.