Boot WinXP 32/64-bit on UEFI 32/64-bit

WinXP cannot be installed under UEFI but it can be started if you have previously installed it in legacy mode or has be deployed using sysprep.

> WinXP boots from MBR partitions and no GPT partitions needed.<

Everything works beautifully on VMware Workstation 8. There is a problem with graphics on real hardware on WinXP 64-bit and for now only the universal driver VBEMP (AnaPa) does the job but then the video acceleration doesn’t work.

32-bit version of WinXP I have not tested on real UEFI 32-bit equipment because I do not have one but there were such devices built on the basis of Bay Trail, e.g. Lenovo Flex10

To run WinXP 64-bit under UEFI 64-bit we need a loader from the beta version of Vista 5384.4 + boot.ini or Server 16497 Longhorn + BCD

To run WinXP 32-bit under UEFI 32-bit we need a loader from the beta version of Vista 5219 + boot.ini

Here are details of how to boot the system: Boot WinXP under UEFI

Here a topic where everything and how is described: Does Windows XP have EFI?

Here a topic how deploy WinXP: How to deploy WinXP 64-bit on a UEFI (without CSM) in AHCI

Edit by Fernando: Thread title customized/shortened

I did new tests on ASUS:

  • I installed WinXP x64 in legacy mode on a 100MB FAT32 + 5GB NTFS MBR disk
  • I installed iGPU Intel driver
  • I made an image of NTFS partition in Acronis BR
  • I cleaned the disk and created GPT partitions:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    select disk 0
    clean
    convert gpt
    create partition efi size=100
    format quick fs=fat32 label="System"
    create partition msr size=16
    create partition primary size=5120
    format quick fs=ntfs label="Windows"
    create partition primary
    format quick fs=ntfs label="Data"
     
  • using Acronis BR, I restored the system from the image to the NTFS partition (Windows)
  • I have copied efi files to the FAT32 partition and winload.efi to NTFS
  • in the BCD file I turned on the debugger and connected a second computer with WinDbg


If I boot the system with CSM enabled and Secure Boot disabled then I have error IRQL_NOT_LESS_OR_EQUAL (0a) caused by VIDEOPRT.SYS:
1
2
3
 
FAULTING_IP:
nt!MmMapIoSpace+46e
fffff800`018e2cae 668b4e1a mov cx,word ptr [rsi+1Ah]
 


If I boot the system with CSM disabled and Secure Boot enabled then I have error PAGE_FAULT_IN_NONPAGED_AREA (50) caused by igxpmp64.sys:
1
2
3
 
FAULTING_IP:
hal!x86BiosExecuteInterrupt+76d
fffff800`01ca664d 0fb608 movzx ecx,byte ptr [rax]
 


This means that WinXP can also be booted from a GPT partition in pure UEFI with the Secure Boot option enabled

WinDbg log CSM on, Secure Boot off: https://pastebin.com/RkxNLrQR
WinDbg log CSM off, Secure Boot on: https://pastebin.com/KPCduyAF

@diderius6 @infuscomus @skullteria
I compared UEFI bios VMware, X220 and ASUS using the ScanUGA_LocateProtocol.efi and ScanGOP_LocateProtocol.efi tools (link) and it came to me that VMware has both UGA and GOP protocols, while X220 and ASUS only have GOP protocol:

vmware_2.30_UGA_GOP.png

X220_2.0_only_GOP.png

ASUS_2.31_only_GOP.png



Maybe for testing WinXP SP2 x64 on UEFI (EFI) it would be good to use the Apple MacBook 2006-2008. Interesting information here: A Brief History of Apple and EFI

  • "Early 2006" and “Late 2006” Models - EFI 1.10 32-bit
  • "Santa Rosa" Models - EFI 1.10 64-bit
  • "Late 2008" Models - EFI 1.10 64-bit mixed with UEFI 2.x 64-bit


EFI 1.x use UGA protocol
UEFI 2.x use GOP protocol

Boot Camp: Macs that work with 64-bit editions of Microsoft Windows Vista
Complete technical specifications for every Apple Mac released in 2008
apple-history/MacBook Pro (15-inch, Late 2008)

@diderius6
Yeeeaaaa!
In the end I found a graphics card on which WinXP SP2 x64 starts and works in UEFI+CSM on the my ASUS motherboard (bootx64.efi + BCD + winload.efi). This card is AMD Radeon HD 6450 PCIe with legacy video ROM (without GOP) with DisplayPort output:
https://www.betaarchive.com/forum/viewto…=447734#p447734

@Gelip
Yessssa, this are good news:))!!!
Please tell step by step what you have done to reach this.
At betaarchive I see, that with the Radeon HD 6450 PCIe also 3D acceleration works,
niccceee…
Dietmar

@diderius6
It is very easy.

For UEFI firmware, it doesn’t matter if the disk is GPT or MBR. Only newer Windows than WinXP require GPT in UEFI mode.

To boot PC from HDD in UEFI mode regardless of the operating system you need the FAT/FAT32 partition with the bootx64.efi file on MBR or GPT disk e.g. a small 100MB partition (just like newer Windows installers do). If we use the MBR disk we will be able to boot the WinXP interchangeably in legacy or UEFI mode.
It’s best to install WinXP in this way (100MB + rest NTFS):
https://www.betaarchive.com/forum/viewto…=435277#p435277
Then you install all device drivers and copy the files needed to boot in UEFI mode to the appropriate locations on the disk. Details on the betaarchive forum.

I have good news !!!

I found a way to boot WinXP SP2 64-bit in UEFI class 3 mode without CSM with a graphics card with GOP firmware :slight_smile:

Read this -> WinXP SP2 64-bit in UEFI class 3 without CSM

What about win7 64bit without CSM?I tried UEFISeven,but failed. I also tried FlashbootPro, it can work, but graphics card can not work.

I get this eroor when I try to install windows xp uefi 64 bit
Windows Boot Manager
windows failed to start. A recent hardware or software change might be the
cause. To fix the problem:
1. Insert your windows installation disc and restart your computer.
2. Choose your language settings, and then click "Next."
3. Click "Repair your computer."
If you do not have this disc, contact your system administrator or computer
manufacturer for assistance.
File: \WINDOWS\system32\winload.efi
Status: Oxc000000f
Info: The selected entry could not be loaded because the application is
missing or corrupt.

if you see the video called Boot WinXP 64-bit on UEFI firmware in AHCI from FAT MBR partition in youtube you see ??? illen’s comment he asked for efi boot files geilp shared the dropbox files these dropbox files are the problem with me

@windows2.0uefi

I’m guessing it’s a misconfigured BCD, try making a new BCD.
Visual BCD editor for example helps with this.

@diderius6

you have managed to boot XP via BCD before if I’m not mistaken?

@infuscomus

BCD boot works for XP on all compis before Skylake.
With and after Skylake, BCD boot works only for processors <= Celeron
Dietmar

if I’m not mistaken I used the 6001 longhorn loader which is from a dropbox link I told you about (I cannot post links now) the xp_efi.zip\server_bcd that’s where I got the files if the files are corrupted then someone get me proper files for this? also I hope there is a grub bootloader or something because I want to load windows xp sp3 on my 64 bit efi system just so I could have internet :slight_smile: (btw my pc is an intel i5 4570 gen)


here is bcd and boot files

server_BCD.zip (1.07 MB)

Untitled.png


someone get me proper files
I also found something intersting is that if I start it using efi shell It gives the same error code but a different error like this

Untitled2.png

My bad I think I just installed windows xp on an scsi drive will I will have to reinstall in sata drive (that’s why it won’t boot)


edit: I’m wrong I need a proper winload.efi please anyone

GUYS I NEED A NON CORRUPTED BCD OR WINLOAD.EFI PLEASE

@windows2.0uefi

I suggest trying out @George_King 's XP2ESD project, it has the option to setup booting via BCD/Winload.efi

yes that’s true I’m booting from bcd not boot.ini anyways I downloaded windows longhorn server and got the efi boot files from there hope this works!

you know I could try using xp2esd maybe?as it allows too boot winload.efi also I downloaded windows server longhorn and still the same issue (I have done some bcd editing and I get different errors) +xpesd takes 10 hours and also can’t find a windows xp sp2 x64 edition iso



10 hours? How many ISOs you tried to process? It’s like 20min each ISO on my side (with still unreleased v1.6). I’m back in XP2ESD project now for few weeks, so we can try to figure out solutions :slight_smile:


EDIT: I would also like to see Windows XP x64 on my B360 in pure UEFI on GPT