I firmly support the second HDD notion, I usually suggest it to new Linux users. Of course that's not how I started
If a spare HDD just isn't in the cards, you will need to break off a chunk of your current disk. However, if Windows is installed on a motherboard-based RAID, it's probably in your best interest to seriously consider getting another drive. Seriously.
If not, the process I suggest and use personally when installing for friends is as follows (assumes you only have C:, if you have other partitions some of these steps will require tweaking, let us know if you do have other partitions and their sizes):
Boot into Windows
- Download and burn the
gparted livecd. This will let you resize the NTFS/FAT32 partition Windows is currently sitting on.
-Fire off a disk defrag and disk check on C:. Just a good idea.
-Place the burned CD into the tray, reboot
In BIOS
-Make sure it's set to boot from CD
In LiveCD
-At
boot: prompt, press enter
-Each time it asks you a question, the safe route is to answer with the default answer. Choose others that make sense if you'd like (i.e. choosing the native resolution if you use an LCD)
-Select the Windows Partition, right-click and select "resize"
-You can either drag the end or enter in a specific value here, just make sure to give linux ~ 5-6 Gigs. A little more is preferred.
-Make sure that the free space is at the "end" of the disk ([|####| ])
-Quit the LiveCD (File->Quit then RightClick->reboot)
Optional (but highly recommended) step
-If Windows is installed on an NTFS partition (very, very likely), Linux will be able to
read the windows partition, but won't be able to
write to it.
-The solution I use is to create (back in Windows) a FAT32 partition. Make this as big or as small as you want, just make sure to leave enough room (~5 G) of freespace for Linux.
-Note that you can make the NTFS partition a little closer to the actual size take by it than you'd like (since it prevents installation of a lot of new programs) by movind data (personal documents, MP3's, movies, gamesaves, etc) to the new FAT32 partition, freeing up additional space in the NTFS partition. This is a preferable setup because in the case of OS failure, reinstalling windows can be done as a fresh reinstall without losing your data.
-Back up an personal data. Just a good idea.
Installing Linux
-Reboot the machine with your chosen "distro" (a released group of applications and a sometimes tailored Linux kernel and kernel modules, shaped either by a community or a company) in the drive (or select it from a boot menu or however the disk works). You may also download other distros, free of charge. Many new users try Fedora, SuSE, or Ubuntu. All are very easy to use.
-Upon startup of the installation, point the installer to the free space and have it make the partitions for you.
-Follow the on-screen instructions of the installer. Should be pretty self-explanitory
-When the installation gets to the boot management installation area, more often than noot it will "just work" and recognize your Windows installation. This will allow you to boot either Windows or Linux.
-Finish up, usually includes inputting a root (administrator) password, making a daily user (w/ password), network settings (router/cable/dsl? choose dhcp), and some hardware detection (make sure it looks reasonable, i.e. lists an NVidia card only if you have an NVidia card).
-One of the first things most people do early is to install new graphics drivers. Going to google on this one is probably preferable (search "$DISTRO_NAME install $CARD_VENDOR drivers", e.g. "Ubuntu install nvidia drivers")
-Enjoy! Post back any issue that might pop up.
and, as
linux_0 always (and corrrectly) suggests, read through a
guide