The Loadlin+Win95/98/ME mini-HOWTO Authored by: Chris Fischer, protek@firstlinux.net v1.5.2, 21 Feb 2001 ------------------------------------------------------------------------------- This document describes how to use Loadlin with Windows 95/98/ME to boot to Linux. ------------------------------------------------------------------------------- 1. Introduction 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: * 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 here. * Change in copyright status from version 1.4.6 1.1 Copyright 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 the Invariant Sections being only "The Loadlin+Win95/ 98/ME mini-HOWTO". 1.2 New Versions Of This Document 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. 1.3 Feedback 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 protek@firstlinux.net. 1.4 Disclaimer 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". 2. About Loadlin 2.1 What is Loadlin? 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. 3. IMPORTANT: Preliminary Information and Setup 3.1 Windows ME Users 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 config.sys and autoexec.bat files 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. 3.2 Things that are assumed: * 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. 3.3 Items you need before you start: * The Loadlin.exe program file * Your kernel image file, usually bzImage or vmlinuz. (See the FAQ for info). 4. Getting started: 4.1 Step One: 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 the [win98] section. The [linux] section is left blank intentionally. 4.2 Step Two: 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 under the :win98 section. 4.3 Step Three: 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 loadlin.exe and vmlinuz are 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. 5. Frequently Asked Questions: 5.1 Where can I find more information on using Loadlin? * 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: http://elserv.ffm.fgan.de/~lermen/manual.txt or ftp://ftp.eskimo.com/u/p/praxis/manual.txt * You might also try visiting the Loadlin_Home_Page * Additional information is available at: http://metalab.unc.edu/LDP/HOWTO/BootPrompt-HOWTO-2.html#ss2.2 5.2 I am not sure what partition Linux is installed on. How do I find out? * At a Linux shell prompt, run the df utility. 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 "/". 5.3 Where do I find the kernel image file and how do I copy it to my MS-DOS partition? * The kernel image file is usually called vmlinuz and should be located in the '/boot' directory. Often vmlinuz is a symbolic link to the actual kernel. If all else fails type: ------------------------------------------------------------------- find / -name vmlinuz* ------------------------------------------------------------------- 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. 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 type: --------------------------------------------------------------------- mcopy vmlinuz a: --------------------------------------------------------------------- 5.4 Does it matter if I install Linux or Windows 95/98/ME first? * 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 installation. 5.5 I currently have LILO installed, but I want to use Loadlin instead. How do I remove LILO? * You will need to restore the Win95 MBR (Master Boot Record) that LILO overwrote when you installed LILO. At a DOS prompt type: --------------------------------------------------------------------- fdisk /mbr --------------------------------------------------------------------- 5.6 What if I already dual boot between Windows 95 and Windows 3.x, and I want to boot to Linux using this method? * 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). 5.7 Is it possible to initiate Linux from the Windows 95/98/ME desktop? * 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 information. 5.8 Where can I get a plain text version of this document? * You can get a plain text version of this document at: ftp://ftp.eskimo.com/u/p/praxis/loadlin.txt 5.9 Is Loadlin the only alternative to LILO? * No. There are other utilities you could use for dual booting: GRUB: The GNU GRand Unified Bootloader XOSL: Extended Operating System Loader Other_Bootloaders_and_Related_Links 6. Internationalization 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: protek@firstlinux.net.