This document describes a simple three step procedure for using Loadlin to dual boot between Linux and Windows 95/98/ME. If you prefer to use the LILO boot manager, please consult the Linux+Win95 Mini-HOWTO.
This version of this mini-HOWTO has been completely rewritten with major differences from the previous version (1.4.6). The following highlight the major differences:
Copyright (c) 1997-2001 Protek Computer Solutions. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with with the Invariant Sections being only "The Loadlin+Win95/98/ME mini-HOWTO".
This mini-HOWTO is posted first at The Linux+Windows 95 Reference Page, so check there to make sure you have the most recent revision of this mini-HOWTO.
Questions, comments, and suggestions are welcome. I am always looking for ways to improve and expand this mini-HOWTO. I rely heavily on feedback to make improvements, and will do my best to be prompt with a helpful response. I can be reached at email@example.com.
Every attempt has been made to ensure that the information presented in this mini-HOWTO is safe and accurate. However, this information is given without any warranty, either expressed or implied, as to its suitability for a particular use. It is generally considered a GoodThing(TM) to make backups of your system files before changing system configurations and/or files. I suggest you take this precaution "just in case".
Loadlin is a simple DOS based utility that loads the Linux kernel into memory from DOS. Loadlin was written by Hans Lermen. See the Loadlin-1.6 User's Guide for further details about Loadlin's features and how to use Loadlin.
Before your read any further, I should mention that this mini-howto has some limitations with Windows ME. Based on feedback from Windows ME users, the menuing system described in the next section will only work from a Windows boot floppy instead of from the hard drive. Thanks to Olivier Guichard for pointing me to the relevant Microsoft article.
Note that only the
need to be on the floppy disk. All other files mentioned may reside on
the hard drive.
If booting from a floppy is not an option for you, then please see the FAQ section for alternatives to LILO and Loadlin.
Any Windows ME users who can find a better way than using a floppy, please let me know your solution so I can include it in this mini-howto.
Edit (or create)
config.sys on the root of Drive C. The contents should
be similar to the following:
[menu] menuitem=Linux, Mandrake Linux 7.2 menuitem=Win98, Windows 98 menucolor=15,1 menudefault=Win98, 10 [linux] [win98]
If your system already has a
config.sys file, put those contents under
[win98] section. The
[linux] section is left blank
Edit (or create)
autoexec.bat on the root of Drive C. The contents
should be similar to the following:
goto %config% :linux call c:\linux.bat :win98
As above, if you aready have an
autoexec.bat file, put those contents
Create a file called:
linux.bat. Putting it in the root of
Drive C is as good as place as any (but it can go anywhere so long
as you reference the path or location). The contents should be
similar to the following:
@echo off c:\loadlin c:\vmlinuz root=/dev/hda3 ro
The above example assumes that
located in the root of Drive C (or C:\) and that linux is installed on the
/dev/hda3 partition. Your configuration may be different.
The important thing here is to make sure that loadlin and your linux kernel file are properly referenced. Finished!
That should work for you, as that is how I have things set up on my system, which dual boots with Win98.
dfutility. If you see a line with
/boot, then it will be quite obvious. If you do not see a line with
/boot, then look on the line with a single "
vmlinuzand should be located in the '/boot' directory. Often
vmlinuzis a symbolic link to the actual kernel. If all else fails type:
at a Linux shell prompt. This will search all Linux partitions for the vmlinuz file. If you have multiple vmlinuz files, then make sure you use the correct one. If you are not sure, then the safest bet would be to use the most recent one.
find / -name vmlinuz*
To copy your linux kernel file to your DOS partition, you need to make your DOS partition visible to Linux, then mount the partition if it is not already. Generally, this should have been set up when you installed Linux. All you need to do next is change to the directory the vmlinuz file is in and copy it over to DOS using the cp command.
However, if Linux was not set up to recognize your DOS partition, then copy vmlinuz to a floppy. Take any DOS formatted floppy (with enough disk space to hold your kernel image file) and insert it into your floppy drive. Type:
mount /dev/fd0 /mnt/floppy
at a Linux shell prompt. Then change to the directory your kernel image file is in and type:
cp vmlinuz /mnt/floppy
This will copy vmlinuz to your floppy disk and it will be readable by DOS. Shutdown Linux, boot to DOS, then copy vmlinuz to whichever directory you choose. If you recompile your kernel, do not forget to copy the new kernel image file to your DOS partition. This will overwrite your old file, so it might be a good idea to rename the old file first just in case the new one does not work properly.
Alternatively, if you have the
mtools utilities you could
mcopy vmlinuz a:
loadlin f:\vmlinuz root=/dev/hdc2 ro
Now save the file on your Windows desktop. Next, right click on the Linux.bat icon, then left click on Properties. Now click on the Program tab, then click on the Advanced button. Click on the box next to "MS-DOS mode" and make sure the box next to "Warn before entering MS-DOS mode is checked". Click OK, then click on OK again. Now when you double click on the Linux icon, a warning box will appear before going into MS-DOS mode. If you click on "Yes" then Windows enters MS-DOS mode and executes the Linux.bat file.
NOTE: You must be in MS-DOS mode in order to use Loadlin. Please see the manual.txt file mentioned in Section 4.1 of this FAQ for more information.
GRUB: The GNU GRand Unified Bootloader
XOSL: Extended Operating System Loader
Currently there is an Italian translation of version 1.5.0 of this mini-HOWTO, translated by Michele Martiradonna.
Any effort to translate this mini-HOWTO into other languages will be greatly appreciated. If you are interested in taking on such a task, please e-mail me at: firstname.lastname@example.org.