Linux via Vista and XP step-by-step(dual boot)

2009 January 6

The definitive dual-booting guide

Linux, Vista and XP step-by-step

Ever wondered about how exactly to set up your PC to dual-boot between Linux, Windows XP or Vista? We’ve done the hard work and put together a totally step-by-step guide with screenshots. It’s so easy Your Grandmother Could Do It ™.

If you’ve ever asked for advice on how to set up dual-booting, you’ve doubtlessly come across online tutorials that only tell part of the story.

You probably ended up spending all weekend researching the intricacies of adjusting partition sizes, boot loaders, installing operating systems in the right order, and other fun topics.

Well, we have good news: we have put together the definitive dual-booting guide.

We’ve thoroughly tested these methods and taken screenshots of every step, and we keep them up-to-date, each time a new service pack of Windows is released, or a new version of Ubuntu Linux. We aim to have the world’s best information on dual-booting operating systems!

So… enjoy!

How to dual-boot Windows XP and Linux. (Now updated for XP SP 3 and Ubuntu 8.04.)

step1 - Intro

Updated 5 June 2008 - now uses Ubuntu 8.04 as the Linux distribution.

Scenario: You want to install XP on your machine alongside your existing Linux installation on the same physical drive which already has Ubuntu 8.04 installed.

Tutorial Summary: We’ll create space on the Linux partition to install Windows XP. XP bootloader is fairly clumsy when it comes to dualbooting and will overwrite GRUB completely. We’ll reinstall GRUB to the MBR and configure it to dualboot both Ubuntu and XP.

This tutorial has been tested on a VMWare Workstation 6.0.3 virtual machine.

step2 - Back up the GRUB boot menu

Regardless of which bootloader you end up using, it’s a very good move to first back up the GRUB bootloader. It’s easy to lose it and unless you know how to re-write it from scratch then you’re generally facing a full reinstallation of Ubuntu.

Firstly, boot into Ubuntu and go to Applications –> Accessories –> Terminal. Then, type in

sudo gedit /boot/grub/menu.lst.

This text file contains all the information GRUB uses to configure various boot options. Scroll down and the entries between “## ## End Default Options ##” and “### END DEBIAN AUTOMATIC KERNELS LIST” are the Linux boot options.

Make a backup of the file by going to File, Save As and selecting a different location. Or take a full copy of the contents and place it into a new text file. If you can, create the backup on a removable disk or networked location.

step3 - Make space for XP

Now we need to create space on the hard drive for XP, so this will involve resizing the main Ubuntu partition. Restart the system using the Ubuntu Live CD as this gives you access to GNOME Partition Editor. When the CD loads, select “Try Ubuntu without any change to your computer”.

Once the CD loads, go to System, Administration, Partition Editor.

Right-click on the main data partition which has been formatted with ext3 - it should be /dev/sda1 - and select “Resize/Move”

Move the slider from the right to shrink the ext3 partition and create free space on the hard drive, which will take the NTFS XP partition. Make sure that the free space is sufficient to hold XP (at least 2GB - preferably 5GB). Then click “Resize/Move” to confirm the selection, and “Apply” back in the main screen to carry out the pending change.

step4 - Install Windows XP

Restart the system with the Windows XP CD and boot into the install program.

Unfortunately XP isn’t so adaptive at handling existing partitions during installation. It detects the two Ubuntu partitions and marks then C: and E: accordingly. The remaining unpartitioned space which is available for XP will be marked as F:.

For the operating system and the vast majority of Windows applications which have properly-coded installation scripts, this is not a problem. Some older applications will assume that C: is the system partition and may bring up errors. There are ways of changing the drive letter assignation of the system partition, but in this scenario it’s strongly discouraged.

To insult to injury, XP detects the Linux partition as an active system partition and won’t install unless it marks this partition as inactive.

step5 - Restore the GRUB boot loader

Once XP has been installed, it will boot happily into XP but there’s no sign of Ubuntu. To reinstate GRUB as the system bootloader it needs to be reinstalled into the MBR.

Boot the system from the Ubuntu Live CD and select “Try Ubuntu without any change to your computer”.

Open a Terminal session - Applications, Accessories, Terminal

To enter the GRUB configuration mode, type in “sudo grub” and press Enter. Then type in the following commands in sequence:
- root (hd0,0)
- setup (hd0)
- quit
- exit

Reboot the system. You’ll get the GRUB bootloader but Vista won’t be an option - we need to add this to the boot options.

Boot into Ubuntu and open up another Terminal session. Then, type in

sudo gedit /boot/grub/menu.lst

Scroll down to the bottom of the file and type in the following text strings:

title Windows XP
root (hd0,1)
makeactive
chainloader +1

Save the file and reboot. When the GRUB loader launches hit ESC for the boot menu. Windows XP is the last option - select it and XP will load.

If you want to make the GRUB menu always available, boot back into Ubuntu and edit the MENU.LST file. Find the hiddenmenu text string and change it to #hiddenmenu.

To increase the menu timeout, change the default timeout 3 to something more appropriate.

No comments yet

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscribe to this comment feed via RSS