Multiboot: XP won't work after replacing system-start HDD, but 7 does

I already posted this problem at Sevenforums, but no suggestions worked, so maybe YOU can help. I'm a techie, but this one has me stumped:

The computer is a multibooting Gigabyte MOBO 8VM800M. The system HDD on IDE0, a master 40Mb Maxtor IDE, died with the sporadic HAL.DLL error, so I xcopied all its system/active OS-load partition I: content to a backup folder on another drive before it went completely incommunicado. I found a working HDD of the same type/capacity, so swapped out, put a Win 7 MBR on it, DISKPARTed and formatted its partitions the same as the dead one, the first as FAT32 after having flagged it as system and active, and copied back the backed-up stuff (which includes Win 98SE, but I seldom use it).

I also have Intel SSD and Maxtor SATA drives, both of which are formatted into four partitions, C: D: E: and F:, and N: O: P: Q:, respectively (the latter volume is a desperation backup in case the SSD crashes). Last two partitions on each are XP and Win7, respectively; and Win 7 starts fine off both, but not XP SP3, which worked fine before. The BOOT.INI entry for XP shown below isn't even seen in the boot menu (the second is disabled, as you can see). NTLDR and NTDETECT.COM are both in I:\, as is the BCD, in its \BOOT folder, as before. I:\BOOT.INI has

[boot loader]
[operating systems]
multi(0)disk(0)rdisk(2)partition(3)\WINDOWS=" ...on the SSD"
;multi(0)disk(0)rdisk(1)partition(3)\WINDOWS=" ...on the rotary"
c:\BOOTSECT.W98=" Windows 98SE (on 40Gb IDE only)"

ARCpaths.exe returns what's shown for the first above [operating systems] path for E:, which is the XP SSD installation, and E:\WINDOWS is the unchanged OS folder.
So, in case EasyBCD could find another way of starting XP, I ran it and asked for a new entry to be created for XP, but it returns the error dialog that says

"EasyBCD failed to detect a valid installation of Windows NT-2003 on all mounted drives..."

XP loaded fine off of E: or P: before, and both drives are error free, mounted, and accessible.

I even booted the XP installation DVD, went into Recovery Console, and ran fixboot E:, but that didn't help.

That tells me there's something obscure related to the HDD replacement that's not allowing the boot process even to SEE the XP partitions, so the OS choice isn't allowed to present at all.
I do see the last BOOT.INI entry for 98SE, though.

What else should I troubleshoot? Thanks!


The solution was obscure, if obvious: the {NTLDR} object was missing from the BCD, so it was not possible to have it start XP from bootmgr. To enable it, I performed the following procedure, as customized for my machine:

  • Bcdedit /create {ntldr} /d "Earlier OSes via NTLDR" /*create boot-menu entry obj
  • Bcdedit /set {ntldr} device partition=I: /*where my NTLDR is
  • Bcdedit /set {ntldr} path \ntldr /*invoke it from the root
  • Bcdedit /displayorder {ntldr} /addlast /*make it bottom menu entry
After rebooting, it worked flawlessly. BTW, the utility ArcPaths.exe is essential to ensure that the ARC paths in BOOT.INI point to the right volumes. Google for it to download. I got it at


If you're going through hell, keep going.
Staff member
Sounds similar to a Startup Repair using a system disk, glad you fixed it.
Last edited: