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. Aside: 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 documentation. So... 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:
installboot -m /dev/c0d2p0 /usr/mdec/jumpboot 200
dd if=/dev/c0d2p0 of=bootsect.mnx count=1
mtools copy bootsect.mnx /dev/fd0:
[HOME] | [HINTS/FAQ] | [MINIX DOWNLOADS] | [CONTRIB SOFTWARE] |
[NET SOFTWARE] | [MINIX-VMD] | [TEXTBOOK] | [LINKS] |