I installed Vista on a entirely separate hard drive because I did not want the Vista bootloader on my XP drive, or any mingling of the OSes at all. To remind everyone, to do this right, you must have already installed Vista with your Vista drive as your system drive - that is, you installed Vista with your BIOS boot order and bootable device set so the Vista drive is FIRST. If you haven't done this, as you probably know, Vista has already installed its bootloader files on your XP drive, and you will have a heck of a time changing back (fixing the bootloader is easy, but you can't easily remove the hidden "boot" folder or "bootmgr" program - they are protected, even in XP and DOS mode.) It is possible to recover from this situation, but that's another topic. (Here's one hint: if you install Vista, the fail-safe thing to do without touching the BIOS is to simply physically unplug all your other hard drives.)
Fine, but switching the boot order in BIOS (I can just hit F8 to get a list of devices to boot from but I miss it all the time) is annoying. Here's how to get your XP to boot from your Vista drive, insuring no Vista files and no bootloader are on your XP disk.
1) In BIOS, set your Vista drive as the boot drive. You should also have a list of bootable drives in BIOS under your boot menu that is not the boot order. This screen determines which hard drives will appear in the actual boot order settings (on my mobo, you have a maximum of 4 bootable hard drives, so this lets you choose) and I believe, assigns the "pre-OS" disk numbers that you will use later. If you can, make your XP drive the second device in this screen but this isn't totally necessary. After you've followed the rest of my steps you'll never have to enter the BIOS again to change the boot drive.
2) Get VistaBootPro and install it on your Vista system.
2) Copy these files from the root of XP drive to the root of your Vista drive: ntldr, ntdetect.com, boot.ini. Open Properties for boot.ini, and uncheck the "read only" box. We will be editing this later.
3) In Vista, right-mouse "My Computer," select "Manage" and then double-click "Storage" and then Disk Management. You will now see your disks. We need the numbers attached to them. Note your Vista boot drive will always be "disk 0." Make a mental note of the disk number of your XP drive. If you have correctly set XP in BIOS to be the second possible boot drive, it should be displayed as "Disk 1".
4) Open the boot.ini in the Vista root, and change rdisk(0) to rdisk(1), or whatever number your XP drive was in Disk Management. You should not have to change the partition, since your boot partition is already set correctly. Mine looks like this:
[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /NOEXECUTE=OPTIN /FASTDETECT /TUTAG=FNUBFR /KERNEL=TUKERNEL.EXE
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Home Edition (TuneUp Backup)" /NOEXECUTE=OPTIN /FASTDETECT /TUTAG=FNUBFR-BAK
Yours may not have a timeout option. I would include this line to help you troubleshoot (or easily enter safe mode), and I have my boot.ini like this because on my XP system I use a desktop mod (TuneUp Styler) which lets me boot into a backup of the desktop in case of a problem with icons or the graphics mods it makes.
5) Start VistaBootPro and click "Manage OS Entries." Click "Add New Operating System." Change OS Type to "Windows Legacy" and "OS Name" to "Windows XP" or whatever you want to call it, ie., "Junky Old XP." Change drive letter to C:, this makes sure that C: will be assigned to your XP drive. Adjust the timeout to whatever you want, Vista will automatically boot once the timeout is up. Click "Apply."
6) Reboot! You will get the Vista bootloader, when you select Windows XP, XP will boot right up. Now you don't have to screw with the Vista bootloader, and you won't have Vista files on your XP drive.
The key here is the disk number in boot.ini, which tells XP which drive to boot from. After you make these changes, I believe if you screw with your BIOS drive order, it will no longer work correctly, since your drives will be assigned new disk numbers. Let me know if this works for you, I'll try to help you if I can. If you are using Linux, or some other bootloader program don't ask me, I can't help you. These instructions are for vanilla XP/Vista systems.
This makes Vista your default OS. There is no way to make XP your default OS because as far as I know you can not use the XP bootloader and boot.ini to start Vista. If anyone knows anything different, let me know...
Fine, but switching the boot order in BIOS (I can just hit F8 to get a list of devices to boot from but I miss it all the time) is annoying. Here's how to get your XP to boot from your Vista drive, insuring no Vista files and no bootloader are on your XP disk.
1) In BIOS, set your Vista drive as the boot drive. You should also have a list of bootable drives in BIOS under your boot menu that is not the boot order. This screen determines which hard drives will appear in the actual boot order settings (on my mobo, you have a maximum of 4 bootable hard drives, so this lets you choose) and I believe, assigns the "pre-OS" disk numbers that you will use later. If you can, make your XP drive the second device in this screen but this isn't totally necessary. After you've followed the rest of my steps you'll never have to enter the BIOS again to change the boot drive.
2) Get VistaBootPro and install it on your Vista system.
2) Copy these files from the root of XP drive to the root of your Vista drive: ntldr, ntdetect.com, boot.ini. Open Properties for boot.ini, and uncheck the "read only" box. We will be editing this later.
3) In Vista, right-mouse "My Computer," select "Manage" and then double-click "Storage" and then Disk Management. You will now see your disks. We need the numbers attached to them. Note your Vista boot drive will always be "disk 0." Make a mental note of the disk number of your XP drive. If you have correctly set XP in BIOS to be the second possible boot drive, it should be displayed as "Disk 1".
4) Open the boot.ini in the Vista root, and change rdisk(0) to rdisk(1), or whatever number your XP drive was in Disk Management. You should not have to change the partition, since your boot partition is already set correctly. Mine looks like this:
[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /NOEXECUTE=OPTIN /FASTDETECT /TUTAG=FNUBFR /KERNEL=TUKERNEL.EXE
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Home Edition (TuneUp Backup)" /NOEXECUTE=OPTIN /FASTDETECT /TUTAG=FNUBFR-BAK
Yours may not have a timeout option. I would include this line to help you troubleshoot (or easily enter safe mode), and I have my boot.ini like this because on my XP system I use a desktop mod (TuneUp Styler) which lets me boot into a backup of the desktop in case of a problem with icons or the graphics mods it makes.
5) Start VistaBootPro and click "Manage OS Entries." Click "Add New Operating System." Change OS Type to "Windows Legacy" and "OS Name" to "Windows XP" or whatever you want to call it, ie., "Junky Old XP." Change drive letter to C:, this makes sure that C: will be assigned to your XP drive. Adjust the timeout to whatever you want, Vista will automatically boot once the timeout is up. Click "Apply."
6) Reboot! You will get the Vista bootloader, when you select Windows XP, XP will boot right up. Now you don't have to screw with the Vista bootloader, and you won't have Vista files on your XP drive.
The key here is the disk number in boot.ini, which tells XP which drive to boot from. After you make these changes, I believe if you screw with your BIOS drive order, it will no longer work correctly, since your drives will be assigned new disk numbers. Let me know if this works for you, I'll try to help you if I can. If you are using Linux, or some other bootloader program don't ask me, I can't help you. These instructions are for vanilla XP/Vista systems.
This makes Vista your default OS. There is no way to make XP your default OS because as far as I know you can not use the XP bootloader and boot.ini to start Vista. If anyone knows anything different, let me know...