Preparing Windows and Linux for dual-booting
This article describes preparing a dual-boot system with Windows and Linux. This does not describe the actual installation process an individual must go through in order to complete the setup, as this will be covered in other guides. What this guide does focus on is non-destructively resizing a Windows partition taking up an entire hard drive to a suitable size so that space is left over for Linux or another operating system.
Additionally, if the user plans to install Linux on a secondary (unpartitioned hard drive) or does have free unpartitioned space on their hard drive, this guide is not necessary. This is only for users who have their entire hard drive devoted to Windows and wish to install Linux on part of it.
Items/materials needed
You need a *nix LiveCD that contains either GParted or QTParted. This guide covers the use of GParted, however, QTParted is very similar in operating. If you do not intend installing a *nix that contains GParted or QTParted, it is recommended that you download Ubuntu Linux for the purpose of resizing your hard disk. Once this is completed, you may continue installing the *nix distribution of your choice.
Instructions
Insert the Linux CD into your CD drive and reboot. If your computer is incapable of booting from a CD, you may have to edit your CMOS before you can boot. On Ubuntu, the startup boot screen looks like this:

Once the LiveCD has finished booting and you're logged in, start up the partitioning tool. In Gnome, GParted is located in System->Administration->Gnome Partition Editor:

Once GParted is started up, you should see a diagram of your hard drive. The green border represents your NTFS (Windows) partition, while any dark gray is unpartitioned space. You can also see the pale yellow, which is the used space on your NTFS partition. When you're ready, click the "Resize/Move" button on the top of the toolbar.

In the window that opens up, you can choose the new size of your NTFS partition. As a general rule of thumb, you should allocate at least 5 gigabytes to a regular Linux installation. If you plan to install lots of applications, you'll (obviously) need more. When you're done, hit the "Resize" button.

The resize operation will go into the queue. To actually execute the command, hit the "Apply" button.

Confirm that you really do want to do this, and you'll see GParted sit for a little while resizing.

When it's finished, exit GParted and reboot back to Windows to check that everything is still ok. Your hard drive is now ready to install Linux.
