One last thing... Did you tried to boot XP64 with the PCAT (BIOS) version of your files (Bootmgr and Winload.exe) and Intel Video driver? Using noguiboot ofc to discard any interference coming from BOOTVIDBeta12 wrote:Thanks for the tests but it must be the fault of the Intel graphics driver because...
Does Windows XP have EFI?
-
Hyoenmadan86
- Posts: 208
- Joined: Fri Sep 07, 2012 6:45 pm
Re: Does Windows XP have EFI?
Re: Does Windows XP have EFI?
No, I have not tried. Why should I test this? - there are no .efi files in the PCAT directory.Hyoenmadan86 wrote:Did you tried to boot XP64 with the PCAT (BIOS) version of your files (Bootmgr and Winload.exe) and Intel Video driver? Using noguiboot ofc to discard any interference coming from BOOTVID
-
Hyoenmadan86
- Posts: 208
- Joined: Fri Sep 07, 2012 6:45 pm
Re: Does Windows XP have EFI?
Ofc there aren't .efi files on PCAT folder. It is the normal BIOS loader which comes with every NT6+ edition and the one installed by default. And you would like to test it, because I guessing that the actual culprit of your driver not working, nor built in driver VGAPnP and BOOTVID... Is Bootmgr/Winload itself, not the firmware type. It probably is leaving the low (1MB) memory and io permission map in a way NT6+ Kernel and HAL like, but NT5 Kernel and Hal video stuff don't, independent if is the UEFI version of the loader files or not.Beta12 wrote:No, I have not tried. Why should I test this? - there are no .efi files in the PCAT directory.
Please use the same version from where you took your BootMgr efi files.
Re: Does Windows XP have EFI?
I tested booting WinXP x64 in legacy BIOS mode using the files bootmgr + BCD + winload.exe from PCAT folder beta Longhorn Server and it turns out that it is the same problem as in EFI mode with .efi files.
The OS starts to boot - a green wallpaper with the words Starting Windows Vista and after a while a black screen and the computer freezes.
or
/nolowmem - nolowmem [ on | off ] Controls the use of low memory. When nolowmem on is specified, this option loads the operating system, device drivers, and all applications into addresses above the 4 GB boundary, and directs Windows to allocate all memory pools at addresses above the 4 GB boundary. Note that the nolowmem option is ignored in Windows 8, Windows Server 2012, and later versions of Windows.
The OS starts to boot - a green wallpaper with the words Starting Windows Vista and after a while a black screen and the computer freezes.
Probably you are right. Maybe in this case, editing the BCD file and the memory parameter e.g. /maxmem, /burnmemory, /turncatememory or /removememory will solve the problem - Boot Parameters to Manipulate MemoryHyoenmadan86 wrote:It probably is leaving the low (1MB) memory and io permission map in a way NT6+ Kernel and HAL like, but NT5 Kernel and Hal video stuff don't, independent if is the UEFI version of the loader files or not.
or
/nolowmem - nolowmem [ on | off ] Controls the use of low memory. When nolowmem on is specified, this option loads the operating system, device drivers, and all applications into addresses above the 4 GB boundary, and directs Windows to allocate all memory pools at addresses above the 4 GB boundary. Note that the nolowmem option is ignored in Windows 8, Windows Server 2012, and later versions of Windows.
Re: Does Windows XP have EFI?
I also tried other BCD options e.g. /firstmegabytepolicy /pciexpress /usefirmwarepcisettings /novesa but nothing helps 

Re: Does Windows XP have EFI?
In summary - we have three ways to boot WinXP x64 on X220 using files from beta Longhorn Server 2008:
Legacy BIOS - ntldr, boot.ini, NTDETECT.COM:
Legacy BIOS - ntldr, boot.ini, NTDETECT.COM:
- Standard VGA WinXP driver = OK
- Intel driver = OK
- VBEMP driver = OK
- Standard VGA WinXP driver = ??? - probably PROBLEM
- Intel driver = PROBLEM
- VBEMP driver = ??? - probably OK
- Standard VGA WinXP driver = PROBLEM
- Intel driver = PROBLEM
- VBEMP driver = OK
-
BetaNewbie
- FTP Access
- Posts: 215
- Joined: Sun Jul 21, 2013 7:38 am
Re: Does Windows XP have EFI?
Looks interesting. If I have to guess, x64 Windows needs a tiny x86 emulator in HAL to execute BIOS interrupts (as you can't go back to real mode from long mode), and it is the emulator that crashes.Hyoenmadan86 wrote: But... 32Bit versions don't use HAL BIOS emulator, but VDM Ke386CallBios and V86 HalpBiosCall (x86new emulated version of this one is named HalCallBios).
x86 32-bit Windows doesn't need that emulator since you CAN switch to real mode from 32-bit protected mode.
Re: Does Windows XP have EFI?
@Beta12
In https://www.win-raid.com/forum.php
I also try to enable UEFI boot of XP.
Can you please write a Tutorial step by step
how to make UEFI boot for XP 64 SP2 possible?
And add all the needed *.efi files, because I do not have them.
What do you think: It is possible to make UEFI boot also for XP SP3 32 bit
on a 64bit UEFI Bios? There is a grub loader,
which seems to promise exact this,
https://github.com/a1ive/grub/issues/2
http://bbs.wuyou.net/forum.php?mod=view ... tid=373513
have a nice day
Dietmar
In https://www.win-raid.com/forum.php
I also try to enable UEFI boot of XP.
Can you please write a Tutorial step by step
how to make UEFI boot for XP 64 SP2 possible?
And add all the needed *.efi files, because I do not have them.
What do you think: It is possible to make UEFI boot also for XP SP3 32 bit
on a 64bit UEFI Bios? There is a grub loader,
which seems to promise exact this,
https://github.com/a1ive/grub/issues/2
http://bbs.wuyou.net/forum.php?mod=view ... tid=373513
have a nice day
Dietmar
Re: Does Windows XP have EFI?
I have already written everything in this topic and in this How to deploy WinXP 64-bit on a UEFI (without CSM) in AHCIdiderius6 wrote:I also try to enable UEFI boot of XP.
Can you please write a Tutorial step by step
how to make UEFI boot for XP 64 SP2 possible?
And add all the needed *.efi files, because I do not have them.
P.S. If anything, I can help on the IRC web https://webchat.freenode.net/
WinXP 32 or 64-bit cannot be installed in EFI32 or EFI64 but can be started using the graphics VBEMP driver and this EFI files xp_efi.zip
Probably, to start WinXP 32-bit in EFI you need hardware with UEFI 32-bit firmware, e.g. Lenovo Flex 10 with bios version 19WW:diderius6 wrote:What do you think: It is possible to make UEFI boot also for XP SP3 32 bit
on a 64bit UEFI Bios?

Tested only on VMware Workstation 8 and ThinkPad X220:
- WinXP x64 on VMware - boot OK with graphics vendor driver
- WinXP x86 on VMware - boot OK with graphics vendor driver
- WinXP x64 on X220 - boot OK but only with graphics driver VBEMP
- CPU integrated iGPU
- PCI-e slot
- old PCI slot

I probably need a PCI-e card that supports GOP.
I also need the SPI programmer because I downloaded the latest BIOS and I can't go back to the older one

Re: Does Windows XP have EFI?
@Beta12
Thanks a lot for all the information
and the *.efi files for XP.
I just ordered the Lenovo Flex 10
and soon fun will start with UEFI boot of XP SP3
Dietmar
Thanks a lot for all the information
and the *.efi files for XP.
I just ordered the Lenovo Flex 10
and soon fun will start with UEFI boot of XP SP3
Dietmar
Re: Does Windows XP have EFI?
Yes, but as mentioned, the BIOS must be EFI 32-bit, e.g. this one 93cn19ww(v5.2&v3.7).exediderius6 wrote:I just ordered the Lenovo Flex 10
and soon fun will start with UEFI boot of XP SP3
The new bios'es are 64-bit and I don't know if it's possible to downgrade to old bios. You can probably program the old bios with the external programmer. Open file 93cn19ww(v5.2&v3.7).exe in 7-zip and extract file Win01BTIL52_37_19.fd. Now open in hex editor and cut bios firmware - read this:
I got it, need to edit .fd by hex editor and remove everything before (and including) "$_IFLASH_BIOSIMG..€...€." on 1C1E0h at beginning of file and everyting after and including " _IFLASH_INI_IMG" at 81C1E0h at end of file so file has same size as flash (800000h)
So I can get back the 32-bit bios now.
If you have EFI64 on Flex10 then test WinXP x64 and if you have EFI32 then WinXP x86.
Post in the forum whether you succeeded or not

Re: Does Windows XP have EFI?
@ diderius6
I found your screenshot xp64-Ryzen on the win-raid.com forum. Can you post a screenshot of the GPU-Z does the GeForce GT 730 graphics card support UEFI (GOP driver):

I found your screenshot xp64-Ryzen on the win-raid.com forum. Can you post a screenshot of the GPU-Z does the GeForce GT 730 graphics card support UEFI (GOP driver):

Re: Does Windows XP have EFI?
If your computer has the CSM and SATA with IDE compatibility mode option in bios, installation is simple. Install WinXP x64 in CSM mode (legacy) on MBR partition style disk 100MB + e.g. 5GB NTFS like this: https://www.betaarchive.com/forum/viewt ... 77#p435277diderius6 wrote:I also try to enable UEFI boot of XP.
Can you please write a Tutorial step by step
how to make UEFI boot for XP 64 SP2 possible?

After install copy my 64-bit EFI files (server_BCD) to FAT32 100MB partition and winload.efi to NTFS 5G in WINDOWS\system32. Next you need install VBEMP graphics driver. Now you can switch bios to UEFI mode and WinXP boot from BCD - thats all

If your computer have no CSM and only AHCI then you need driver AHCI for WinXP x64 and you need deploy OS with AHCI and VBEMP driver e.g. from VMware like this: https://www.betaarchive.com/forum/viewt ... 02#p440302. Next you need clone virtual HDD from VMware to real SATA HDD in your UEFI computer.
Of course, when starting WinXP x64 with EFI files from server_BCD, always choose Disable Driver Signature Enforcement from the Advanced Boot Options menu.
Perhaps files from vista_boot - BCD or boot.ini will also work on your computer.
Re: Does Windows XP have EFI?
One more proof that WinXP works in UEFI mode. I compared the registry key:
while WinXP x86 and x64 boot from Legacy and EFI bios.
In Legacy bios key contains: PCI BIOS with RealModeIRQRoutingTable, PNP BIOS and ACPI BIOS
In UEFI bios key contains only ACPI BIOS and no RealModeIRQRoutingTable


BIOS works in Real Mode
EFI works in Protected Mode and therefore there is no IRQ routing table in the registry.
Code: Select all
HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\MultifunctionAdapter
In Legacy bios key contains: PCI BIOS with RealModeIRQRoutingTable, PNP BIOS and ACPI BIOS
In UEFI bios key contains only ACPI BIOS and no RealModeIRQRoutingTable




BIOS works in Real Mode
EFI works in Protected Mode and therefore there is no IRQ routing table in the registry.
Re: Does Windows XP have EFI?
@Beta12
I just checked,
the mark is set for UEFI on the graphikcard GT 730
so it supports UEFI,
have a nice day
Dietma
I just checked,
the mark is set for UEFI on the graphikcard GT 730
so it supports UEFI,
have a nice day
Dietma
Re: Does Windows XP have EFI?
I fix my ASUS with CH341A programmer. On initial bios 0402 and 0405 with efi files from beta Longhorn Server there is error An unexpected error has occurred 0xc0000017 and with efi files from beta Longhorn Vista is error BlInitializeLibrary failed 0xc0000023 ???
On bios 0610 (support for Win8 added) and later with efi files from beta Longhorn Server is the same as on the ThinkPad X220 - freezes on screen Starting Windows Vista and with efi files from beta Longorn Vista is black screen with white bar
I noticed that when it stops on the Starting Windows Vista screen, the PS2 keyboard does not work and when it stops on the screen with a white bar, the keyboard works.
On bios 0610 (support for Win8 added) and later with efi files from beta Longhorn Server is the same as on the ThinkPad X220 - freezes on screen Starting Windows Vista and with efi files from beta Longorn Vista is black screen with white bar

I noticed that when it stops on the Starting Windows Vista screen, the PS2 keyboard does not work and when it stops on the screen with a white bar, the keyboard works.
Re: Does Windows XP have EFI?
If I turn off CSM in bios ver. 0610 on my ASUS P8H61-M LE R2 motherboard after reboot an identical message appears as the one at the bottom of the screen:
This article >Low Profile Graphics Cards Windows XP Benchmarks< shows that there are PCIe graphics cards e.g. NVIDIA GeForce GT 610, GT710, GT730 that support GOP (UEFI) and there are drivers for WinXP 32/64 - WinXP 64-bit driver 368.81
Example GT610 with bios 75.19.56.00.04:

I wonder if WinXP x64 would start under UEFI with such a card?


Code: Select all
The VGA card is not supported by UEFI driver.
CSM (Compatibility Support Module) settings have been changed for better compatibility.
For further adjustments, press [F1] to enter BIOS setup.
If no adjustments needed, press [F2] to confirm the current settings and enter OS directly.
Press F1 to Run SETUP
Press F2 to Continue
Example GT610 with bios 75.19.56.00.04:

I wonder if WinXP x64 would start under UEFI with such a card?


Re: Does Windows XP have EFI?
I found how to disable signature checking in winload.efi 6.0.6001.16497. Open winload.efi in the hex editor, go to offset 573C and replace 48 8B C4 53 to B0 01 C3 90
Save changes. Open file in CFF Explorer and rebuild PE checksum. Edit BCD with BootICE, delete entry DisplayAdvancedOptions (you don't need Advanced Menu anymore) and add DisableIntegrityChecks True
Now WinXP x64 boots normally without checking the signatures
Source -> bootloader.txt
Save changes. Open file in CFF Explorer and rebuild PE checksum. Edit BCD with BootICE, delete entry DisplayAdvancedOptions (you don't need Advanced Menu anymore) and add DisableIntegrityChecks True
Now WinXP x64 boots normally without checking the signatures


Source -> bootloader.txt
Re: Does Windows XP have EFI?
I did various tests with different graphics cards and this is what WinDbg shows - tested on ASUS P8H61-M LE R2 + PCIe graphics GeForce 6200 LE, iGPU HD2000 and other PCIe or PCI cards:
In VMware in 6021 (UEFI bios) binres in VGA rom module DC9E5943-0EB5-42C6-8F43-B081A91DF78E there is some INT10 routine that is not in the memory under C000 in WinXP:

Maybe if you copy this routine to the graphics bios e.g. iGPU on ASUS would solve the problem?
- I installed WinXP x64 in legacy mode, AnaPa driver and switched to UEFI - WinXP boot OK
- I uninstalled AnaPa driver and reboot in UEFI - WinDbg error:
Code: Select all
Probably caused by : vgapnp.sys ( vgapnp+771e )
- on legacy I installed nVidia driver 185.85 and switched to UEFI - WinDbg error:
Code: Select all
Probably caused by : nv4_mini.sys ( nv4_mini+64386 )
- I uninstalled nVidia driver, remove PCIe card and connect monitor to integrated iGPU. I try boot in UEFI but WinDbg error:
Code: Select all
Probably caused by : VIDEOPRT.SYS ( VIDEOPRT!pVideoPortInitializeInt10+4e )
- I change to other nVidia PCIe card but WinDbg error:
Code: Select all
Probably caused by : VIDEOPRT.SYS ( VIDEOPRT!pVideoPortInitializeInt10+4e )
- I change to PCI card (Matrox) and WinDbg error:
Code: Select all
Probably caused by : VIDEOPRT.SYS ( VIDEOPRT!pVideoPortInitializeInt10+4e )
In VMware in 6021 (UEFI bios) binres in VGA rom module DC9E5943-0EB5-42C6-8F43-B081A91DF78E there is some INT10 routine that is not in the memory under C000 in WinXP:

Maybe if you copy this routine to the graphics bios e.g. iGPU on ASUS would solve the problem?
Re: Does Windows XP have EFI?
I found also how to disable signature checking in winload.exe 6.0.6001.16497 for legacy boot. You need change same data but in offset 4CEC
Re: Does Windows XP have EFI?
My ASUS motherboard bios 1408 have VGA GOP firmware for iGPU:Beta12 wrote:I wonder if WinXP x64 would start under UEFI with such a card?![]()

Screenshot GPU-Z from Win10 in UEFI mode when windows use GOP firmware:

If I turn off CSM in bios, the computer starts, the Windows beta server 16497 loader starts - the Starting Windows Vista screen appears, but after a while the computer restarts and bios automatically enables CSM and displays information:
This means that the graphics card with the GOP firmware does not solve the problem

Re: Does Windows XP have EFI?
I did new tests on ASUS:
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:
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
- 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:
Code: Select all
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
Code: Select all
FAULTING_IP:
nt!MmMapIoSpace+46e
fffff800`018e2cae 668b4e1a mov cx,word ptr [rsi+1Ah]
Code: Select all
FAULTING_IP:
hal!x86BiosExecuteInterrupt+76d
fffff800`01ca664d 0fb608 movzx ecx,byte ptr [rax]

WinDbg log CSM on, Secure Boot off: https://pastebin.com/RkxNLrQR
WinDbg log CSM off, Secure Boot on: https://pastebin.com/KPCduyAF
Re: Does Windows XP have EFI?
If I boot the WinXP x64 in legacy mode with winload.exe then I have error ACPI_BIOS_ERROR (a5) caused by ACPI.sys:
WinDbg log: https://pastebin.com/7qzDYCtf
Code: Select all
FOLLOWUP_IP:
ACPI+16cd6
fffffadf`c9e4fcd6 cc int 3
Re: Does Windows XP have EFI?
I checked the custom VMware Tools installation on WinXP x64 virtual machine. You must install a minimum of these two drivers for the system to boot using winload.efi:

No VMware Tools installed or only SVGA causes error:
Only VMCI driver installed causes error:
The WinXP x64 starts only when the VMCI and SVGA driver are installed
VMCI does not have to be enabled in the virtual machine settings and can even be disabled in the .vmx file:
I tried to use the VMCI driver on real hardware. It installs together with VMware Workstation 8. Unfortunately, this does not solve the problem
Apparently in the virtual machine WinXP VMCI driver works together with the SVGA driver.

No VMware Tools installed or only SVGA causes error:
Code: Select all
Probably caused by : ntkrnlmp.exe ( nt!IoReportHalResourceUsage+260d )
Code: Select all
PAGE_FAULT_IN_NONPAGED_AREA (50) vgapnp.sys
VMCI does not have to be enabled in the virtual machine settings and can even be disabled in the .vmx file:

Code: Select all
vmci0.present = "FALSE"

Apparently in the virtual machine WinXP VMCI driver works together with the SVGA driver.
Re: Does Windows XP have EFI?
I found interesting information about running Ubuntu in UEFI mode on Apple Mac computers: Loading Linux
I wonder what the line in the grub.cfg configuration file is for:
I wanted to check if maybe these commands will help in running WinXP x64 but even without it I can't start bootx64.efi from grub - that is, it starts but there is error 0xc000000f:

Other UEFI applications can be started easily from Grub in this way:
I also noticed ASUS when I start EFI Shell in CSM mode, the BIOS[INT10] Video Driver (CsmVideo) is used and when I start EFI Shell with CSM off, the Intel(R) GOP Driver (IntelSnbGopDriver) is used:


Grub includes a videotest tool that works only after loading the appropriate UGA or GOP driver. Only the GOP driver works on ASUS even in CSM mode:
Both UGA and GOP drivers work on VMware:

I wonder what the line in the grub.cfg configuration file is for:
Code: Select all
loadbios /boot/vbios.bin /boot/int10.bin

Other UEFI applications can be started easily from Grub in this way:
Code: Select all
chainloader /tetris64.efi
boot


Grub includes a videotest tool that works only after loading the appropriate UGA or GOP driver. Only the GOP driver works on ASUS even in CSM mode:
Code: Select all
insmod efi_gop
videotest
Code: Select all
insmod efi_uga or efi_gop
videotest
