1. All important data are to be backed up and restored as is. This is not entirely difficult, but it is one of the objectives with grave importance. Most of my important documents are stored in my external HDD, Network Attached Storage (NAS) and my offsite Winamp is known for its shitty way of backing up your files. I've decided to just backup its database (as well as with iTunes for my iPhone), and just restore the files in the same location and partition as it was before so that they could easily find it.
2. I will have to equally distribute my partitions. As planned, my Windows and Linux partitions will get 40GB and 30GB of space respectively. A central storage drive formatted as NTFS (the Windows NT filesystem) will be shared by both operating systems. I'll explain more of this later.
3. Instead of Ubuntu, I'm installing Arch Linux as my Linux distro. This reason is primarily because Ubuntu is becoming less of the "Linux for human beings" as it was advertised and more of the "Linux for Mac Users". It's filled with bloatware, and horribly now very easy to use. Unlike Ubuntu, which practically works right out of the box, Arch Linux is light, but reliable and, ultimately customizable. It will be harder to set up, but more rewarding in the end.
As a matter of fact, you can use this post as some sort of a guide if you're planning to dual-boot Windows 7 and Arch Linux on a single hard disk drive. To avoid repetition, I'll post my laptop's specifications here.
IBM Thinkpad x60s
Age: 5(?) years
Intel Core Duo L2400 x86 (32-bit) @ 1.66Ghz
2.25GB of RAM
250GB Seagate 5400RPM HDD
(NOTE: If you have multiple hard disk drives, this will not cover your needs. However, I heard that multi-booting using multiple HDDs is easier than just using one HDD.)
(NOTE: I will not be covering how I backed up my data, as that wouldn't be too hard to do.)
Phase one: Setting up partitions
The first step would be repartitioning the hard disk. Take note that you will not be able to do this in the Windows 7 DVD, as it is really only limited to creating NTFS partitions of its own. To do this, you will need the GParted live CD, or you could use an Ubuntu Live CD, as they have GParted inside.
(NOTE: I have first attempted to repartition my drives on the Ubuntu 10.10 (Maverick Meerkat) Live CD, but GParted crashed shortly after the process and I could not get back to GParted just to check if everything was alright. I ended up using the Ubuntu 10.04 (Lucid Lynx) Live CD instead.)
After booting from the Ubuntu Live CD, I went to System->Administration->GParted. There, the filesystem table of my hard disk drive is shown. I deleted all the partitions, and then repartitioned them as:
/dev/sda (This is my HDD)
-> /dev/sda1 40GB NTFS (Windows 7)
-> /dev/sda4 30GB Extended (Arch)
-> /dev/sda5 10GB ext4 / (root)
-> /dev/sda6 2GB linux-swap (swap for Arch)
-> /dev/sda7 (the rest of /dev/sda4) ext4 /home
-> /dev/sda3 ~180GB NTFS (storage)
(NOTE: /dev/sda2 is used by Windows 7 as another partition, probably used for system restore. It is always 100MB in size, and takes up a partition in your HDD. There are, however, workarounds in removing this partition, if you plan on triple-booting.)
After successfully partitioning my hard disk drives, I prepared my Windows 7 Home Premium DVD (this is genuine, by the way, set me back Php5,500) to reinstall Windows.
Phase two: Installing Windows 7
I actually thought of installing Windows XP instead of Windows 7, as I enjoy XP better with its flexibility and being easily customizable (not to mention being completely compatible with LiteStep). But since that would mean tossing away five thousand pesos, I've decided to just continue with Windows 7. At least it's shinier.
Installing Windows 7 is a pretty straightforward process. It's particularly idiot-proof, so it's not really difficult. You can try to format your NTFS drives again here in Windows 7 (as it does the job better, I think), but take care not to touch the Linux extended partition. It will appear to Windows as blank and unpartitioned, but do not touch them or you will have to repeat phase one again.
After installation, I checked if my storage drive was present. It appeared in Windows as D:\, so I went ahead and created folders that would be shared by Windows and Arch (Photos, Music, Videos, Downloads, Games, etc.) and set the Windows Libraries to the location of the custom folders. Then I rebooted and inserted the Arch Linux Installation CD.
Phase three: Installing Arch Linux
The installation of Arch Linux is really different from Ubuntu's. In Ubuntu, you just input some information about yourself (location for UTC time, keyboard layout, etc.), and just let the setup do everything else for you. In Arch Linux, there is a semblance of a GUI setup present, but it's more of a list of everything you need to do before you copy the base files of the OS. Since describing everything I did during the installation would take too long, I suggest you consult the Arch Linux Wiki's Beginner Guide and the Official Arch Linux Install guide to get started. I won't be discussing how to use the Arch Linux installer, I'll be discussiing what I did after installing.
(NOTE: If you are just starting out with Linux, don't choose Arch as your first distro. It's difficult, and it's build primarily for Linux users who wants to know what's going on inside a Linux system. Ubuntu is primarily a good choice for those who are just starting out in Linux.)
After installing, I was transported back to the basic CLI terminal. I logged in as root (as there are no user accounts yet), and created a user account for myself. Using pacman (Arch Linux's PACkage MANager), I installed sudo (super use do, gives temporary root privileges for a command), the alsa mixer (for sounds) and the X Window Manager (xorg). As I want my Arch Linux setup to be minimal and un-shiny as possible, I've opted to install LXDE as my desktop environment, which turned out to be quite a pain to setup, so I removed it and installed the more familiar XFCE DE instead.
Right after installing my desktop environment of choice and starting X (using startx), I was greeted with the empty XFCE desktop. The extra packages that come with XFCE4 was not present, so I installed them using pacman. I also installed and configured ntfs-3g, which provides stable NTFS reading and writing, so now Arch can mount, read, and write to and from the two NTFS partitions in my hard disk.
Setting up my wireless network connection was the hard part. Although I was spared of having to find the drivers for my wireless device since the Arch repositories have them, managing the device itself was a pain. So far the method I used was through the CLI network management tool, netcfg. I added various network profiles like home (connecting to my home Wlan), home-eth0 (for connecting to my home ethernet), and others, which will make connecting to networks with profiles easily by just typing "sudo netcfg
Phase four: Restoring backups
This is pretty easy. I just move my backups back to the storage drive. I installed whatever is necessary to Windows and have successfully synergized it with Arch. Now they are pretty much working with each other, although I must admit Windows is a bitch. Currently I am in the never-ending process of customizing my desktops to get my dosages of desktop deviance (and shininess).