Please login or register.

Login with username, password and session length
Advanced search  


Visit our home page for VL info. For support and documentation, visit the Vector Linux Knowledge Center or search the Knowledge Center and this Forum using the search box above.

Author Topic: HowTo: Multiple, Independent WinXP Installs on the Same HardDrive via Grub  (Read 7816 times)


  • Vectorite
  • ***
  • Posts: 166

Note: Founded upon Vector 5.1.1 SOHO, but naturally should work on 5.8+. Jan-07


Why would someone want multiple, independent WinXP installs? Well in my case it was keeping one install neat and tidy, and the other for app testing and gaming i.e. keeping nasty DRMs like Starforce off at least one of my WinXP installs.


Well first your going to need to install Grub. Just simply install Grub 0.95 from slackware-10.1/extra/ via Gslapt and then run grubconfig as root in your terminal of choice.

Edit: For more specifics, see also Moe's HOWTO: Switch from LILO to GRUB bootloader on VL. Jan-07

WindowsXP requires installation to a primary partition, so multiple primary partitions are need for a multi-WinXP system. One hard drive can have a maximum of four primary parititions, or a maximum of three with the presence of one extended partition. The four primary partitions would be labled hda1, hda2, hda3, and hda4. The first logical partition of an extended drive is labeled hda5.  Note: The maximum number of XP installs on a single hard drive using this method is three, do to the necessary Linux install. I recommend cfdisk for setting up partitions.

And example setup for a dual WinXP setup:
hda1      Boot       Primary  NTFS             [^A]            15726.74
hda2                    Primary  NTFS             [^B]             22002.63
hda5                    Logical   Linux swap                        1200.90
hda6                    Logical   Linux ReiserFS                   8496.72
                            Pri/Log   Free Space

Install WinXP to hda1
Install WinXP to hda1 as normal.

Install Linux
Now install your distro of choice, in this case VectorLinux 5.1.1SOHO to hda6, with Grub v.95 installed via GSlapt from a Slackware10.1 source.

In Linux, open up a terminal as root and type:
# grub
# hide (hd0,0)
# quit

You can verify hda1 (hda0,0 in grub notation) is now hidden by typing # fdisk -l or going into cfdisk and checking for a change from NTFS to Hidden HPFS/NTFS.

Install WinXP to hda2
Reboot the machine and boot from the WinXP CD to install WinXP, but this time to hda2. The installer will ignore hda1 as an unknown filesystem and default to hda2 as its C:\.

Configure Grub
Reboot after the hda2 WinXP installation, and boot up using your VectorLinux CD (or your distro of choice) to boot to your Linux install. Now it is time to configure Grub by editing your /boot/grub/menu.lst file. You must hide the two WinXP installs from each other every time you boot to either of them. This is very simple using Grubs hide and unhide command.

An example menu.lst, using the same dual WinXP setup:
# Start GRUB global section
default 0
timeout 5
title WindowsXP (on /dev/hda1)
unhide (hd0,0)
hide (hd0,1)
rootnoverify (hd0,0)
chainloader +1
title WinTesting (on /dev/hda2)
unhide (hd0,1)
hide (hd0,0)
rootnoverify (hd0,1)
chainloader +1
title VectorLinux (on /dev/hda6)
root (hd0,5)
kernel /boot/vmlinuz root=/dev/hda6 ro vga=773

Hope this is of help to some. A big thanks to saikee of JustLinux for his input. Would probably still be googling for a solution without his help. Thanks! I'm still trying to figure a way to get Win98SE on this NForce4 machine. If/when I do, I'll be sure to make another HowTo for it too. :)

Best Regards,

VL 5.1.1 SOHO, AsusA8N5X, 3500+ Venice, 2x512MB CorsairXMS, 120GB, 320GB
« Last Edit: January 09, 2007, 07:42:20 pm by DrCR »