Jump to content

Sysprep WinXP SP2 64-bit on pure UEFI PC (no CSM)


Recommended Posts

@UsefulAGKHelper

I have already checked it all in this topic: https://www.betaarchive.com/forum/viewtopic.php?p=434653#p434653

vbemp driver work in UEFI+CSM with Intel iGPU (I didn't test under pure UEFI with Intel iGPU)

but I tested the vbemp driver under pure UEFI with the AMD 7450 PCIe card and unfortunately it doesn't work

but then a normal AMD 7450 PCIe card driver for WinXP 64-bit works on pure UEFI

I also tested a few NVIDIA graphics cards in UEFI+CSM mode (without GOP) and probably work with vbemp - I don't remember exactly but WinXP 64-bit on UEFI+CSM is not interesting and graphics cards without GOP will not work under pure UEFI.

The screen from WinXP 64-bit in UEFI+CSM from vbemp or pure UEFI mode from amd7450 driver is displayed only from the moment of welcome:

777768.png

However, the Aurora boot screen is displayed using the graphics card firmware and winload.efi loader:

1537733921.or.34836.png

Edited by reboot12
Link to comment
Share on other sites


@reboot12 If you have seen the specs of my laptop that I sent on .txt file, the graphics card of my laptop is Intel UHD Graphics 620.

If vbemp works with an Intel laptop with Intel graphics card then I should try to boot from the OS.

I installed XP on virtualbox from George King's XP2ESD ISO because it's drivers may allow the OS to boot with display.

And then I will copy the installation on the laptop's real HDD partition so I can boot XP from pure UEFI with FlashBoot bootmgfw.efi (laptop doesn't support legacy boot).

I am installing XP from XP2ESD in virtualbox and then I make to use generic ported NVME and AHCI drivers so I can try to launch this in modern hardware.

Edited by UsefulAGKHelper
Link to comment
Share on other sites

  • 1 month later...

@reboot12 I know this may take a while to work on modern uefi class 3 hardware but the only way to get XP to boot on such hardware is to use WinDbg (by trying to connect lan/serial from the debugging hardware to the target modern UEFI hardware you're trying to boot XP from) with the scope of trying to spot the BSOD/problems that prevent XP from booting with UEFI on coffee lake and newer hardware. If these respective BSODs are fixed, XP + the required drivers and fixes + VGA emulator (like UefiSeven or FlashBootPro) SHOULD boot with a working display similar to legacy mode.

I know you said that UefiSeven doesn't work on all hardware but we know why it sometimes doesn't work as expected. The contents from C0000 to CFFFF/DFFFF section need to be empty otherwise UefiSeven cannot unlock the C0000 segment from memory to implement the fake Int10h handler that would emulate VGA interface for GOP (VGA emulator will trick VGA drivers into seeing GOP framebuffer as a VGA device by emulating a VGA generic devices that redirects the code to GOP framebuffer, once used, before the emulated VGA code reaches GOP, the VGA emulator will convert the code's assembly language (Legacy Bios' language) to a C array (a language UEFI undestands) and then sends it to GOP framebuffer allowing it to display on the screen and I suppose this is how it works).

FlashBootPro does things differently by trying to patch the kernel and all VGA drivers in memory (replacing references to VGA code and I/O ports with GOP framebuffer and forcing the VGA.SYS driver to adjust the screen resolution to 1024x768 or the native resolution supported by CPU in newer versions).

While UefiSeven may emulate a VGA device that converts and sends the code to GOP framebuffer, FlashBootPro will automatically patch kernel and vga drivers in memory so they use GOP framebuffer directly allowing BSODs, win 7 bootvid and vga.sys to display on screen.

While Windows 7 can work to boot from UEFI in this way, apparently this is not enough for Windows XP to boot on the newest UEFI hardware.

Windows XP may boot from UEFI class 2 without CSM perfectly fine but refuses to work on Uefi class 3.

Maybe UEFI class 3 lacks some code that Uefi class 2 still preserves (even with CSM disabled) that makes XP prompt BSODs that prevent XP from booting.

When I try to open freshly made XP2ESD XP installation using DevManView, I noticed that the device manager drivers aren't even installed. If that's the case, maybe I'm getting 7B BSOD because the latest patched ACPI file from @George King is present in the system so it's not A5 BSOD.

DevManView has the option of modifiying device managers that are located in folders inside Enum folder from registry or from another offline installation by specifying path with driver and with a specific controlset.

DevManView works similar to device manager but it's also for modifying offline installation since it modified the contents from Enum if changes are made.

On DevManView, the option to install drivers on offline OS is grayed out, preserved for active OS only.

Just like ServiWin allows system services and drivers to be edited from registry or from offline OS.

DevManView does the same, but for drivers from device manager from Enum folder from registry or from offline OS.

DevManView: https://www.nirsoft.net/utils/device_manager_view.html

ServiWin: https://www.nirsoft.net/utils/serviwin.html#Feedback

I think these two tools from the above links are made by the same creator, that's why they look and work similar. These tools remind me of BootIce.

Anyway, if nothing works to get XP to boot, then the only way is to borrow and backport more critical safe-mode files .sys drivers from Windows 7 to Windows XP with the hopes of achieving Windows 7's UEFI support that would allow XP to boot from UEFI without BSOD.

Edited by UsefulAGKHelper
Link to comment
Share on other sites

  • 5 weeks later...
On 11/25/2022 at 6:16 AM, reboot12 said:

If the graphics card does not have a GOP, you can add it to the bios of the motherboard:

https://www.betaarchive.com/forum/viewtopic.php?p=471154#p471154

Actually my graphics card has GOP, what it doesn't have is CSM Video / Int10h.

George King managed to boot XP from pure UEFI without BSODs using the XP2ESD version 1.6.3 that he's currently working on.

The XP version improved by XP2ESD includes the generic nvme, ahci drivers, acpi patches and the modified Auto-Sysprep (during setup only) etc.

Regarding UEFI boot, George stated to me this: "You are trying Patched loader with patched drivers from various betas on real.. You can expect 100% functionality."

 

Edited by UsefulAGKHelper
Link to comment
Share on other sites

  • 4 weeks later...
  • 1 month later...

@reboot12 I have patched x64 vbemp vbe30 to fix a BSOD problem on XP x64. 

This particular bug no longer shows:
Access violation - code c0000005 (!!! second chance !!!)
vga+0x41ea:
fffffadf`c8bff1ea 43c6041f3c      mov     byte ptr [r15+r11],3Ch

Now it loads XP x64. I achieved this by editing hex "43c6041f3c" to "9090909090", and I refreshed the checksum. 

I haven't tested this patched vbemp driver on UEFI yet, so if you don't mind, can you please debug this on XP x64 from UEFI and send me the debug? I need to ensure that there aren't problems if used from UEFI mode (even tho 16497 winload.exe loads the display (no issues) thanks to this patched vbemp driver without guest additions).

XPAMD64.zip

Edited by UsefulAGKHelper
Link to comment
Share on other sites

  • 6 months later...

For those with installed intel igpu video /graphics acceleration that turns the screen blank (laptop) Has anyone fixed their gop/vbt to fix it? Thx

Has anyone got debugging work for intel gpu drivers? Thx

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...