Creating a Dual-Boot Windows XP and Ubuntu Laptop
Pages: 1, 2, 3

Dual-Boot Computer Disk Partitioning

When sizing your partitions, you must consider the following:

  • Windows NTFS partition: Provide adequate space for the full operating system (including anticipated future patches), the installs for all applications you want, and plenty of extra space (just to be safe).
  • Linux ext3 partition: Provide adequate space for the full operating system; for convenience, allow enough space for software installs in the default install locations (/usr/bin, etc.).
  • Linux Swap: Follow the standard rule of allocating swap (twice your RAM).
  • Shared FAT32 partition: Don't make this too small. For example, if your email will reside on the shared partition, that alone can quickly occupy gigabytes of disk space.

While people often recommend creating a separate partition for the /home directory, I chose to let /home reside on the root partition in this case. Most of the data that I would normally store in a Linux /home directory is actually in the shared FAT32 partition on my dual-boot systems, leaving /home relatively empty.

Here are the partition sizes I used for my two notebooks:

Partition Toshiba (30 GB drive) HP (80 GB drive)
Windows NTFS 18 GB 19 GB
Linux ext3 5 GB 30 GB
Linux swap 1 GB 2 GB
FAT32 (shared) 5 GB 25 GB

Once you've decided on partition sizes, boot the system using the System Rescue CD. When the rescue CD presents the boot: prompt, I recommend entering fb800 nodetect:

boot: fb800 nodetect

This setting bypasses a full search for the devices on your computer. When I tried the default boot with my new HP, the system displayed the message "USB and PCI hotplugging" and froze, forcing me into a hard power down. My Knoppix 3.7 LiveCD also failed to complete its boot on the HP, using the default options. Because I don't plan to work with USB or hotplug devices, there is no need to detect them.

After the rescue CD boots, you'll see a Linux command prompt. Enter run_qtparted to launch the QtParted disk partitioning application. (Documentation and screen shots are available from the project's site.)

Select the Windows partition (this was /dev/hda on both my systems), and resize it: select Operations->Resize, enter the new partition size (observe your units, MB or GB), and click OK.

Next, create a second primary partition, type ext3, for the new Ubuntu system: highlight the "02" partition, and select Operations->Create. Set "Create as" to "Primary Partition" (so the Linux system can boot), select "ext3" as the partition type, give the drive a sensible partition label, enter the partition size, and click OK.

Create the Linux swap partition by highlighting number "03" and selecting Operations->Create. Select "linux-swap" as the partition type, select the swap size, and click OK.

Finally, create the FAT32 partition that both operating systems will share. Highlight number "04" and select Operations->Create. Set the partition type to FAT32, provide a label, and allow the partition to use the remainder of the disk.

Now, study the color-coded diagram at the top of the QtParted window. The sizes of the colored partition regions should match what you expect to see based on your disk space allocation design. If there is any doubt, you can select Device->Undo to undo your changes, or exit QtParted and start over.

When you're absolutely certain that everything looks correct, select Device->Commit. The QtParted program will warn you that all partitions must be unmounted. The hard drive partitions won't be mounted if you went directly from the CD boot to run_qtparted. Click "Yes" to commit your changes.

A progress window appears, and QtParted displays various messages as it performs the repartioning operations. It took about 10 minutes to repartition my 30 GB Toshiba drive into the four new partitions, but on my HP all operations completed in about a minute. If everything works, QtParted displays "Operations completed successfully." Click "OK," then select menu options File->Quit to exit QtParted.


shutdown -r now

to shut down the system. At this point, you may want to reboot to verify that your Windows system is still bootable. Windows should boot fine if you selected an adequate resize partition size based on the final Windows defragmentation map. At boot time, Windows may detect the change in disk partition size and begin to run the chkdsk utility. Let this continue so that Windows can reset its internal information about available disk drives.

After Windows has completed its analysis of the new disk partitions and booted into its normal operating mode, open Explorer and look at the identified drives. You should see the resized boot drive, plus a new drive letter that designates the FAT32 partition you created using QtParted.

Installing Ubuntu Linux

To install Ubuntu Linux, reboot the system with the Ubuntu boot CD in the drive. At the "Partition disks" screen, select "Manually edit partition table." On my systems, Ubuntu found the partitions:

  • ntfs /media/hda1
  • ext3 /media/hda2
  • swap swap
  • fat32 /media/hd4

The ntfs partition is the resized Windows partition. The ext3 partition is where you want to install Ubuntu. Make sure you set the mount point to / for this partition, set the bootable flag on, and let Ubuntu format the partition. For the FAT32 partition, specify a mount point such as /share. When the configuration settings are correct, select "Finish partitioning and write changes to disk." The installer will format the ext3 and swap partitions.

Pages: 1, 2, 3

Next Pagearrow