I want to add option to boot in XP into the Win8.1 boot menu.

So I have 2 drives:

  1. On the first one I have installed Windows 8.1 x64 UEFI;
  2. And on the second - Windows XP x64.

Following is what I tried to do:

  • I created a new boot entry from bcdedit tool with the partition where XP is installed & the path where the bootfile is (ntldr) but when I select the option I get the 0xC000007B error (which I believe is saying that this file is invalid).

  • I tried different settings including moving the ntldr file on another partition but nothing changes.

  • Then I tried loading C:\Windows\System32\winload.efi to test if the bootloader is actually doing something and it showed different error(0x00000025 I believe)!

  • I then concluded that only EFI files can be loaded so I tried adding CLOVER EFI but it showed the same message as using the ntldr (0xC000007B).

  • I tried disabling the secure boot from UEFI too if this could help but - nothing.

Here is a BCD configuration screen with the valid partition and ntldr path for WinXP (which doesn't work however):

BCD configuration screen

  • 3
    Windows XP has zero support for UEFI so you will have to install Windows 8.1 on a MBR partition and make sure legacy support is enabled. I suggest using a virtual machine for your Windows XP needs. – Ramhound Dec 16 '13 at 13:42
  • Sorry but I wouldn't like to use a virtual machine as I have spend days to install and include AHCI drivers to this version. Is there any way I could boot CLOVER EFI BOOTLOADER then. It is an UEFI image for x64 CPU, then why it is not booting??? – Nemo759 Dec 16 '13 at 13:48
  • 3
    Its not booting because Windows XP to my knowlege has no support for UEFI and GPT partitions. – Ramhound Dec 16 '13 at 13:52
  • @Nemo759 - Any luck on how this experiment worked out? – Alex S Aug 8 '16 at 12:16

Most (but not all) modern computers have EFIs that are reasonably flexible about boot mode (BIOS/CSM/legacy vs. EFI/UEFI). The trick is getting them to switch in a reasonable way. AFAIK, there are only two choices for this:

  • Using the firmware's boot manager -- Most EFIs provide a boot manager that you can access by hitting Esc or a function key. (Which key varies from one computer to another.) Using this feature, you can switch between boot loaders, including all the EFI boot loader(s) you've installed and at least one BIOS-mode boot loader.
  • Using rEFInd -- My rEFInd boot manager offers functionality similar to that just described, but it's a bit more accessible. To use it, though, you'll need to install rEFInd and edit the refind.conf file: Uncomment the scanfor line and ensure that hdbios is among the options.

In either case, you'll need to install Windows XP on an MBR-partitioned disk in a conventional BIOS manner. This means you'll need to adjust your firmware's settings to boot in BIOS/CSM/legacy mode and to disable Secure Boot. How you do this depends on your particular firmware, so I can't be more specific than this. I recommend unplugging your Windows 8.1 disk when installing Windows XP, to minimize the risk of problems. Also, you may need to ensure that your Windows XP disk appears to be the first disk to the computer, which may mean juggling drive cables.

Once XP and 8.1 are both installed (I assume 8.1 was pre-installed), you should ensure that your firmware is set to support both BIOS/CSM/legacy and EFI/UEFI booting. Do not re-enable Secure Boot. Some models have a restricted options regarding boot modes, though. If you've got such a model, set it for EFI/UEFI booting and install and configure rEFInd; it may be able to provide support for both boot modes even if the firmware doesn't provide that support itself. You may also want or need to install rEFInd even if your computer is more flexible in this respect; you'll just have to experiment, figure out what your firmware can do, and decide for yourself which method to use.

If you try all this and have no luck, your only option may be to re-install Windows 8.1 in BIOS/CSM/legacy mode. Most OEMs don't support this, so you may need to contact Microsoft to get a retail Windows 8.1 disc.

  • Useful info but only if my Win8.1 wasn't refusing to load UEFI files! I stored the refind bootloader in "F:\rEfit\refind" folder and added it as a boot option to BCD with path: "\rEfit\refind\refind_x64m.efi" and drive: "F:" but when booting using this settings an error message occurs. However it is possible to boot this using the firmware. I would create another question for this! – Nemo759 Dec 21 '13 at 19:33
  • If the EFI gave you errors when you tried to boot rEFInd after installing it as you described, then you probably erred in the way you installed it. Please review the [rEFInd installation instructions for Windows](file:///home/rodsmith/homepage/refind/installing.html#windows) to be sure you did it correctly. Note that \rEfit\refind is not a recommended path; it might work, but the EFI spec says that boot loaders should got in the subdirectory of the EFI directory, as in EFI\refind. – Rod Smith Dec 21 '13 at 23:13

I have tried doing it in another way. Try installing windows XP first in C drive, and then install windows 7 or 8.1 in D drive. The boot menu will automatically do everything and you won't have to do any tweaking or extended settings.

Hope this helps.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.