Windows/Linux Dual Boot

Don't want to give up Windows while you learn Linux? Here's how to use both on the same machine.
Planning your Partitions

Both the Red Hat and SuSE installation guides have excellent chapters on how to divide up your hard drive for use by Linux. Personally, I favor the “Keep It Simple” principle, especially for beginners. I let Windows keep the first partition, create a second for the entire Linux install, a third for Linux swap space and the fourth for my /home directory (where data is kept). Having /home on a separate partition will make things much easier, if you ever have to reinstall Linux. The size of each partition will depend on your individual situation, but this should suffice for most folks. However, if your hard drive is larger than 8GB, there is something else to think about—LILO.

Booting with LILO

The usual and recommended method to boot into Linux is using LILO (the LInux LOader). LILO can install itself in your boot sector and allows you to choose which operating system you would like at boot time. Due to a technical limitation, LILO is unable to read data from the hard drive past the 1024th cylinder—the 8GB mark for modern LBA (Logical Block Addressing) hard drives.

Does this mean you can't use the rest of your drive? Not at all. What it does mean is that your boot partitions must all live below the 8GB mark, that is, below cylinder 1024. Thus, if you want Windows to use the first 9GB of your fancy new 18GB drive, you won't be able to use LILO to boot Linux. Because of this limitation, Red Hat's Disk Druid tool for partitioning the hard drive will not allow you to create your Linux boot partition past cylinder 1024. You can still create the partitions using fdisk, but Red Hat setup will not install LILO if you do.

Booting from Floppy

It is possible to avoid the entire problem of the 8GB barrier by booting from a floppy disk. Although this may sound inefficient, it actually works quite well. The kernel loads into memory from the floppy disk and never accesses the floppy again, so loading the kernel is slower; but after that, the system runs the same as if it had booted from the hard drive. The Linux kernel has no difficulty accessing the end of large hard drives, so it can still reach all the files of your Linux installation.

The setup program for your distribution will almost certainly ask you to create a boot floppy during installation. Even if you don't plan to boot from floppy regularly, you should definitely make a boot disk. If for some reason LILO fails to install or becomes corrupted, you will have no other way to access the files on your Linux installation.

Booting with Loadlin

Loadlin is a program that runs under DOS (or Windows 95 in MSDOS mode). It can load the Linux kernel into memory from the DOS partition. Because it loads the Linux kernel from the hard drive, there is still a possibility the 8GB barrier could cause problems, but only if your Windows partition is larger than 8GB and is almost full. That's not likely at the time of this writing, but who knows—the next release of Windows might take up that much space by itself.

Frankly, I wouldn't recommend Loadlin to Linux novices because it can be difficult to configure correctly. If you simply must use it, an excellent Loadlin + Win95 Mini-HOWTO document available from the Linux Documentation Project should get you up and running.


Giving Linux a try does not mean you have to buy a whole new computer or even a new hard drive. With just a little extra effort, you can run both Linux and Windows without losing any data or any productivity while you learn Linux. I think you will find it is well worth the effort.


Vince Veselosky is a computer consultant in the Atlanta, Georgia area, working mostly in technical support for Microsoft operating systems. He has made it his mission in life to master Linux before the year 2000. When he's not working with computers, he's looking for a new girlfriend. Potential girlfriends and others can reach him via e-mail at


Geek Guide
The DevOps Toolbox

Tools and Technologies for Scale and Reliability
by Linux Journal Editor Bill Childers

Get your free copy today

Sponsored by IBM

Upcoming Webinar
8 Signs You're Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
11am CDT, April 29th
Moderated by Linux Journal Contributor Mike Diehl

Sign up now

Sponsored by Skybot