Windows 8.1 UEFI x64 & Windows XP x64 Dual-Boot

4

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

windows-xp
windows-8
64-bit
multi-boot
uefi
asked on Super User Dec 16, 2013 by Nemo759 • edited Dec 16, 2013 by VL-80

2 Answers

1

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.

answered on Super User Dec 16, 2013 by Rod Smith
0

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.

answered on Super User Apr 7, 2015 by Awaix Javaid

User contributions licensed under CC BY-SA 3.0