Win7 and WinXP, dualboot, 2 separate hard drives, NTLDR error

#1
This is physical setup:
SATA1 connector is disk with XP
SATA2 connector is disk wth 7
note: i tried to change them also.

This is BIOS setup, boot order:
disk with 7 is first

This is how it looks in disk managment in Win7

Win 7 on C(40GB) partition
Win XP on D(25GB) drive

XP was already on that disk for some time, now i got another disk and installed Win7. I didn't get dual boot menu, as they say it will happen when you install 7 after XP.

I'm trying for past few days, and can't get it to work, I can get dual boot menu but when i select XP i get this error
Couldn't open drive multi(0)disk(0)rdisk(0)partition(1)
NTLDR: Couldn't open drive multi(0)disk(0)rdisk(0)partition(1)
This is content of boot.ini on C(win7) partition
; This boot.ini was automatically generated by NeoSmart Technologies' BootGrabber.exe
; Use EasyBCD from Download EasyBCD 2.0.2 - NeoSmart Technologies to manage your bootloader

[boot loader]
timeout=15
default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Windows XP on D:\" /fastdetect

and this is boot.ini from D(winXP)partition
[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 this is how it looks in veiw settings in EasyBCD(latest 2.1 build137) but it was same with version 2.0.2
There are a total of 2 entries listed in the bootloader.

Default: Windows 7
Timeout: 15 seconds
Boot Drive: C:\

Entry #1
Name: Windows 7
BCD ID: {current}
Drive: C:\
Bootloader Path: \Windows\system32\winload.exe

Entry #2
Name: Microsoft Windows XP
BCD ID: {fec2dfb4-5b0e-11e0-8047-811ba94e76cb}
Drive: C:\
Bootloader Path: \NST\ntldr

p.s. i also boot XP drive with winxp installation disk and go to repair and did fixboot, fixmbr, bootcfg /rebuild
after that i also boot 7 drive with win7 installation and go to repair, and tried; bootrec /RebuildBcd, but strangely it didn't found anything :smile:
 
Last edited:

Terry60

Knows where his towel is.
Staff member
#2
That looks OK, but the boot.ini in use is the wrong one (rdisk(0)).
I don't know how you managed that.
Try deleting the XP entry (edit boot menu) and add a new one (add new entry), letting EasyBCD auto-configure
 
#3
That looks OK, but the boot.ini in use is the wrong one (rdisk(0)).
I guess you are talking about boot.ini from partition which contain XP?


I don't know how you managed that.
Well when XP was installed ages ago, it was the only hard disk in PC, so that's why rdisk is 0


Try deleting the XP entry (edit boot menu) and add a new one (add new entry), letting EasyBCD auto-configure
Those entries are auto, meaning i only add-ed new entry, I didn't edit anything.


Ok, am I thinking right that boot.ini on XP drive should have rdisk(1), because during boot, boot.ini from Win7 drive is being processed first and it's pointing to partition D(XPdrive) and after that boot.ini on XPdrive is being processed, but as it's on the second hard drive(if we look by boot order) it's rdisk(1) not 0.

I know this sounds complicated, but i hope you understood me :smile:
 

Terry60

Knows where his towel is.
Staff member
#4
Yes , rdisk is 1, thats why the EasyBCD version on C says 1.
What I meant was how did you get to use the wrong boot.ini, not how did the XP boot.ini get to be rdisk 0. That's what it should be when you boot XP natively, but the multi-boot via W7, should be using the one on "system" (C).
Have you deleted and added again ?
 
#5
Ok, so i edited boot.ini on XP drive, and now it looks like 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" /noexecute=optin /fastdetect
then in easybcd i added XP entry again, and boot.ini on W7 drive looks like this(same as before as i can see)
; This boot.ini was automatically generated by NeoSmart Technologies' BootGrabber.exe
; Use EasyBCD from Download EasyBCD 2.0.2 - NeoSmart Technologies to manage your bootloader

[boot loader]
timeout=15
default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Windows XP on D:\" /fastdetect
When i select XP in boot menu i get exactly same error like before
Couldn't open drive multi(0)disk(0)rdisk(0)partition(1)
NTLDR: Couldn't open drive multi(0)disk(0)rdisk(0)partition(1)
EDIT:
The strange thing is what ever number i put for rdisk(), for both ini files, i get same NTLDR error when selecting XP from boot menu.

I have one(formated) disk which will be like backup and it's IDE disk, when i put it in pc(now it's out), and leave all settings same, and when i select XP from menu i get different error.
Invalid BOOT.INI file
Booting from C:\windows\
NTDETECT failed
Another strange thing is that i get same error if i leave that empty disk in pc, and remove/add XP entry in EasyBcd.
So what ever i do, boot menu is checking rdisk(0) when i select XP. As IDE disk is loading first, before SATA disks, so he has taken rdisk(0) place.
 
Last edited:

Terry60

Knows where his towel is.
Staff member
#6
NTLDR uses those values as defaults if it cannot see a boot.ini file.
I don't know why it's not seeing the one on C:
It's obviously not using the one on XP because it didn't see the changes you made.
(change that back to rdisk(0) btw, it's needed if you want to boot the XP drive from the BIOS),
 
#7
Hm, i even tried to copy ntldr from XP drive(as that one is working) to W7 drive, i also put it in the root of W7 drive thinking that it's having problems with reading it when it's in NST folder, and change path with this
bcdedit /set {ntldr} path \ntldr

But same problem, same error :frowning:

Do you have any idea why it is having problem with reading boot.ini in W7 drive?
 

Terry60

Knows where his towel is.
Staff member
#8
No I can't say I can spot anything untoward.
What you are doing is bread and butter stuff. EasyBCD does that thousands of times a week in all corners of the planet.
Normally "it's not working" posts are sorted in a few seconds by a quick peek at the Disk Management screen, to reveal an undeclared logical drive, a misplaced "system" partition, a switched "active" flag, a wrong BIOS sequence, or something of that ilk, but you seem to have covered everything there.
Can you verify that XP still boots OK if you switch the BIOS ?
 
#9
Yes XP can boot ok, if i set that hard drive in bios as first.

Now i have it like this
SATA1 connector is disk with XP
SATA2 connector is disk wth 7(fresh installed)
IDE1 is empty disk (backup)

Bios: SATA2, SATA1, IDE

Disk management


View settings in EasyBCD(all auto, no editing)
There are a total of 2 entries listed in the bootloader.

Default: Windows 7
Timeout: 30 seconds
Boot Drive: C:\

Entry #1
Name: Windows 7
BCD ID: {current}
Drive: C:\
Bootloader Path: \Windows\system32\winload.exe

Entry #2
Name: Microsoft Windows XP
BCD ID: {59a53432-5cd3-11e0-8655-d60c6b6d22cd}
Drive: C:\
Bootloader Path: \NST\ntldr
boot.ini from C partition(W7)
; This boot.ini was automatically generated by NeoSmart Technologies' BootGrabber.exe
; Use EasyBCD from Download EasyBCD 2.0.2 - NeoSmart Technologies to manage your bootloader

[boot loader]
timeout=15
default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Windows XP on D:\" /fastdetect

boot.ini from D partition(XP drive)
[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
note:i left it rdisk(1) so obviously now it can't boot into XP even if i set it as first boot drive.

When i sellect XP from boot menu i get this error now
Invalid BOOT.INI file
Booting from c:\windows\
NTDETECT failed
and i believe if i remove now that empty IDE disk, i will get that ntldr error i got at the beginning. (i will check as soon as i post this)
 
#11
hm, ok one weird question :smile:

i just moved boot.ini from my XP drive, and guess what. i can still boot into XP :grinning:

now how come that when i removed it i can boot into it, but when i change rdisk() i can't boot into it :smile:
 

Terry60

Knows where his towel is.
Staff member
#12
If there's no boot.ini, then NTLDR uses internal defaults (1st partition of the boot disk).
That works because that's where your XP is.
If there is a boot.ini, it will use it. If you modify that boot.ini to be incorrect, it will fail to boot.
 
#13
Tagging on this thread as it seems to mostly mirror my problems.

I get the NTDETECT failed error when I try to boot to WinXP. Booting to Win7 happens perfectly.

SATA0: Win7
SATA1: WinXP

Is there a file(s) that I have to copy from the XP drive to the Win7 drive? I can see NTDETECT.com and ntldr in the root directory of the XP drive -- do I copy these to the Win7 drive (and where)?

Sorry for the rookie question, but ... :wink:

-- Chuck
 

Terry60

Knows where his towel is.
Staff member
#14
Use EasyBCD 2, and tick the "automatic" box.
It does all that for you.
 
#15
Thanks. EasyBCD 2.0 didn't do it all, but did do most of it. Simply copying the two files I mentioned earlier today from the XP drive root directory to the Win7 root directory did.

Just seemed too simple. :happy:

-- Chuck
 
#16
And i think i found cause of my problems :smile:
Both SATA disks were set on AUTO in bios, in access mode section.
Disk with XP was reporting to duty as a LBA,ATA 100, but the one with W7 was LRG,ATA 100.
Changing BOTH disks to LARGE, and they are reporting as LRG,ATA 100 and dual boot works :smile:
But if i change order to boot XP only, it won't boot. Only after i change for that disk access mode to auto, it boots to XP

Here are differences.
Auto:
Cylinder 65535
Head 16
Precomp 0
Landing Zone 65534
Sector 255

LARGE:
Cylinder 4095
Head 240
Precomp 0
Landing Zone 65534
Sector 255

Is it suposed to be ATA100, isn't that for older IDE disks?