Dietmar Posted May 17 Posted May 17 @reboot12 Hi, you know, that I have an Gigabyte board B860 DS3H, which has really zero CSM in its Bios, because the Bios is done by Intel and they cancel all csm for all Arrow Lake cpus. Can you write to me a Tutorial for XP SP3, from which you think, that it has the best chance to work with csmwarp.efi? And what I can change, if no success on first try. I can try Sata, nvme, USB3(?) and also from Reactos freeldr.sys (replaces ntldr, but keeps normal XP boot) Dietmar
Dietmar Posted May 18 Posted May 18 @reboot12 On the Asrock z370 k6 with 8700k cpu and 32 GB ram the SeaBios starts via Sata AHCI. But I see 4 times the same screen and this version on winload.exe crashes Dietmar
reboot12 Posted May 18 Posted May 18 3 minutes ago, Dietmar said: But I see 4 times the same screen and this version on winload.exe crashes Screenshot please
Dietmar Posted May 18 Posted May 18 (edited) @reboot12 For the Gigabyte Arrow Lake board B860 DS3H with 245 cpu and 32 GB ram I get message about "framebuffer to high". The disable of "Coding above 4Gb" does not help, because the Bios put then only the memory for the PCI-e devices into lower memory but not the framebuffer. So I come to another idea: To shrink the usable memory to 4GB. After crazy search I found in Bios with UEFItool the correspondending variable "RemapEnable" in Setup. Unicode text "RemapEnable" found in PE32 image section at header-offset 2A9D44h. I extract the PE32 body. Now the crazy search with Winhex for "RemapEnable" starts. I found it via this Hex values 520065006D006100700045006E00610062006C006500 How to Disable Memory Remap (Limit RAM to 4 GB) via UEFI Shell Gigabyte B860 DS3H + Arrow Lake CPU 245 and 32GB ram Target: Windows XP boot via CSMWrapper (fix framebuffer issue above 4GB) Prevent BIOS from allocating memory above the 4 GB boundary by disabling the internal RemapEnable UEFI variable. This resolves XP CSM framebuffer issues on modern boards. Access to UEFI Shell (e.g., via USB stick with Shell.efi) Hex editor (WinHex) for inspection BIOS modding not required — only NVRAM modification Through analysis of the PE32 Setup module, we located the UEFI variable RemapEnable, associated with the following GUID: A4B2913F-5E2B-4F10-8329-B33E25A3972C This GUID is for the internal variable store that contains RemapEnable. UEFI Shell Instructions Boot to UEFI Shell (e.g., rename Shell.efi to BOOTX64.EFI on a FAT32 USB under \EFI\BOOT\) Check Current Value (optional) bash dmpstore -n RemapEnable -g A4B2913F-5E2B-4F10-8329-B33E25A3972C If this shows value 0x01, it means Memory Remap is enabled. Disable Remap (Set to 0x00) bash setstore -n RemapEnable -g A4B2913F-5E2B-4F10-8329-B33E25A3972C -v 0x00 reset After reboot, your BIOS will not remap memory above 4 GB. This allows legacy OSes like Windows XP to boot without framebuffer issues in CSM environments. Just my idea, until now not tested Dietmar Edited May 18 by Dietmar
reboot12 Posted May 18 Posted May 18 (edited) @Dietmar F..k, why don't you read the previous posts? 3 hours ago, Dietmar said: and this version on winload.exe crashes What crash - like this? Sorry, I forgot to write that you need to correct 2 entries in BCD - ApplicationDevice and OSDevice: After fix BCD WinXP boot OK: P.S. CSMWrap support AHCI and works OK on virt-manager: On real hardware - Asus H61 AHCI not work (SeaBIOS detect only USB stick) and I need change to IDE in CMOS setup so that SeaBIOS can detect the HDD: AHCI: IDE: Edited May 18 by reboot12
Dietmar Posted May 18 Posted May 18 @reboot12 Yepp, the error screen for winload.exe is exact as yours above. Have you tested ntldr boot of XP SP3? And what do you think about my idea, for to forbid in Bios, to use more than 4GB memory? This idea can be tested on any compi, because then in Bios is a memory shown with only max 4GB Dietmar
reboot12 Posted May 18 Posted May 18 7 minutes ago, Dietmar said: Yepp, the error screen for winload.exe is exact as yours above. This means that CSMWrap works on your Asrock Z370 board. 8 minutes ago, Dietmar said: Have you tested ntldr boot of XP SP3? On Asus H61 ntldr not work but on AIMB-768 WinXP 64-bit from NVMe disk work with ntldr. For high framebuffer I have no idea - You can create a issue on github: https://github.com/FlyGoat/csmwrap/issues
Dietmar Posted May 18 Posted May 18 @reboot12 Can you make a test via the UEFI shell, that this works as I write above, no longer any memory > 4GB Dietmar
Dietmar Posted May 18 Posted May 18 @reboot12 If it is possible, to shrink the memory below 4GB via UEFI shell. I think, that it can be done with ru.efi . Search for the variable RemapEnable in Nvram. Because in any Uefi bios, its GUID is vendor dependend. At Uefi shell just type dmpstore -n RemapEnable -g A4B2913F-5E2B-4F10-8329-B33E25A3972C (this is special GUID for each vendor) If this shows value 0x01, it means Memory Remap is enabled. setstore -n RemapEnable -g A4B2913F-5E2B-4F10-8329-B33E25A3972C -v 0x00 reset After reboot, your BIOS should not remap memory above 4 GB Dietmar
reboot12 Posted May 18 Posted May 18 (edited) But I do not need change remap on this way because I have normal option in CMOS Setup: I can also change this with ru.efi in the UEFI Setup variable at the appropriate offset: Setup Question = Memory Remap Token =2E3 // Do NOT change this line Offset =33B Width =01 BIOS Default =[01]Enabled Options =*[01]Enabled // Move "*" to the desired Option [00]Disabled Offset is 33B then in ru.efi need change like this: Edited May 18 by reboot12
Dietmar Posted May 18 Posted May 18 @reboot12 I cant find it in my Bios. Is it possible to modd the extracted file to [00]Disabled Dietmar
reboot12 Posted May 18 Posted May 18 If you have AMI bios then you can generate all CMOS setting also hidden using AMISCE tool
Dietmar Posted May 18 Posted May 18 @reboot12 Can you modd this file (extracted body from Gigabyte B860DS3H Bios F6) https://files.catbox.moe/r0f94x.efi so that the UEFI Variable RemapEnable is set to [00]Disabled Dietmar
reboot12 Posted May 18 Posted May 18 (edited) No, You need run AMISCE tool for your platform or newer with /d option in UEFI Shell then generate CMOS settings to .txt file: sceefi64 /d /o /s CMOS.txt As I remember correctly I already explained to you recently (about unlock CSM in yours Intel Gen12 mobo) and I think I even sent for you AMISCE tool. Yes, I found in topic Compiling ACPI v2.0... https://msfn.org/board/topic/183464-compiling-acpi-v20-driver-for-windows-xp-sp3-and-windows-2003-sp2-x32x64/page/133/#findComment-1266974 Edited May 18 by reboot12
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now