The Loadlin+Win95/98/ME mini-HOWTO
v1.5.2, 21 Feb 2001
This document describes how to use Loadlin with Windows 95/98/ME to
boot to Linux.
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
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:
- Name change. The Loadlin+Win95/98/ME mini-HOWTO was formerly known as "The
Loadlin+Win95 mini-HOWTO. The change was made to more accurately
reflect the topic covered herein.
- The focus has changed from Win95 to Win98, and as a result this
mini-HOWTO is simpler and easier to follow. Microsoft made some changes
in the way Windows boots in Win98, which has made most of the dual boot
methods for Win95 incompatable with Win98. If you still wish to see the
Win95 specific mini-HOWTO you can view it
- Change in copyright status from version 1.4.6
Copyright (c) 1997-2001 Protek Computer Solutions. Permission is
granted to copy, distribute and/or modify this document under the terms
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
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
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,
let me know your solution
so I can include it in this mini-howto.
- You have successfully installed Windows 95/98/ME.
- Windows 95/98/ME is installed on Drive C.
- You have successfully installed Linux.
- You know what partition Linux is installed on.
- LILO is NOT installed on your hard drive.
- The Loadlin.exe program file
- Your kernel image file, usually bzImage or vmlinuz. (See the
FAQ for info).
Edit (or create)
config.sys on the root of Drive C. The contents should
be similar to the following:
menuitem=Linux, Mandrake Linux 7.2
menuitem=Win98, Windows 98
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:
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:
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.
- Loadlin can be found on your favorite distibution's installation
CD. Just do a search for 'loadlin'.
- The Loadlin-1.6 User's Guide is available for download at:
- Additional information is available at:
- At a Linux shell prompt, run the
df utility. If you see a
/boot, then it will be quite obvious. If you do not
see a line with
/boot, then look on the line with a single
- The kernel image file is usually called
should be located in the '/boot' directory. Often
vmlinuz is 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:
- Technically no. However, it would be much simpler to
install Windows first. That way it is easier to setup Linux to recognize
your DOS partition(s) as you can usually do this during the Linux
- You will need to restore the Win95 MBR (Master Boot Record) that
LILO overwrote when you installed LILO. At a DOS prompt type:
- Frankly, if you want to do this I would recommend using LILO. However,
if you really do not want to use LILO, you will have to boot to Win 3.x
first, then issue the Loadlin command. (Make sure Windows 3.x is NOT
running, but that you are in DOS 5.0 or 6.x).
- Yes. First, create a batch file called "linux.bat", for example.
Edit the file to contain a Loadlin command such as:
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
Currently there is an
Italian translation of version 1.5.0 of this mini-HOWTO,
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: