Does Windows XP have EFI?

Discuss Windows 2000, NT, XP and Windows Server 2000, 2003, SBS 2003.
mahich03
Posts: 18
Joined: Fri Apr 13, 2018 10:15 pm
Location: Earth

Re: Does Windows XP have EFI?

Post by mahich03 »

Random_User wrote:Right, my point is that a motherboard can have EFI, and an operating system can support booting from a GPT storage device, but an operating system cannot "have EFI".
As I've mentioned earlier, some operating systems already come with EFI support, others don't. You can boot from a GPT drive only in EFI.
Just a guy with a strange addiction to operating systems.



Beta12
User avatar
FTP Access
Posts: 212
Joined: Sat Sep 21, 2013 11:19 am

Re: Does Windows XP have EFI?

Post by Beta12 »

mahich03 wrote:Yeah, but Itanium and x86(-64) are two entirely different architectures. Even though they can both use EFI, you can't boot an Itanium operating system with a x86 processor, and vice versa.
Of course that Itanium and x86(-64) are two entirely different architectures. It's about a simply system loader. If WinXP had support today, MS could release a patch to support EFI. With the source code of the IA64ldr.efi, you could probably compile the version for x86-64. After all, WinXP does not use BIOS services (drivers) and has its own device drivers:
Operating systems and executive software that are designed to supersede this basic firmware functionality provide replacement software interfaces to application software.

Since the AT-compatible BIOS ran in Intel real mode, operating systems that ran in protected mode on 286 and later processors required hardware device drivers compatible with protected mode operation to replace BIOS services.

In modern personal computers running modern operating systems the BIOS is used only during booting and initial loading of system software.


I made ISA Protected Mode app, read this: Your tiny OS as BIOS replacement
Image

Real hardware with AWARD BIOS test:

BetaNewbie
FTP Access
Posts: 214
Joined: Sun Jul 21, 2013 7:38 am

Re: Does Windows XP have EFI?

Post by BetaNewbie »

Some Vista builds around Beta 2 actually have experimental UEFI support, and the winload.efi from 5219 x86 can actually boot XP.

So here is how to make it work.
Create two partition on the HDD, a C partition which is FAT for boot files, and a D partition which is NTFS for XP, make both partition as primary partition.
Install XP to D: in BIOS as normal.

Get these files from 5219 x86 ISO:
install.wim\Windows\System32\winload.efi
install.wim\Boot\EFI\Microsoft\BootMgr\bootmgfw.efi

Copy bootmgfw.efi to C:\EFI\Boot\bootia32.efi
and copy winload.efi to D:\Windows\System32

Then edit C:\boot.ini like this, change the path accordingly.
Yes, 5219 is one of the early builds that uses boot.ini in bootmgr instead of BCD.

Code: Select all

[boot loader]
timeout=30
NOBCD
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /NOEXECUTE=OPTIN /FASTDETECT /USENEWLOADER
Then you should boot XP in EFI mode.
Tested with XP SP3 x86 on VMware Workstation 14.

With that said, you'll need a 32bit x86 EFI with CSM, which is tough to find these days. Some early 945 motherboards have it, including some early Atom boards.

jinzou ningen
User avatar
Posts: 15
Joined: Sun Jun 15, 2014 4:45 pm

Re: Does Windows XP have EFI?

Post by jinzou ningen »

BetaNewbie wrote:Some Vista builds around Beta 2 actually have experimental UEFI support, and the winload.efi from 5219 x86 can actually boot XP.

So here is how to make it work.
Create two partition on the HDD, a C partition which is FAT for boot files, and a D partition which is NTFS for XP, make both partition as primary partition.
Install XP to D: in BIOS as normal.

Get these files from 5219 x86 ISO:
install.wim\Windows\System32\winload.efi
install.wim\Boot\EFI\Microsoft\BootMgr\bootmgfw.efi

Copy bootmgfw.efi to C:\EFI\Boot\bootia32.efi
and copy winload.efi to D:\Windows\System32

Then edit C:\boot.ini like this, change the path accordingly.
Yes, 5219 is one of the early builds that uses boot.ini in bootmgr instead of BCD.

Code: Select all

[boot loader]
timeout=30
NOBCD
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /NOEXECUTE=OPTIN /FASTDETECT /USENEWLOADER
Then you should boot XP in EFI mode.
Tested with XP SP3 x86 on VMware Workstation 14.

With that said, you'll need a 32bit x86 EFI with CSM, which is tough to find these days. Some early 945 motherboards have it, including some early Atom boards.
So, it isn't possible to install xp on uefi without CSM option? Because I really want to install xp on my tablets atom baytrail and cherry trail which have windows 10, but on the bios option there isn't any legacy os option :cry:

Beta12
User avatar
FTP Access
Posts: 212
Joined: Sat Sep 21, 2013 11:19 am

Re: Does Windows XP have EFI?

Post by Beta12 »

BetaNewbie wrote:Some Vista builds around Beta 2 actually have experimental UEFI support, and the winload.efi from 5219 x86 can actually boot XP.
Wow, amazing, it works :D :D :D WinXP boot from EFI :)
I test on EFI32 VMware Workstation 8.0.2 build-591240, WinXP SP3 VLK. OS boot ok but BSOD 0x00000050 framebuf.dll appears:
Image
.vmx config:

Code: Select all

firmware = "efi"
efi32.filename = "6020_ntfs.bin"
6020_ntfs.bin is upgraded VMware firmware to NTFS driver

jinzou ningen
User avatar
Posts: 15
Joined: Sun Jun 15, 2014 4:45 pm

Re: Does Windows XP have EFI?

Post by jinzou ningen »

Beta12 wrote:
BetaNewbie wrote:CUT
Wow, interesting :OD In these days I will give a try on my tablets, a bay trail one and a cherry trail one... Hope it will work :o

Hyoenmadan86
Posts: 179
Joined: Fri Sep 07, 2012 6:45 pm

Re: Does Windows XP have EFI?

Post by Hyoenmadan86 »

Someone would like to try with Win2k3 R2 SP2. Its HAL and framebuffer drivers have an improved support for EFI (not sure about UEFI).
jinzou ningen wrote:So, it isn't possible to install xp on uefi without CSM option?
CSM partially active in UEFI mode is required to run the old video VGA/VESA ROM firmware required for BootVid and VgaSave modules, because old versions of the builtin BootVid and Framebuffer VESA driver Vga.sys don't have support for GOP UEFI video drivers/firmware present in UEFI only board solutions.

mahich03
Posts: 18
Joined: Fri Apr 13, 2018 10:15 pm
Location: Earth

Re: Does Windows XP have EFI?

Post by mahich03 »

jinzou ningen wrote:
Beta12 wrote:
BetaNewbie wrote:CUT
Wow, interesting :OD In these days I will give a try on my tablets, a bay trail one and a cherry trail one... Hope it will work :o
Anything older than Windows 8 can't be installed on UEFI class-3 mode (without CSM) because they use the older Vgasave driver for video output that requires CSM to be enabled
Just a guy with a strange addiction to operating systems.

MrBurgerKing
Posts: 178
Joined: Sat Feb 03, 2018 8:08 pm

Re: Does Windows XP have EFI?

Post by MrBurgerKing »

jinzou ningen wrote: Wow, interesting :OD In these days I will give a try on my tablets, a bay trail one and a cherry trail one... Hope it will work :o
Just a side note, XP also lacks wear leveling and garbage collection for ssds, meaning it theoretically may cause the internal storage to fail prematurely.

Beta12
User avatar
FTP Access
Posts: 212
Joined: Sat Sep 21, 2013 11:19 am

Re: Does Windows XP have EFI?

Post by Beta12 »

BetaNewbie wrote:Some Vista builds around Beta 2 actually have experimental UEFI support, and the winload.efi from 5219 x86 can actually boot XP.
Which Vista build has .efi files for try boot WinXP x64 SP2? I tried files bootmgfw.efi, winload.efi from Win7 64-bit but have error 0xc000000f:
Image

Beta12
User avatar
FTP Access
Posts: 212
Joined: Sat Sep 21, 2013 11:19 am

Re: Does Windows XP have EFI?

Post by Beta12 »

Hyoenmadan86 wrote:Someone would like to try with Win2k3 R2 SP2. Its HAL and framebuffer drivers have an improved support for EFI (not sure about UEFI).
You're right, it works with Windows Server 2003 R2 Standard Edition SP2 x86 ! :OD :cool: :P
Tested on VMware Workstation 7.1.4 build-385536 with firmware EFI32 (NTFS integrated driver) from VMware 8 - 6020_ntfs.bin.
  • make new virtual machine Windows Server 2003 Standard Edition, RAM 1024MB, HDD IDE 40GB
  • boot Win7 x86 ISO, Shift+F10 for CMD, diskpart for make two partitions 100MB FAT32 and rest ~39GB NTFS:

    Code: Select all

    select disk 0
    create partition primary size=100
    active
    format fs=fat32 quick
    create partition primary
    format fs=ntfs quick
  • install Windows 2k3 from ISO on partition D: NTFS
  • after install copy EFI files from Vista Build 5219 and edit Boot.ini as BetaNewbie wrote in > this < post
  • change firmware in .vmx file from BIOS to EFI32:

    Code: Select all

    firmware = "efi"
    efi32.filename = "6020_ntfs.bin"
  • copy 6020_ntfs.bin to VM folder
I used AIDA64 to check the BIOS:
  • DMI not work
  • Motherboard - Unknown
  • BIOS - Unknown:
    Image
  • ACPI - APIC - OEM Table ID -> EFIAPIC:
    Image

    P.S. With VMware legacy BIOS APIC table has OEM Table ID -> APIC:
    Image


After turning on the Themes service, the OS looks like WinXP :) :
Image

mahich03
Posts: 18
Joined: Fri Apr 13, 2018 10:15 pm
Location: Earth

Re: Does Windows XP have EFI?

Post by mahich03 »

Great to know that XP/Server03 x86 can be booted with EFI, but I think the most important is to boot the x64 versions, so most current UEFI computers take advantage of it
Just a guy with a strange addiction to operating systems.

Beta12
User avatar
FTP Access
Posts: 212
Joined: Sat Sep 21, 2013 11:19 am

Re: Does Windows XP have EFI?

Post by Beta12 »

mahich03 wrote:Great to know that XP/Server03 x86 can be booted with EFI, but I think the most important is to boot the x64 versions, so most current UEFI computers take advantage of it
Yes, that's why I asked where to get EFI files to boot WinXP x64 or Win2003 x64. Was there any test version of Windows Vista (Longhorn) which boot with Boot.ini and supports EFI?

P.S. Other video as proof that W2K3R2 boot from EFI Shell:
Last edited by Beta12 on Sat Sep 29, 2018 1:09 pm, edited 1 time in total.

Beta12
User avatar
FTP Access
Posts: 212
Joined: Sat Sep 21, 2013 11:19 am

Re: Does Windows XP have EFI?

Post by Beta12 »

I did new tests. If the EFI32 firmware has an integrated NTFS driver (as in this case) then all you need for Windows to start with EFI is one active NTFS primary partition with MBR:
Image

You do not need an EFI FAT32 partition or a GPT disk as Win7 or later Windows requires. :)

You can switch between the EFI and the BIOS at any time and the system will start without a problem. Switching best in a .vmx file by adding or removing a comment e.g. using the # character:

To boot from EFI:

Code: Select all

firmware = "efi"
efi32.filename = "6020_ntfs.bin"
Image

To boot from BIOS:

Code: Select all

#firmware = "efi"
#efi32.filename = "6020_ntfs.bin"
Image

P.S. This also work on VMware Workstation 8.0.2 build-591240 with Hardware Compatibility 8

Beta12
User avatar
FTP Access
Posts: 212
Joined: Sat Sep 21, 2013 11:19 am

Re: Does Windows XP have EFI?

Post by Beta12 »

After the installation of the system in the device manager there are several errors (yellow exclamation marks) at the SCSI controller and PCI-to-PCI bridges:

Image

Image

To solve the problem, change the controller driver to lsisas1068 and disable unnecessary PCI bridges (delete all pciBridgeX except 0 i 4):

Code: Select all

scsi0.virtualDev = "lsisas1068"

Code: Select all

pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
scsi0.pciSlotNumber = "16"
When the system starts, install the driver e.g. from this: LSI Integrated 1068e SAS controller for Windows Server 2003 (32-bit)

Beta12
User avatar
FTP Access
Posts: 212
Joined: Sat Sep 21, 2013 11:19 am

Re: Does Windows XP have EFI?

Post by Beta12 »

I try WinXP x64 boot in EFI64 like this:
  • copy bootmgfw.efi 64-bit from Win7 to C:\EFI\Boot as bootx64.efi
    machine boot but error 0xc000000f:
    Image
  • boot machine in BIOS mode, make folders C:\EFI\Microsoft\Boot and using BootICE create new BCD file in this location adding WinXP entry:
    Image
    Now boot machine from EFI but is other error 0xc0000098:
    Image
Why it does not work? This link How to add Windows XP entry to Windows 7/Vista boot manager indicates that the Win7 bootloader can boot WinXP.

AlphaBeta
User avatar
Donator
Posts: 2137
Joined: Sun Aug 12, 2012 4:33 pm
Location: Czechia

Re: Does Windows XP have EFI?

Post by AlphaBeta »

Beta12 wrote:Why it does not work? This link How to add Windows XP entry to Windows 7/Vista boot manager indicates that the Win7 bootloader can boot WinXP.
No, on the first sight I can see that it's just chainloading ntldr. Fairly useless in EFI.
AlphaBeta, stop brainwashing me immediately!

Image

jinzou ningen
User avatar
Posts: 15
Joined: Sun Jun 15, 2014 4:45 pm

Re: Does Windows XP have EFI?

Post by jinzou ningen »

Beta12 wrote:.
Can you try to see if it works even with windows 2000 since it shares almost the same architecture of xp? :P

Hyoenmadan86
Posts: 179
Joined: Fri Sep 07, 2012 6:45 pm

Re: Does Windows XP have EFI?

Post by Hyoenmadan86 »

jinzou ningen wrote:
Beta12 wrote:.
Can you try to see if it works even with windows 2000 since it shares almost the same architecture of xp? :P
This doesn't work with WinXP SP3, which is a lot newer than Win2k, BSoDing in FRAMEBUFF display driver component DLL. For sure it will not work in Win2k.

For now, the oldest version having success in booting from EFI32 (in an unofficial way) has been Win2k3 R2 SP2. And that's say much already.
Beta12 wrote:.
Win7 EFI loader is too new for Win2k3, and its WINLOAD EFI module doesn't have the code to load such old version of windows anymore. You need a 64bit EFI loader from a Longhorn beta with such functionality, as how you did for EFI32, if you really want to use it with WinXP-64/Win2k3-64.

BetaNewbie
FTP Access
Posts: 214
Joined: Sun Jul 21, 2013 7:38 am

Re: Does Windows XP have EFI?

Post by BetaNewbie »

winload.exe/efi replaced the "Windows loader" feature of NTLDR, and we need a winload.efi that can boot XP x64.
The one from 5270 x86 is already incompatible with NT 5.x kernel, it won't even load, complaining NTKRNLPA.EXE is corrupted. Not sure about x64.

BTW, I have success with XP SP3, but with the default VGA driver. Did you guys have VMware Tools installed?

Hyoenmadan86
Posts: 179
Joined: Fri Sep 07, 2012 6:45 pm

Re: Does Windows XP have EFI?

Post by Hyoenmadan86 »

BetaNewbie wrote:The one from 5270 x86 is already incompatible with NT 5.x kernel, it won't even load, complaining NTKRNLPA.EXE is corrupted. Not sure about x64.
You may try Beta 2 files. I hexchecked them, and the efi bootmanager still seems have the NOBCD boot.ini support and the USENEWLOADER switch compiled on.
You know, sometimes annoying bugs break functionality.

Beta12
User avatar
FTP Access
Posts: 212
Joined: Sat Sep 21, 2013 11:19 am

Re: Does Windows XP have EFI?

Post by Beta12 »

Hyoenmadan86 wrote:Win7 EFI loader is too new for Win2k3, and its WINLOAD EFI module doesn't have the code to load such old version of windows anymore. You need a 64bit EFI loader from a Longhorn beta with such functionality, as how you did for EFI32, if you really want to use it with WinXP-64/Win2k3-64.
Yes, only which Beta version has a 64-bit loader? I downloaded several beta versions of Vista x64 e.g. 5231, 5219 but EFI files are 32-bit executable (no 64-bit). Only winload.exe is 64-bit:
Image

Image

Hyoenmadan86
Posts: 179
Joined: Fri Sep 07, 2012 6:45 pm

Re: Does Windows XP have EFI?

Post by Hyoenmadan86 »

Beta12 wrote:Yes, only which Beta version has a 64-bit loader? I downloaded several beta versions of Vista x64 e.g. 5231, 5219 but EFI files are 32-bit executable (no 64-bit). Only winload.exe is 64-bit...
You would like to try with the first Longhorn which has a 64bit EFI Bootmanager/Loader. I know Beta2 already has it. Just don't forget to disable module signature verification at boot time using F8 menu or something like that, as seems like these WINLOAD versions already check for that thing.

Post Reply