Jump to content

Dualbooting Windows Vista and Windows XP x64 (with Vista installed fir


WinClient5270

Recommended Posts

Hey everyone. I am wanting to dualboot Windows Vista Ultimate x64 with Windows XP x64 (or possibly Windows Server 2003), with Windows Vista already installed first. I was wondering if there was anyway to do this without corrupting Windows VIsta's bootloader, as I've heard that installing XP alongside Vista (with Vista installed first) will result in Vista's bootloader being corrupted.

Any help would be appreciated.

Thanks.

Link to comment
Share on other sites


Well, you either have some confused sources or you are confused by the terminology (which can be confusing).

 

Vista uses BOOTMGR which is both a bootloader and a bootmanager.

XP uses NTLDR which is both a bootloader and a bootmanager.

 

These files won't be changed (not corrupted) at install, but the bootsector code that load the one or the other will.

 

As well, the configuration file for Vista which is \boot\BCD would normally be automatically updated to include an entry for a "previous" XP install.

 

The normal booting of Vista is:

BIOS->MBR->PBR of active partition->BOOTMGR->Choices in \boot\BCD->Winload.exe->Windows Vista

 

The normal booting of XP is:

BIOS->MBR->PBR of active partition->NTLDR->Choices in \BOOT.INI->NTDETECT.COM->Windows XP

 

The normal booting of Vista and XP in dual boot (when VIsta is installed AFTER the XP is:

BIOS->MBR->PBR of active partition->BOOTMGR->Choices in \boot\BCD->Winload.exe->Windows Vista

BIOS->MBR->PBR of active partition->BOOTMGR->Choices in \boot\BCD->NTLDR->NTDETECT.COM->Windows XP

 

So there are three key changes to observe.

When the Vista is installed after XP it will:

  1. change the MBR code (but this won't have any effect unless the existing MBR is one of the special ones allowing for a recovery partition)
  2. change the PBR code (that will now invoke BOOTMGR instead of NTLDR
  3. add to the \boot\BCD an entry for loading the WIndows XP

 

When the XP is installed after Vista it will:

  1. change the MBR code (but this won't have any effect unless the existing MBR is one of the special ones allowing for a recovery partition)
  2. change the PBR code (that will now invoke NTLDR instead of BOOTMGR)

So, the "right" way to add an XP to an already Vista installed system is:

  1. backup the "Vista" MBR
  2. backup the "Vista" PBR
  3. install the XP
  4. boot to the XP
  5. backup the "XP" MBR (you never know)
  6. backup the "XP" MBR (you never know)
  7. restore the "Vista" MBR and PBR
  8. reboot to Vista
  9. add to the Vista \boot\BCD an entry to boot the XP

There are several ways to perform the above, if you have a bootable Vista DVD, (though I recommend anyway to backup both XP and Vista MBR and PBR) you can use it to perform #7-9 (I believe that the XP install would be added to \boot\BCD automatically, but I may be wrong but in any case you can use bcdedit to add the entry).

 

To backup and restore the MBR and PBR sectors you can use *any* disk editor or a dd like program, or the GUI Hdhacker:
http://dimio.altervista.org/eng/

 

You can also alternatively use the built-in in Vista bootsect.exe to change the PBR code (the Vista version of bootsect.exe won't change the MBR code) and MBRFIX:

http://www.sysint.no/nedlasting/mbrfix.htm

 

These latter will simply write the XP or Vista Code to the MBR and PBR (leaving the data untouched).

 

jaclaz

Link to comment
Share on other sites

Well, you either have some confused sources or you are confused by the terminology (which can be confusing).

 

Vista uses BOOTMGR which is both a bootloader and a bootmanager.

XP uses NTLDR which is both a bootloader and a bootmanager.

 

These files won't be changed (not corrupted) at install, but the bootsector code that load the one or the other will.

 

As well, the configuration file for Vista which is \boot\BCD would normally be automatically updated to include an entry for a "previous" XP install.

 

The normal booting of Vista is:

BIOS->MBR->PBR of active partition->BOOTMGR->Choices in \boot\BCD->Winload.exe->Windows Vista

 

The normal booting of XP is:

BIOS->MBR->PBR of active partition->NTLDR->Choices in \BOOT.INI->NTDETECT.COM->Windows XP

 

The normal booting of Vista and XP in dual boot (when VIsta is installed AFTER the XP is:

BIOS->MBR->PBR of active partition->BOOTMGR->Choices in \boot\BCD->Winload.exe->Windows Vista

BIOS->MBR->PBR of active partition->BOOTMGR->Choices in \boot\BCD->NTLDR->NTDETECT.COM->Windows XP

 

So there are three key changes to observe.

When the Vista is installed after XP it will:

  1. change the MBR code (but this won't have any effect unless the existing MBR is one of the special ones allowing for a recovery partition)
  2. change the PBR code (that will now invoke BOOTMGR instead of NTLDR
  3. add to the \boot\BCD an entry for loading the WIndows XP

 

When the XP is installed after Vista it will:

  1. change the MBR code (but this won't have any effect unless the existing MBR is one of the special ones allowing for a recovery partition)
  2. change the PBR code (that will now invoke NTLDR instead of BOOTMGR)

So, the "right" way to add an XP to an already Vista installed system is:

  1. backup the "Vista" MBR
  2. backup the "Vista" PBR
  3. install the XP
  4. boot to the XP
  5. backup the "XP" MBR (you never know)
  6. backup the "XP" MBR (you never know)
  7. restore the "Vista" MBR and PBR
  8. reboot to Vista
  9. add to the Vista \boot\BCD an entry to boot the XP

There are several ways to perform the above, if you have a bootable Vista DVD, (though I recommend anyway to backup both XP and Vista MBR and PBR) you can use it to perform #7-9 (I believe that the XP install would be added to \boot\BCD automatically, but I may be wrong but in any case you can use bcdedit to add the entry).

 

To backup and restore the MBR and PBR sectors you can use *any* disk editor or a dd like program, or the GUI Hdhacker:

http://dimio.altervista.org/eng/

 

You can also alternatively use the built-in in Vista bootsect.exe to change the PBR code (the Vista version of bootsect.exe won't change the MBR code) and MBRFIX:

http://www.sysint.no/nedlasting/mbrfix.htm

 

These latter will simply write the XP or Vista Code to the MBR and PBR (leaving the data untouched).

 

jaclaz

Thanks a lot for the help.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...