How do I partiton a hard drive to run Windows and Linux?

Partitioning a hard drive for Linux that already runs Windows can be tricky. Fortunately, there are some good applications available that can help ease the pain.

What are some issues to anticipate when partitioning a hard drive to run Windows and Linux?
While Partitioning a dual boot PC for Windows and Linux is far from rocket science, it is also not for the squeamish. Remember to use a disk-partitioning tool when configuring your disk. Partition Magic is very good, as is FIPS, a free tool included on some Linux distributions.

Assuming you already have Windows installed (the vast majority are Windows users looking to install Linux), you're next step would be to install Linux. Finally, you'll need to install and configure your boot loader. One issue you'll have to deal with is which Linux distribution to install. If possible, you will want to use the recommended dual-boot and partitioning software for your particular variant of Linux. On an IBM ThinkPad I had used many years ago, the Mandrake distribution I used came with Partition Magic for partitioning the disk, which helped me build the Linux partition. These days Partition Magic is still around, and though it usually costs money, it is well worth the cost.

Another issue is the boot loader. You'll need to understand what it is and what it does. The boot loader is a program that resides in the Master Boot Record of the hard drive. When you first boot your computer, the BIOS transfers control to the Master Boot Record, and the program is launched from there. This program transfers the control to the operating system, which eventually boots you up.

Boot programs include GRUB, LILO (Linux Loader) and the Windows NT boot loader. I've found LILO to be a bit simpler to use than GRUB, though many prefer GRUB for its flexibility. The files used for GRUB are in /boot/grub. There is one big difference between GRUB and LILO: With LILO, every time you rebuild your kernel, you will need to reinstall the boot loader (run sbin/lilo). So, there can be less of a maintenance issue with GRUB. Also you'll need to execute lilo again after any changes are made in /etc/lilo.conf.

Just remember that Windows must be the first OS installed, not Linux. Also make sure before you partition anything, to absolutely back up anything of importance when you are ready to do this. Assume you will lose everything when partitioning your data.

Dig Deeper on Operating Systems and Software Services