XP and Vista dual boot issue

zBobG

Member
Well, I finally got around to installing Vista Home Premium 64 bit. It did install without any problems on a new empty harddisk using the method described here (using two installs). I do have a slight problem with the dualboot setup though - it won't dualboot.

This may be because I installed Vista by changing the boot priority of the harddisks in BIOS. Normally I have the drive containing XP as the bootdisk, when installing Vista I moved the empty harddisk to the bootdisk "slot" to make it the "C" disk and moved the XP disk down in the boot priority.

So... The Vista bootloader was written to the (previously) empty harddisk and that harddisk now contains a partition with Vista on it. The old "C" drive (now "M") still has the XP installation and an XP bootloader. The Vista install did not modify the XP bootloader - I am able to restore the harddisk boot priority so that XP boots, I'm writing this from XP now.

I installed VistaBootPro (into Vista) and oddly on starting up it said that it could not find a copy of Vista, it's running in Vista for Pete's sake! Anyway I went ahead and added an entry for WinXP with the "M" drive designation (I had renamed the harddrives in Drive Management) and when booting I get a menu to select WinXP but when the XP entry is selected the computer just reboots - i.e. no Windows XP. This may be because I renamed the drives in Disk Management, I've forgotten what the "native" drive ID is for that partition - it might be "D", I haven't tried that yet.

Anyway, moving the bootdisk priority in BIOS does allow booting either Vista or XP, but it's not very convenient. So the question is whether the Vista dualboot bootloader needs to reference the harddisks by their plain vanilla "native" drive/partition IDs as you might see them in a DOS environment rather than by the IDs as seen inside the Windows OS (because you can rename them inside Windows)?

Or... Should I try installing VistaBootPro into XP and using the "install XP after Vista" solution for resolving the dualboot problem? The question is whether Vista will complain that its harddisk is no longer the bootdisk (drive "C" in the BIOS)?
 
Last edited:

My Computer

System One

  • Manufacturer/Model
    Gigabyte
    CPU
    e6600
    Motherboard
    Ga-965p-DS3
    Memory
    4Gb
    Graphics Card(s)
    BFG nv9800GTX-OC
    Sound Card
    X-Fi Fatal1ty
    Monitor(s) Displays
    Samsung 226CW
    Screen Resolution
    1680x1050
    Hard Drives
    Maxtor 1Tb
    Maxtor 500Gb
    Maxtor 300Gb
    Maxtor 120Gb
    PSU
    Antec 650W
    Cooling
    Zalman 9700
    Keyboard
    G15
    Mouse
    MX518
    Internet Speed
    330Kbps down
Well, I finally got around to installing Vista Home Premium 64 bit. It did install without any problems on a new empty harddisk using the method described here (using two installs). I do have a slight problem with the dualboot setup though - it won't dualboot.

This may be because I installed Vista by changing the boot priority of the harddisks in BIOS. Normally I have the drive containing XP as the bootdisk, when installing Vista I moved the empty harddisk to the bootdisk "slot" to make it the "C" disk and moved the XP disk down in the boot priority.

So... The Vista bootloader was written to the (previously) empty harddisk and that harddisk now contains a partition with Vista on it. The old "C" drive (now "M") still has the XP installation and an XP bootloader. The Vista install did not modify the XP bootloader - I am able to restore the harddisk boot priority so that XP boots, I'm writing this from XP now.

I installed VistaBootPro (into Vista) and oddly on starting up it said that it could not find a copy of Vista, it's running in Vista for Pete's sake! Anyway I went ahead and added an entry for WinXP with the "M" drive designation (I had renamed the harddrives in Drive Management) and when booting I get a menu to select WinXP but when the XP entry is selected the computer just reboots - i.e. no Windows XP. This may be because I renamed the drives in Disk Management, I've forgotten what the "native" drive ID is for that partition - it might be "D", I haven't tried that yet.

Anyway, moving the bootdisk priority in BIOS does allow booting either Vista or XP, but it's not very convenient. So the question is whether the Vista dualboot bootloader needs to reference the harddisks by their plain vanilla "native" drive/partition IDs as you might see them in a DOS environment rather than by the IDs as seen inside the Windows OS (because you can rename them inside Windows)?

Or... Should I try installing VistaBootPro into XP and using the "install XP after Vista" solution for resolving the dualboot problem? The question is whether Vista will complain that its harddisk is no longer the bootdisk (drive "C" in the BIOS)?

To be serious, I'd remove XP entirely. But thats just me....

To get Vista and XP to dual boot properly, what I'd suggest is the following:
  1. Reset the boot order in your BIOS so that it boots CD/DVD then HARD DISK. The point being to have XP be the primary boot drive.
  2. Verify that XP is booting normally, and when booted is C:
  3. Insert your Vista DVD and reboot. Allow the computer to boot from the DVD
  4. When selecting the Install Location, specify the second hard disk, and then format it.
  5. Allow the Vista install to complete.
Now, when you boot into XP, the drives will be as follows:
  • C: (XP)
  • D: (Vista)
When you boot into Vista, the drives will be as follows:
  • C: (Vista)
  • D: (XP)
Using this method, you won't need to use any third-party software. Although if your experience is anything like mine was, you'll discover that you haven't booted into XP for several weeks, and you'll wind up re-installing only Vista.
 

My Computer

System One

  • Manufacturer/Model
    Custom Build
    CPU
    AMD Phenom 9600 Quad
    Motherboard
    ASUS MB-M3A32-MVP Deluxe/WiFi
    Memory
    2 x A-Data 2GB DDR2-800
    Graphics Card(s)
    ASUS ATI Radeon HD 2400PRO
    Monitor(s) Displays
    SAHARA 21"
    Screen Resolution
    1600x1200
    Hard Drives
    2 x 80GB Seagate (I)
    2 x 120GB Seagate (I/S)
    2 x 200GB Seagate (I/S)
    2 x 250GB Seagate (I/S)
    PSU
    800W
    Case
    Thermaltake Tai-Chi
    Cooling
    Tai-Chi Water Cooler
    Keyboard
    Genius
    Mouse
    Logitech
    Internet Speed
    384kbps
    Other Info
    Currently dual booting between Vista x64 Ultimate Windows 7 BETA x64
@Dzomlija - What you suggest is basically a reinstall which is what I don't want to do, partly because my XP is 32bit and my Vista is 64bit and I don't want to mess up the XP MBR.

Anyway this problem is solved - I found I could use a simple and easy solution that works using EasyBCD.

System setup:
HD 0 partition 1 = XP 32bit, with XP MBR on harddisk.
HD 1 partition 1 = Vista 64, with Vista MBR on harddisk.

The problem:
I was swapping harddisk boot priority in BIOS to boot either OS, this was inconvenient so I needed to set up a dualboot. Ordinarily you would install Vista over (or from) XP so that the HD 0 remained the boot disk. Well, you can't install Vista 64 from XP 32bit so I'd installed Vista on a new empty harddisk (a different disk than the disk that XP is on). This allows booting to both XP and Vista but only by reassigning which harddisk is the boot disk in BIOS. There has also been the question of whether it is even possible to dualboot Vista 64 and XP 32. As it turns out that's not a problem.

The Solution:

In the BIOS harddisk boot priority, make the Vista 64 harddisk the system boot disk (HD 0,1), make the XP 32 harddisk the second harddisk (HD 1,1), make no other changes to the XP disk. Boot the computer, it will run Vista 64. Copy the files boot.ini, ntldr, and ntdetect.com from the XP root folder to the root folder of the Vista partition.

Change the boot.ini IN THE VISTA PARTITION:
from --> multi(0)disk(0)rdisk(0)partition(1)
to ----> multi(0)disk(0)rdisk(1)partition(1)

Note the change from "rdisk(0)" to "rdisk(1)", this is changed in two lines in the boot.ini, it's very important that both entries match. The entry "rdisk(1)" says that the XP harddisk is the second disk in the BIOS order. The (original) boot.ini found in the root folder of the XP partition IS NOT CHANGED. If the boot priority is ever changed to make the XP harddisk the system bootdisk then the computer will still boot into XP without any changes.

Ensure that the Vista harddisk is the system bootdisk in BIOS. Boot into Vista 64 if it's not already running. Now install EasyBCD into Vista 64 (not XP), it may complain that it can't find a copy of Vista, ignore that. Add the OS entry for XP, EasyBCD just needs to be told that the OS "type" is XP, it will set the drive - that means that it doesn't matter what the drive letter is for the XP harddisk (inside Vista). Actually it finds the XP boot files it needs in the Vista root folder, recall that they were copied there.

Now, restart Vista and the multiboot menu will have a Windows XP entry that actually works, it will boot into 32bit XP and the XP will run properly as drive "C:".

Why go to all this trouble? Because you do not want to mess with the XP MBR and because you cannot install Vista 64bit from XP 32bit. My next project is installing Windows 7 from Vista 64 - I hope it goes well.
 

My Computer

System One

  • Manufacturer/Model
    Gigabyte
    CPU
    e6600
    Motherboard
    Ga-965p-DS3
    Memory
    4Gb
    Graphics Card(s)
    BFG nv9800GTX-OC
    Sound Card
    X-Fi Fatal1ty
    Monitor(s) Displays
    Samsung 226CW
    Screen Resolution
    1680x1050
    Hard Drives
    Maxtor 1Tb
    Maxtor 500Gb
    Maxtor 300Gb
    Maxtor 120Gb
    PSU
    Antec 650W
    Cooling
    Zalman 9700
    Keyboard
    G15
    Mouse
    MX518
    Internet Speed
    330Kbps down
@Dzomlija - What you suggest is basically a reinstall which is what I don't want to do, partly because my XP is 32bit and my Vista is 64bit and I don't want to mess up the XP MBR.

Anyway this problem is solved - I found I could use a simple and easy solution that works using EasyBCD.

System setup:
HD 0 partition 1 = XP 32bit, with XP MBR on harddisk.
HD 1 partition 1 = Vista 64, with Vista MBR on harddisk.

The problem:
I was swapping harddisk boot priority in BIOS to boot either OS, this was inconvenient so I needed to set up a dualboot. Ordinarily you would install Vista over (or from) XP so that the HD 0 remained the boot disk. Well, you can't install Vista 64 from XP 32bit so I'd installed Vista on a new empty harddisk (a different disk than the disk that XP is on). This allows booting to both XP and Vista but only by reassigning which harddisk is the boot disk in BIOS. There has also been the question of whether it is even possible to dualboot Vista 64 and XP 32. As it turns out that's not a problem.

The Solution:

In the BIOS harddisk boot priority, make the Vista 64 harddisk the system boot disk (HD 0,1), make the XP 32 harddisk the second harddisk (HD 1,1), make no other changes to the XP disk. Boot the computer, it will run Vista 64. Copy the files boot.ini, ntldr, and ntdetect.com from the XP root folder to the root folder of the Vista partition.

Change the boot.ini IN THE VISTA PARTITION:
from --> multi(0)disk(0)rdisk(0)partition(1)
to ----> multi(0)disk(0)rdisk(1)partition(1)

Note the change from "rdisk(0)" to "rdisk(1)", this is changed in two lines in the boot.ini, it's very important that both entries match. The entry "rdisk(1)" says that the XP harddisk is the second disk in the BIOS order. The (original) boot.ini found in the root folder of the XP partition IS NOT CHANGED. If the boot priority is ever changed to make the XP harddisk the system bootdisk then the computer will still boot into XP without any changes.

Ensure that the Vista harddisk is the system bootdisk in BIOS. Boot into Vista 64 if it's not already running. Now install EasyBCD into Vista 64 (not XP), it may complain that it can't find a copy of Vista, ignore that. Add the OS entry for XP, EasyBCD just needs to be told that the OS "type" is XP, it will set the drive - that means that it doesn't matter what the drive letter is for the XP harddisk (inside Vista). Actually it finds the XP boot files it needs in the Vista root folder, recall that they were copied there.

Now, restart Vista and the multiboot menu will have a Windows XP entry that actually works, it will boot into 32bit XP and the XP will run properly as drive "C:".

Why go to all this trouble? Because you do not want to mess with the XP MBR and because you cannot install Vista 64bit from XP 32bit. My next project is installing Windows 7 from Vista 64 - I hope it goes well.


I have installed XP 32 bit on one hard drive an 'install Vista 64 bit on my second hard drive and never had any problems.
Vista, as newer operating system will see XP boot files, it will overwrite them but it will not destroy them. End result is boot screen with two options:
1 Earlier Version of Windows
2 Microsoft Vista Ultimate.
Where you went wrong is changing BIOS boot sequence. If you left alone you wouldn't have these problems.

For the record I am triple booting XP, Vista and Linux on my system using 3 500Gb hard drives
 

My Computer

System One

  • CPU
    Q6600
    Motherboard
    MSI P36 NEO2
    Memory
    4GB 5-5-5-12
    Graphics Card(s)
    8800GTS 512Mb Overclocked
    Sound Card
    5.1 surround sound
    Hard Drives
    500Gb Samsung SATAII XP
    500GB Samsung SATAII
    PSU
    1000W CoolerMaster power supply
    Case
    CoolerMaster Cosmos 1000 case
    Cooling
    120mm ThermalTake Big Typhoon CPU cooler, 3 x 120mm exhaust
    Keyboard
    Wireless Keyboard and mouse 3000
    Other Info
    1TB WD My Book Office edition external drive x 2, Dual layer LG DVD-Rom burner,
    15 in 1 card reader
    Triple boot: XP, Vista Ultimate 64 and Windows 7 Ultimate 64
Back
Top