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.

So you've heard great things about Linux: faster, cheaper, more efficient, more stable. Sounds good. You'd like to try it out, but probably have a lot of time and data invested in Windows and can't afford to be down while figuring out how to use Linux for your daily tasks. Windows and Linux can live comfortably on the same computer, even on the same hard drive. The choice of operating system can be made when you power on. This is commonly called a “dual boot” configuration, and one of the most common questions among new Linux users is how to set it up.

My system is a Pentium II 400MHz with 128MB of RAM and an 11GB EIDE (actually Ultra-DMA 33 ATAPI, for you hardware gurus) hard drive. The hard drive had Windows 95 “C” on one big FAT32-formatted C: drive, which is a typical factory configuration. I tested installs of Red Hat Linux 5.1 and SuSE Linux 5.2.

Before starting, there are two terms you need to be familiar with: partition and file system. The disk can be divided into smaller, separate pieces which can belong to different owners. For dual booting, Windows will own some and Linux will own others. The word “partition” does not refer to the wall; it refers to the separated space. Thus, we say Windows is installed “on” the first partition. The file system is a method of organization. Your hard drive can have different file systems. The operating system provides the directory tree (also referred to as “the file system”) as a catalog of available files. Every operating system has its own type of file system, and other operating systems often don't know how to read it. Lucky for us, Linux is a versatile operating system and it does understand the file system used by Windows 95 and Windows 98.

Making Room for Linux

Most factory-installed Windows installations take up all the space on your hard drive, leaving no room for installing Linux. The first and most difficult thing we must do is clear some space where Linux can be installed. Linux needs to have partitions of its own, but Windows does not have the ability to resize partitions. Ordinarily, this would mean you would have to delete your existing partition (and everything on it) to make room on the drive and then create partitions of smaller sizes and reinstall. You can still do this, but there is a better way.

What You Need

Most Linux distributions come with a special tool to allow you to resize or divide hard drive partitions. Called FIPS, the First (non-destructive) Interactive Partition Splitter, it is normally found on your Linux CD in a directory called /dosutils. You will also need a blank, formatted floppy disk to use as a boot disk. For most older Windows installations, that should be all. However, if you have Windows 98 or a recent version of Windows 95 with a large hard drive (bigger than 2GB), you may need some additional tools if you are using the FAT32 file system.

To check what type of file system Windows is using, open Windows Explorer, right click on the C: drive and choose Properties. If you see “File System: FAT32” on the General tab, you will need some additional tools to support this newer file system.

FAT32 Support Requirements

To adjust your partitions, you will need version 2.0 or higher of FIPS. If the version included with your Linux distribution is older than this, the latest version is available for download from the FIPS home page at If you want to share files between Windows and Linux (a good idea), you will also need to have version 2.0.34 or higher of the Linux kernel. Table 1 is a list of Linux distributions known to support FAT32. If your distribution does not include support, you will need to upgrade the kernel. Upgrading a kernel is beyond the scope of this article, so check the documentation included with your distribution or your distributor's web site for information about how to do that.

Table 1

Preparing Your Drive

Before you can resize your Windows partition, a few steps must be taken to ensure that the process goes smoothly. First, delete any files from your hard drive that are not being used; for example, any old files in the C:\windows emp folder, and then empty your recycle bin. Next, check your file system for errors using Scandisk, and compact your hard drive using Defrag. I'll assume you Windows users know how to do this. When running Scandisk, be sure to check the box next to “Automatically Fix Errors”. Defragmentation consolidates all your data at the “front” of the drive to make room at the “back” of the drive for your new partition.

When both are finished, it would be wise to note how much space is available on the disk. If this number is less than the amount required to load Linux (check your distribution's documentation for space requirements), you'll need to delete more files or uninstall some software to make room.


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