XP and Vista on 2 Seperate Hard Drives

#1
Alrighty I have Windows XP and Windows Vista on 2 separate hard drives.

I currently have the BIOS to boot up into the Hard Drive that has Windows XP on it.

I've tried using Easy BCD to be able to allow a dual boot instead of going into the BIOS and changing which HD boots first.

In Windows XP the XP Drive is set to C: and Vista is set to E:

Can anyone guide me through how to configure Easy BCD on the XP Side (or Vista side if need be) to be used for 2 hard drives.

Thanks so much!

-Eric
 
#2
You need to put your Vista disk first in the BIOS, and use EasyBCD from Vista. :wink: Then its a simple matter of copying your XP boot files (boot.ini, ntldr, and ntdetect.com) into your "system" (as shown in Disk Management) partition's root, and adding a boot entry to your Vista bootloader, which can boot XP, making sure to select the "XP" option in the "Type" drop-down menu, and verifying that the new entry is pointed at your "system" partition, and not somewhere else.

GL and let me know how it goes. :smile:

-Coolname007
 
#4
You need to put your Vista disk first in the BIOS, and use EasyBCD from Vista. :wink: Then its a simple matter of copying your XP boot files (boot.ini, ntldr, and ntdetect.com) into your "system" (as shown in Disk Management) ...

GL and let me know how it goes. :smile:

-Coolname007
Where can these files (boot.ini, ntldr, and ntdetect.com?) be found on the XP drive?!?
 

Terry60

Knows where his towel is.
Staff member
#5
Hi Weslee, welcome to NST.
They're in the root of your XP partitition e.g. x:\NTLDR. (where x= the letter assigned to your XP partition from wherever you're looking)
If you can't see them, go into folder options and unhide system and hidden files and extensions for known file types. MS tries to keep them invisible by default.
 
#6
Thanks for the quick reply. This forum is very impressive.
I found the files: "ntldr" and "ntdetect", but not in the root of the drive, I actually found them in >I:\WINDOWS\ServicePackFiles\i386<, and in the same folder, I came across a "bootcfg" file, but no "boot.ini" either on the root of my I Drive or in the i386 folder. I'll copy those three files I found into the root of my [C Drive] and see if XP will boot then.
. . .
Okay, turns out the bootcfg file was no good (invalid). That was the first thing I saw when I tried booting into XP again. Second, I got a message reading as follows: Windows could not start because the folowing file is missing or corrupt: <Windowsroot>/system32/ntoskrnl.exe.
Please re-install a copy of the above file.

Anybody know what to do now?
 
Last edited:
#7
Thanks for the quick reply. This forum is very impressive.
I found the files: "ntldr" and "ntdetect", but not in the root of the drive, I actually found them in >I:\WINDOWS\ServicePackFiles\i386<, and in the same folder, I came across a "bootcfg" file, but no "boot.ini" either on the root of my I Drive or in the i386 folder. I'll copy those three files I found into the root of my [C Drive] and see if XP will boot then.
. . .
Okay, turns out the bootcfg file was no good (invalid). That was the first thing I saw when I tried booting into XP again. Second, I got a message reading as follows: Windows could not start because the folowing file is missing or corrupt: <Windowsroot>/system32/ntoskrnl.exe.
Please re-install a copy of the above file.

Anybody know what to do now?
Hi weslee_snipes.
If you don't have a boot.ini file, it means you will need to create one, using the following format:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /NOEXECUTE=OPTIN /fastdetect
And simply replace the rdisk (0) and partition (1) values with the correct ones in your case (if not already correct), making sure to change them in both lines.

Copy the above text into a Notepad document, and save it as "boot.ini" without the quotes, and then put it in the root of your "system" partition. And then it should boot fine, providing the rdisk and partition values are correct. If you still get errors, then take a look at the troubleshooting XP section of our wiki:

Troubleshooting Windows XP - NeoSmart Technologies Wiki

Let us know if you have any more questions, or if this does it for you. :smile:

-Coolname007
 
Last edited:
#8
nvm the previous issue, it turns out that hidden OS files are hidden separately from ordinary hidden files and I've found all three now, but the other problem still persists. I've found the file on both my xp and vista hard discs, and am not sure what the proper course of action is.
 
Last edited:

JustinW

Super Moderator
Staff member
#9
First you will need to disable read only on them. Right click on them and select properties and unchk read only. You can than open the file in notepad for editing. Modify your rdisk() and partition() values. Valid partition() values are 1 and up and you need to change both the OS line under [Operating Systems] and the line default=... under [boot loader] to reflect the same thing.
 
#10
Are you still talking about ntoskrnl.exe?!? The problem I was referring to is the message I get when I choose Windows XP as my OS on startup. As posted above, the message reads:

Windows could not start because the following file is missing or corrupt: <Windowsroot>/system32/ntoskrnl.exe.
Please re-install a copy of the above file.

I have found that file on the XP drive at: I:\WINDOWS\system32, and I also found a file of the same name on my Vista drive at C:\Windows\System32. Which file am I supposed to re-install a copy of (the Vista or the XP one) and where should I get a good copy of that file?
 
Last edited:
#11
Are you still talking about ntoskrnl.exe?!? The problem I was referring to is the message I get when I choose Windows XP as my OS on startup. As posted above, the message reads:

Windows could not start because the following file is missing or corrupt: <Windowsroot>/system32/ntoskrnl.exe.
Please re-install a copy of the above file.

I have found that file on the XP drive at: I:\WINDOWS\system32, and I also found a file of the same name on my Vista drive at C:\Windows\System32. Which file am I supposed to re-install a copy of (the Vista or the XP one) and where should I get a good copy of that file?
That error is a bit confusing. :wink: Its often because the boot.ini is wrong, as in the rdisk ( ) and partition ( ) values not being correct in your case. As has already been mentioned, you will need to find the right values to enter in your boot.ini in order to get it to boot into XP correctly. Justin was referring to the boot.ini file, as am I.

See our wiki for more info on errors with booting into XP:

Troubleshooting Windows XP - NeoSmart Technologies Wiki

-Coolname007
 
Last edited:

JustinW

Super Moderator
Staff member
#12
The boot.ini files you need to work with are at the root of your partitions. Modifying any copies in the Windows directory won't change anything. If you can't find them, you need to enable viewing of hidden and protected operating system files in folder options.
 
#13
Hopefully, you can see an attached image indicating the correct values of my Windows XP drive/ partition. My boot.ini file says the exact same thing as the example posted above, and I believe it is correct. Let me know if I'm wrong or if you can't see the attached image.
:ldown: - The 80BG Drive has XP(32 bit) installed and the 750GB one has Vistax64 on it.
 

Attachments

Last edited:

Terry60

Knows where his towel is.
Staff member
#14
I'm guessing your XP drive is IDE and Vista is SATA.
You are booted from Vista in your screenshot (boot system active flags all on) and thats obviously rdisk(0), making XP rdisk(1).
It's in the sticky.
NTLDR gets the disk numbers from the BIOS. It doesn't care what Vista calls them
Vista has a problem/flaw/bug/characteristic of numbering IDE before SATA no matter what the BIOS order is.
Windows 7, happily has removed this confusing behaviour.
 
Last edited:

mqudsi

Mostly Harmless
Staff member
#15
Terry: Windows 7 unfortunately did NOT fix the issue.... It justs lists SATA drives first and IDE drives second, reversing the problem :frowning:
 
#16
Hopefully, you can see an attached image indicating the correct values of my Windows XP drive/ partition. My boot.ini file says the exact same thing as the example posted above, and I believe it is correct. Let me know if I'm wrong or if you can't see the attached image.
:ldown: - The 80BG Drive has XP(32 bit) installed and the 750GB one has Vistax64 on it.
Try putting your XP boot files into C: and then pointing the XP entry there in EasyBCD, and it should work.

GL and let us know if it fixes the problem, or if you still have difficulties.

-Coolname007
 
Last edited:
#17
My XP entry is already pointed to my C drive in EasyBCD, and boot.ini, ntldr, and ntdetect are already there. So, unless there are other boot files I don't know of, I've already done that.

In my bios, under Hard disk boot priority, it says:
1. Ch2 M. : Hitachi . . . (that's the Vista drive)
2. Ch0 S. : St380011A (that's the XP drive)

So, to correct my boot.ini file, hopefully all I have to do is change the 0's in the "default" line to 2's. That's what I get out of it anyway. Can someone confirm this will make my dual- boot work? So you don't have to go back to the previous page to see, the text in my boot.ini file(unchanged by me) currently says:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /NoExecute=OptIn

I think I'm getting close now so thanks everyone who has posted help on this thread you guys are all great! :smile:
 
Last edited:
#18
My XP entry is already pointed to my C drive in EasyBCD, and boot.ini, ntldr, and ntdetect are already there. So, unless there are other boot files I don't know of, I've already done that.

In my bios, under Hard disk boot priority, it says:
1. Ch2 M. : Hitachi . . . (that's the Vista drive)
2. Ch0 S. : St380011A (that's the XP drive)

So, to correct my boot.ini file, hopefully all I have to do is change the 0's in the "default" line to 2's. That's what I get out of it anyway. Can someone confirm this will make my dual- boot work? So you don't have to go back to the previous page to see, the text in my boot.ini file(unchanged by me) currently says:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /NoExecute=OptIn

I think I'm getting close now so thanks everyone who has posted help on this thread you guys are all great! :smile:
Yeah...go ahead and change the rdisk values to 1 in both lines (since the disk counting begins the count at 0, not 1), and that should do it. :smile:
You almost have a dual-boot! :grinning:

-Coolname007

EDIT: Never mind...looking back on the previous page at your Disk Management screenshot, I see your XP disk is 0, not 1. In that case, then leave it at 0 still...
Maybe you were talking about the partition values? if so, then you would need to change it in both lines, not just the default, if it is indeed wrong.
 
Last edited:

JustinW

Super Moderator
Staff member
#19
Acording to your posted boot priority, XP's drive is second, so rdisk() should be 1 or greater depending on how many drives you got...
 
#20
Alright now boot.ini says this:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /NoExecute=OptIn

I'm going ahead and attempting my dual boot now (fingers crossed) and I'll get back here right away! =D