I've included a glossary explaining some of the terms I've used in the following post. I figure for most folks, bits of this stuff is rather technical. So, I figure this might be a good time to offer free education. I tried to use reasonably simple analogies to explain what these various things are. Might be worth a read even if you don't care about my adventures with Ubuntu setup.
Geek vocabulary explained for those who have more important things to do with their lives than fiddle with computers all day long. Oh, how I envy you.
OS: The Operating System is the software that makes it so that programs (like Picasa and Firefox) can run on your hardware (meaning the hard drive, RAM, screen, speakers, etc). It's like the foundation, first floor, wiring, and plumbing of a house. The applications are like the secound floor of the house. The sink on the second floor (let's call it Photoshop) will not work very well at all without the infrastructure around it and beneath it. Different OSes are like different styles of house. Some kinds of house suit some people better than other people. Some folks argue over which architecture is superior, more stable, more stylish, etc. But it's really up to the person living in the house what kind of house they want.
Ubuntu: I may use this term interchangeably with Linux, but they are not synonymous. Ubuntu is a type of Linux (which is a type of OS) just like a Baptist is a type of Protestant (which is a type of Christian). Additional info: Ubuntu is one of the shiniest and easiest versions of Linux to use, which makes it the most popular form of Linux.
Jaunty Jackalope: Each successive version of Ubuntu gets a different version number that is based upon the year and month of release. For example, the version released in April 2009 is version 9.04, and the version released in October 2008 is version 8.10. The very first public version of Ubuntu was 4.10, because it was released in October of 2004. In addition to these numbers, each version also gets an animal name title. Version 8.04 was Hardy Heron, version 8.10 was Intrepid Ibex, and the newest version, 9.04, is called Jaunty Jackalope. It is this version with which I have been tinkering.
XP: Short for Microsoft Windows XP. Windows is an OS that comes default on most non-Mac computers. Thus, Microsoft has been a happy business over the last several years because it's hard for a person to purchase a computer without being forced to also purchase Windows along with it. Thus, most folks are familiar with Windows, and most programs are written for Windows, and it continues to be very common, despite alternatives which are really quite decent.
Partition: Imagine your hard drive is a big piece of cake. Your computer looks at it and says, "hey, look, a really giant piece of cake. Let's call it 'C:' or something like that!" Dividing your hard drive into partitions is like cutting the big piece of cake into smaller pieces. Your computer looks at them and says, "hey look, several pieces of cake. Let's call them 'C:', 'D:', and 'E:'." Your computer will treat them as if they are seperate hard drives (although they are technically all part of the same physical thing). Side note: "unallocated space" refers to a piece of cake which has not yet been named.
Filesystems (such as ntfs and ext): Imagine the hard drive is a book. The filesystem is like the language in which the book was written. Windows XP's preferred langauge is NTFS, which we'll call French for now. Ubuntu's preferred language is EXT, which we'll call German. XP doesn't speak German very well, so if you show it a book that was written in German, it won't be able to read the book and understand it. But it's possible for you to teach it German, and then it will be able to read it. Ubuntu's native language is German, but it also knows French, English, and Esperanto, and others. So, if you show Ubuntu a book that was written in French (that is, a hard drive which Windows wrote to using the ntfs filesystem "language"), it will be able to read it and understand it just fine, and even write it's own French in it.
Drivers: A driver is like an instruction manual that your computer reads in order to know how to do something. If someone gives you a remote control helicopter that requires assembly, you have to look at the instruction manual before you can start flying your helicopter. Similarly, before a computer can't start using a new piece of hardware (like a printer, for example) without having the instruction manual handy (the drivers for the printer).
Live CD: The Ubuntu Live CD is a disk that you put into your computer when it starts up. Instead of loading up the normal OS off of your hard drive, it loads Ubuntu off of the CD. This is very useful if your old OS broke and you need to access the data on the hard drive somehow. Unfortunately, because you're not using the hard drive for the OS, none of your settings will be saved, and it runs more slowly than it would from the hard drive.
To boot: To boot a computer is to turn on the power and have it load an OS. When you turn on a computer that has Windows, for example, the computer will do some basic stuff for a few seconds, and then automatically boot Windows.
Dual-boot:Dual boot means that you have more than one OS on your computer, and when you turn the computers power on, you get to choose which OS to boot up with. Whichever OS loads will have control over all the hardware just like normal. The beauty of dual-booting is that you essentially get two different computers for the price of one. It's possible to tri-boot or quad-boot. There are computers out there which will let you choose Mac OSX, Ubuntu, Vista, or XP when you turn on your computer. So, if you need Vista for one program, Ubuntu for another, XP for another, and a Mac for another, but you don't want to haul around four seperate laptops... you don't have to. It's a beautiful thing.
My journey into the outskirts of dual-boot hell.
Goal 1: Backup files to external hard drive, and do a clean install of Ubuntu, thus erasing XP.
Problem 1: While many Windows programs have alternatives and equivalents in Linux, and while there are ways of making nearly any Windows-only program work in Linux, FL Studio is a program that seems to be rather tricky to get running properly, and it's a program that I care about keeping around. Thus, I wish to keep XP. I could repartition the drive and reinstall XP, but I don't have an install disk for it.
Goal 2: Backup files to external hard drive, repartition the internal hard drive, install Ubuntu in such a way that XP is still there, and then be able to choose which OS to load up whenever I turn on my computer. (Details: make a very large /home partition for the bulk of my files. There are reasonably good ext filesystem drivers for Windows, and reasonably good ntfs drivers for Linux, so I was going to go with ext3 for the /home partition.)
Problem 2: As I was starting to backup my files, my external hard drive's condition deteriorated to a point where I no longer could rely on it to work properly. Fortunately, it did this before I had irrevocably moved things onto it.
Goal 3: Repartition hard drive and install Ubuntu to 10 GB partition on my 120 GB drive.
Problem 3: I had no real level of security that repartitioning my only partition, on which all my data lay, was safe.
Goal 4: Install with Wubi. Wubi = Windows Ubuntu Installer. This lets you put Ubuntu in the same partition, which means that you don't have to risk losing data from careless repartitioning.
Problem 4: Wubi failed on me three times in a row. I'll spare you the details, but it got kinda hairy at more than one point. Also, I kinda wanted a real Linux installation, not this psuedo-installation.
Goal 5: Find a definitely non-destructive repartitioner, use it to change free space on C: into unallocated space, then use the Ubuntu Live CD to install Ubuntu for real into a new partition (or two) in the unallocated space.
Problem 5 and Solution: I used Acronis to repartition, which worked perfectly. When I used the Live CD to install Ubuntu, it froze at 96%. I rebooted, and Linux mostly worked. But it didn't completely work. After numerous reboots into the Ubuntu installation, the Live CD, and XP, I eventually came to the conclusion that the installation couldn't be rescued, and I had to do it over again. I didn't arrive at this conclusion until after it was five in the morning, and I had learned a lot about the boot process, GRUB, and how to fix things. Muchos frustration along the way. Before leaving for work today, I deleted the Ubuntu partitions (which basically tells the computer that whatever data was there is no longer important and it is therefore safe to write over it), and then re-ran the installer. When I got home...
It all worked. Completely. Ubuntu boots normally. Windows boots normally - which is an accomplishment in itself. Ever since I got this computer, I've been having problems with the Windows boot process. But I've had far less trouble with it once I started tinkering with Linux and GRUB and Wubi and boot.ini.
So. After much bother and trouble, I now have an operational dual-boot XP/Ubuntu laptop. This is very pleasing.