Java Glossary : boot manager

CMP home Java glossary home Menu no menu Last updated 2004-06-28 by Roedy Green ©1996-2004 Canadian Mind Products

Java definitions: 0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

You are here : home : Java Glossary : B words : boot manager.

boot manager
You might have several different operating systems in different partitions on your computer, e.g. DOS, Windows 95/98/ME/NT/2000/XP, Linux, Solaris, JavaOS, Beos ... How does the BIOS know which one you want to use? It looks for a partition marked active . A boot manager lets you choose which OS you want. Typically, the boot manager lives in a tiny partition marked active. The BIOS always boots it, then the boot manager chooses which actual partition you want to boot from. Typically you choose from a menu. If you are not quick enough, it selects a default and goes with that.

Booting is a two stage process. First CMOS boots from the active partition of the device seleced in CMOS. From there, the is the software in that partition's job to select which partition you really wanted to boot from. Win2K itself acts as a primitive boot manager, at least to other copies of Win2K.

A decent boot manager should have the following features:

  1. Be controlled also from the command line of your various operating systems so that you can select an OS to reboot to. You use this to run your end of day scripts unattended on a variety of operating systems. A batch script can reboot the machine to a different OS and start up another script that runs then reboots back, all unattended. Boot-It has a command line BootNow reboot utility where you select the next OS.
  2. Backup and restore the partition tables to a self-booting floppy.
  3. It should also let you boot directly to DOS on a Windows FAT partition, Windows, Windows safe mode or NT bypassing the infernally inept Windows boot manager. Boot-It allows this indirectly with the ability to replay some keystrokes.
  4. It should let you hide some of the partitions from arrogant operating systems so they won't mess with them.
  5. I don't know if this is technically feasible but it would be nice if you could hide drives or reorder so that when an OS booted it would naturally assign drive letters the way you wanted it to. This should mesh with any such abilities the OSes themselves have.
I originally wanted the boot manager to provide a way for differing OSes to communicate, e.g. pass the name of a script to start executing on reboot. The TeraByte/Boot-It people pointed out that was unnecessary. You could use a small FAT partition for that purpose since now nearly every OS supports FAT in addition to its native formats. You would just put the name of the script you wanted to execute next, or any other intercommunication data there.

Boot Managers
Products Notes
CMOS A simple, but foolproof boot manager works by using CMOS to select which drive to boot from. Make sure the primary partition you want to boot is marked active, and starts in the first 1024 cyls. You can use CMOSSAVE/CMOSREST to semi-automate the process of changing CMOS settings.
boot.ini Free, (its only saving grace), comes bundled with Microsoft Operating Systems. The ultimate in user-unfriendliness. The documentation scattered over the web is mostly incorrect and contradictory. You configure it by editing the C:\BOOT.INI file. It uses an arcane system of naming the partitions: e.g. multi(0)disk(0)rdisk(1)partition(1) or scsi(0)disk(0)rdisk(0)partition(1). The rules are very complex but usually this will work: multi(0)disk(0)rdisk(0=first, 1=second)partition(1..4).

Before you edit boot.ini, make a bootable diskette with your old copy of boot.ini on it and make sure it lets you get at your various partitions. Boot.ini is intended to work only with Microsoft operating systems, though you can fool it if you are a masochistic techie. Some entries in C:\BOOT.INI e.g. point to files on the current C: partition containing absolute, preconfigured bootstrap code, e.g. to boot in recovery mode (C:\CMDCONS\BOOTSECT.DAT="Recovery Console" /cmdcons), to boot to DOS (C:\BOOT.DOS="PCDOS 6.3"), Linux or triple boot OS shared partition. The partition location information is burned into this code. Other entries, e.g. multi(0)disk(0)rdisk(0)partition(1)\WINNT="W2K" /fastdetect point to the WINNT directories on other partitions where the W2K/NT system code lives. It expects to find NTLDR in the root of such partitions.

When experimenting, it never hurts to put in extra dummy boot.ini entries that point to other plausible combinations of drive and partition. If you guessed wrong for your official setup, you still have a way of recovering. Label every boot entry uniquely so you can tell which boot.ini was being used. It gets very confusing when drives may be reordered, and there are multiple boot.ini files.

The BootPart utility will help you edit C:\BOOT.INI and extract the necessary absolute bootstrap files from the boot sectors. I was unsuccessful extracting bootsectors with DOS Norton Utilities DiskEdit. The whole business is complicated by the different OS's see different partitions, and that boot sector code is invalidated if you change cmos disk settings.

Booting to a DOS partition is especially tricky. You need to create a BOOTSECT.DOS file on your W2K partition, and the DOS partition must be on the same drive! See gory details.

Note that you cannot include ;-style comments in C:\BOOT.INI the way you can in other INI files.

PowerQuest Boot Magic bundled with PartitionMagic. Simple rebooter that lets you select a physical primary partition to reboot too.
System Commander commercial
Boot-It commercial, best features.
OS/2 boot manager bundled with PartitionMagic. Requires its only tiny primary partition. Simple, but gets in trouble if you add a drive that moves the primary boot drive elsewhere.
XOSL (Extended Operating System Loader) free. Works only with DOS and Win9x. Suffers from extreme featuritis. I want to strangle the authors of XOSL. They fool around with frills like fancy GUIs, mouse interfaces and configurable fonts and ignore the bread and butter purposes of a boot manager.
Ranish Minimalist for techies only. The documentation is impenetrable. You have to have written your own boot manager to make any sense of it.
OSL20000 Does not require a partition for itself. Supports DOS, Win95/98/ME/NT/2K/XP, Linux. Does not appear to allow programmatic control of which OS to reboot to next. It is all menu driven. Shareware

For a WinNT drive to be bootable it needs the following files: boot.ini, cmldr, IO.SYS, MSDOS.SYS, NTBOOTDD.SYS, NTDETECT.COM, ntldr and pagefile.sys. Don't ever copy a pagefile.sys between partitions. Win2K will reject it, and will refuse to delete it to create one to its liking. All you can do is boot from another partition and delete it.

When setting up a new drive, it is best to disconnect any existing drives during the process. This will force it to make that drive bootable, and will allow you to use any drive letters you want. In a pinch you can create a boot disk with CD ROM drivers on it to get started.

Win2K refuses to create all these files for you automatically if the CMOS boot drive differs from the system drive.

Computers are at their most vulnerable as they boot. There are odd legacy restrictions on boot partitions. Keep them small (under 4 gig) and on the first 1024 cyls of the first hard drive. A boot manager helps get around those restrictions. Win2K is immune from most of these magic restrictions, but it adds the pitfall of dynamic drives which cannot be used by any other OS.


CMP logo
CMP_home
home
Canadian Mind Products CSS
HTML Checked!
ICRA ratings logo
mindprod.com IP:[24.87.56.253]
Your IP:[80.134.30.163]
You are visitor number 4057.
Please send errors, omissions and suggestions
to improve this page to Roedy Green.
You can get a fresh copy of this page from: or possibly from your local J: drive mirror:
http://mindprod.com/jgloss/bootmanager.html J:\mindprod\jgloss\bootmanager.html