Using the Minix Boot Monitor to Start Other Operating Systems

modified: 15 Mar 2004

The Minix Boot Monitor can start most, if not all, other operating systems that you may have on your system. The Boot Monitor is what presents the familiar startup menu when you first install Minix:

    Hit a key as follows:

        =  Start Minix
This menu can be changed to configure and start Minix in alternative ways as well as to start alternate operating systems. The only limitation is that there is a limited amount of space for storing all configuration information, just 512 bytes -- but that's normally plenty.

The boot parameters are not stored in a configuration file, they are stored in the Minix bootblock. You can change the settings used by the Minix Boot Monitor in three ways:

Booting is controlled by menu functions. A menu function looks like:
    name(key,text) { ... }  
If no menu functions are explicitly defined the boot monitor assumes there is one function already defined that looks like this:
    minix(=,Start Minix) {boot}
The part within the "{" ... "}" braces can be a series of commands, one or more of which can call user-defined functions. Here is an example of a more complicated set of boot parameters that offers a choice between two versions of Minix and a non-Minix OS:
    m(=,Start Minix) {net_off;boot}
    n(n,Start Networked Minix) {net_on;boot}
    w(w,Start Windows) {boot c0d0p0}
    net_off() {unset servers;unset DPETH0;image=/minix/2.0.4}
    net_on() {servers=inet;DPETH0=300:3;image=/minix/2.0.4net}
The first three lines define what will appear on the boot menu and what will happen when each key character is selected. The first two lines start alternative Minix systems, a standard Minix and a Minix with network support compiled in. The third line starts Windows, which is typically installed on the first partition on the first hard disk. The last two lines implement the user-defined functions net_off and net_on, to set up for starting Minix with or without network access.

Here is what the boot menu for this configuration looks like:

    Hit a key as follows:

        =  Start Minix
        n  Start Networked Minix
        w  Start Windows
The most confusing thing about configuring the Minix Boot Monitor to start other operating systems is identifying the partition the other OS boots from and translating this to the Minix partition nomenclature. The correct partition for booting Windows is usually easy to identify. Since most computers come with Windows pre-installed it is most frequently booted from the first partition on the first hard disk. In Minix 2.0.3 and later versions this is /dev/c0d0p0 (controller 0, disk 0, partition 0), as in the example above. For Minix 2.0.2 and earlier releases the nomenclature is different; the first partition on the first hard disk is /dev/hd1. Minix disk nomenclature is explained on the controller(4) man page for Minix 2.0.3 and later or the hd(4) man page for Minix 2.0.2 and earlier.

Linux disk nomenclature identifies the first hard disk as /dev/hda and primary partitions on the this disk as hda1, etc., up to hda4. Partition numbers beyond 4 are logical partitions. A Linux system that starts from the second partition of the first drive will identify its boot partition as /dev/hda2; a Minix boot menu function to boot it could look like

    lx(l,Start Linux) {boot c0d0p1}
Sometimes the partition identifiers in one operating system don't seem to match those seen in another OS. In case of confusion, or as a check if things don't seem to be working right, one thing you can do is to use the Minix part command and cycle through all of the disk devices to identify the operating system associated with each partition. On a system with several disks the Minix /dev directory may not have an entry for every device and you may have to create some device files with MAKEDEV first.

It is not the purpose of this article to present a complete tutorial on using the Minix Boot Monitor. The examples above are just meant to be a start. See also the help function within the boot monitor and the boot(8) man page.

A final word on booting multiple operating systems: The Minix Boot Monitor starts automatically only if the partition and/or subpartition upon which it is installed is the default (active) boot partition. If another operating system gets control first it can usually be configured to offer a choice of operating systems, including using its own mechanism to pass control to the Minix Boot Monitor (see other links on the Booting Multiple Operating Systems with Minix page). In this case it is still often convenient to be able to change your mind and to boot another OS from the Minix menu.

On a Windows system, an attempt to install a second OS and make it the default boot system sometimes doesn't work or stops working after a while. As I have noted on another page, it sometimes seems that anything that alters the Microsoft boot areas probably will eventually be "fixed" when Windows discovers the change. So, my advice is to think of living with Windows as living with an 800-lb gorilla, and let it do things the Windows way.


All material on this site not otherwise attributed is copyright ©1994-2004 Albert S. Woodhull
Click here for information on copying and other use.
Mail comments on this page to: Al Woodhull <awoodhull@hampshire.edu>
Viewable With Any Browser    [Valid HTML 4.0!]