Booting Minix 2.0 on a PC with WinNT or Win2K Installed

modified: 3 Aug 2004

In 1999 Ian Cowell <icowell@ics.mq.edu.au>, wrote a document titled Running Minix 2.0 on a PC with NT Installed on It. The original version can be found at http://www.comp.mq.edu.au/units/comp342/os/NT.html.

Here is Ian's original document, updated to use the Minix 2.03+ disk naming conventions (what was /dev/hd3a in earlier versions of Minix is now /dev/c0d0p2s0). Following that are some notes about using this technique with newer versions of Minix and with Windows 2000:

This describes how to add an option to boot Minix from the NT4.0 loader.
The description is based on the Minix Example file on the Minix cdrom.

        Minix does not have cdrom drivers loaded in the distribution kernel. 
        The main reason seems to be the requirement to simplify the install 
        procedure and to minimise the size of the kernel. The cdrom driver 
        is for the SoundBlaster.

        This means that if you want to load Minix onto your hard disk, you 
        have to make the set of floppy disks as described in the Minix 


In the example script, the command:
        make hdboot
causes the boot sector image to be written to the /dev/hd3a boot sector.
This boot sector has been set to boot from /dev/hd3a as the root device.
Also, if you have used the Minix part system to modify your partitions, then
you should note the comment in "9. Active On Boot" about marking the partition 
as active. If you do this, then you will not be able to boot NT until you 
make the c: partition active again. You can do this using the MSDOS fdisk 
utility. But be warned, you can lose all of the data on the disk by making 
the wrong move with the part or fdisk utilities.

To get the NT4.0 loader to boot Minix from /dev/c0d0p2s0 we have to make a 
copy of this boot sector in a file that is accessible by the ntldr.

We can use the Minix/Unix utility dd to create the file. You have to be 
logged in as root to read the /dev/c0d0p2s0 device.
We then have to use the Minix utility doswrite (or mtools) to write the file 
to a floppy disk.
The file can then be copied onto the NT drive containing ntldr.
The boot configuration file is modified to include the new operating system.

So, after the make hdboot, login as root. 
login: root
# dd if=/dev/c0d0p2s0 of=bootsect.mnx count=1
        | dd lists two lines showing the number of blocks read & written |
        | use:                                                           |
        | man dd                                                         |
        | to have a look at the details of the dd utility                |
        | Use the q key to quit the man utility                          |
        | put a dos formated floppy disk in fd0 (drive a:)               |
# doswrite fd0 bootsect.mnx < bootsect.mnx
        | man doswrite                                                   |
        | to have a look at the details of the doswrite utility          |
        | dosdir fd0 will list the files on the disk                     |
        |                                                                |
        | with Minix 2.0.3+ you can use mtools                           |
        | to copy a file to floppy:  "mtools copy bootsect.mnx /dev/fd0:"|
        | to see floppy directory:   "mtools dir /dev/fd0:"              |
        | for more info on mtools (no man page yet): "mtools help"       |
# dosdir
        | remove the floppy from the fd0 drive                           |
# shutdown -h
System halted
d0p2s0> exit
        | The system will start booting.                                 |
        | Boot the system into NT                                        |
        | Open Windows Explorer                                          |
        | Open the drive where ntldr and boot are located. I have assumed|
        |   that this is c:                                              |
        | Put the "fd0" floppy into the floppy drive a:                  |
        | Copy the bootsect.mnx file to the c:\ directory                |
        | Right click on the boot file and select the properties entry.  |
        | Remove the Read Only state and click on apply.                 |
        | Open the boot file (boot.ini) with Notepad or Wordpad.         |
        | Add the following line at the end:                             |
        | c:\bootsect.mnx="Minix"                                        |
        | Write the file back to disk and close Notepad/Wordpad.         |
        | Use the properties dialog to set the ReadOnly state on the     |
        |   boot file.                                                   |
        | Shutdown NT and reboot.                                        |
        | Use the new entry displayed by ntldr to boot Minix.            |
Ian Cowell, MU, Department of Computing, 23 Feb 99

Additional notes (asw 2003-03-27) :

Dual booting with W2K and multiple hard disks (notes added by asw 2004-08-02) :

Ian's procedure (above) works to boot a Minix system from a partition on the same hard disk as the Windows NT/2K partition. But it will not work if the Minix installation is on a different hard disk. However, Minix provides an alternative to the masterboot initial program loader called jumpboot which can be installed with a hard-coded reference to a partition on any disk (see the installboot(8) man page). Here is a procedure to add Minix on the third hard disk (/dev/c0d2) to the Windows 2000 boot menu:


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 XHTML 1.0!]