Content Type
Profiles
Forums
Events
Everything posted by UsefulAGKHelper
-
XP x64 is based on windows server 2003 codebase, so try to compile bootvid from windows server 2003 source code in 64 bit. In bootdata.c and bootvid.c of W2003 > NT > base > boot > bootvid folder , replace all strings containing "640x480" with "1024x768" using Ctrl+H and try to compile bootvid 64-bit and give the link if there are no compiling errors.
-
The thing is that I tried to compile Bootvid.dll numerous times from the source code but it always gives me errors, even the untouched code. What I tried to do is change the resolution on bootvid.dll from 640x480 to 1024x768. Why? I am trying to force XP's BSOD to show on UEFI mode when a VGA emulator like Uefiseven/FlashBootPro is used for a fake int10h handler, so I can see if the problem is caused by acpi.sys or something else. I can't debug because I have only one functional laptop, btw I don't even have a serial cable. On already installed XP x64 from XP2ESD (with VirtualBox) that I was trying to boot on real hardware, the mass storage controller driver is installed (device manager entry matching real hardware ID is added from edited reg file from host's enum key), USB 3.0 is installed, Int 10h emulator is used, so maybe it's either the ACPI problem or the fact that my laptop's chipset isn't PIIX3. My Chipset is "I/O LPC Controller - 9D84 for Intel(R) 300 Series Chipset Family On-Package Platform Controller Hub", PCI\VEN_8086&DEV_9D84&REV_30, maybe this chipset doesn't support XP, because it uses generic msisadrv driver (service) that isn't included natively on XP.
-
Well Windows XP x64 on my Coffee Lake laptop refuses to boot unless it's on a Virtual Machine. I wish there was a way to implement boot graphics from windows 8 ntoskrnl so we can see the BSOD in case of trying to boot XP x64 on UEFI without CSM (NOGUIBOOT with 16497 winload.efi). Even if I use VGA emulators like VgaShim/UefiSeven/FlashBootPro, XP still won't boot on my UEFI Class 3 laptop. If I was able to see BSOD without debugging on NOGUIBOOT, then maybe I would be able to try to find the cause much easier. I think you should try to create packages that allow users to patch XP kernel files for UEFI support. I also think you should borrow the graphics from windows 8's kernel not for design purposes but for functional purposes of automatically patching the kernel in memory on UEFI mode to force vga.sys and vgapnp.sys to support the GOP/UGA framebuffer just like FlashBoot does, so display with VGA drivers will work just like in CSM mode. This is related to ACPI because if I can't see the BSOD, I can't figure out if the problem is caused by ACPI or other drivers. If I can't even boot an XP installation cleaned up with sysprep from 16497 winload.efi with BCD with VGA Emulator + DisableIntegrityChecks and proper mass storage controller drivers, then the problem may be on XP's kernel. Winload.efi 16497 is capable of booting XP, so I was wondering if there was a way to make it patch XP's kernel into memory automatically to include UEFI support for XP so it can boot effortlessly on UEFI without CSM.
-
Windows XP/2003 x32 on Modern Hardware FAQ
UsefulAGKHelper replied to Mov AX, 0xDEAD's topic in Windows XP
Here's backported VirtIO SCSI driver for XP (both 32-bit and 64-bit versions): https://anonfiles.com/27HeD1meza/virtio_win_0_1_171_win_xp_zip -
Sysprep WinXP SP2 64-bit on pure UEFI PC (no CSM)
UsefulAGKHelper replied to reboot12's topic in Windows XP 64 Bit Edition
@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 -
[RELEASE] ViStart v8.1.5258 - Start Menu replacement for XP-10
UsefulAGKHelper replied to George King's topic in Windows XP
@mina7601 Btw, I'm partially involved in improving some of the designs made by others for the ViStart start menu designs. I'm also open for feedback regarding that btw. -
@Mov AX, 0xDEAD Out of curiosity, I wonder if the 2.0 acpi driver compiled from your tool can run on XP on computers that lack CSM support (uefi class 3), like my computer in case: System Manufacturer: ASUSTeK COMPUTER INC. System Model: VivoBook_ASUSLaptop X509FA_X509FA System Type: x64-based PC Processor: Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz, 1992 Mhz, 4 Core(s), 8 Logical Processor(s) BIOS Version/Date: American Megatrends Inc. X509FA.306, 24.09.2021 Restart after boot crash is enabled, so if I use the 2.0 acpi.sys compiled using your tool, no crashes but xp (made using XP2ESD with latest backported drivers including nvme, custom acpi drivers and uefi support using vista beta files) still doesn't boot but the boot logo stays that way until I press power button to restart. If acpi.sys had BSODs, it would restart immediately so maybe the acpi.sys works and the problem is caused by something else that hangs at win32k session and yes I use vga emulator (FlashBootPro/UefiSeven) to provide fake int10h handler to try to boot XP on uefi-only hardware (on an older model, xp would boot even without CSM, but on an newer model it refuses to boot, keyboard unresponsive because of possible user-mode BSOD). I know I wouldn't be able to debug using a single hardware but I wonder if I can try to add my host pc's DSDT into virtualbox's bios so I can debug acpi.sys from virtualbox (I know how to start a basic windbg session using windbg preview with virtualbox's serial COM1 port to debug a windows from the virtual machine).
-
Using CFF explorer. To make the driver use the kernel extender, in the import section, rename ntoskrnl.exe to ntoskrn8.sys (obviously ntoskrn8.sys needs to be in the same directory as the driver so it works). If driver is designed for only windows 8 and newer os, Security_cookie (4EE640BB on 32-bit file, 32A2DF2D992B on 64-bit file) can be changed on hex editor to random value (first match only). Save the respective file, re-open the same file and refresh checksum and save again. To check the dependencies of the file, use Depedency Walker to check for missing imports. If there are problems, please post screenshots.
-
Windows once connected to the debugger, it relies on it to run once it's data shows on the debugger, maybe that's why it's slower. Without debugging, it's much faster because it doesn't rely on the debugger. Obviously without the "optimization", BSOD appears. Obviously, you should still debug ACPI.SYS for testing purposes (using commands to get it to boot without BSOD) but if things take too long to work, then you should also try the same without the debugger so it can show the BSOD faster.
-
Yes, I managed to do it using WinDBG preview, you can easily get it from Microsoft Store (for me only the version of windbg from microsoft store works to start debugger on VirtualBox, I don't know why). I got the information from this link: https://github.com/Dump-GUY/Malware-analysis-and-Reverse-engineering/blob/main/WINDBG Kernel%26User Mode Debugging/WINDBG Kernel%26User Mode Debugging.md Here's what I have done so far (serial debugging): For more advice on how to use proper commands to do the debug tests properly on VirtualBox, you can also ask @Mov AX, 0xDEAD and @Dietmar for help. Serial debugging with VirtualBox is what I am familiar. For other types of debugging, you can always ask these two or anyone else experienced with using WinDBG. If BCD is disabled, the following switches for debuging on boot.ini can be found here: https://learn.microsoft.com/en-us/troubleshoot/windows-server/performance/switch-options-for-boot-files#more-information Good luck.
-
@Mov AX, 0xDEAD @Dietmar I am a begginer at C and I managed to compile x64 ACPI.sys 2.0 v7 without compiling errors using Mov's tool (thanks to practicing using WinDDK 7600 to compile ntoskrn8 to add functions to drivers, I even learned how to port drivers by adding blank stubs, modifying inf and changing imports using CFF explorer even tho I don't have any experience of adding code in WinDDK besides only functions that are blank stubs, this is relevant because WinDDK has made me learn how to add code in C properly). I wonder if the razzle tool from source code can compile the other files aside from acpi without problems? Because if that's the case, then I will try to compile bootvid.dll so I can try to change the resolution of the kernel vga driver from 640x480 to 1024x768 so I can try to force BSOD to show (using FlashBoot bootmgfw.efi VGA emulator on pure-uefi laptop) to show if XP crashed while booting from 16497 winload pure uefi (with only /BOOTLOGO specified in LoadString, NOGUIBOOT isn't needed), to see if the problem is caused by ACPI.SYS (for debugging purposes on only one computer because I can't afford to buy a second one). Specs: VivoBook Asus X509FA , Intel(R) Core(TM) i7-8565 CPU @ 1.80 GHZ (8 CPUS), ~2.0 Ghz, 8 GB Ram, supports Windows 11, Intel (R) UHD Graphics 620, 500GB NVME SSD (supports IaStorAC.sys/IaStorAVC.sys driver (intel premium optane rst) as mass storage controller, or generic nvme driver on ahci mode), no CSM support (UEFI Class 3), no VGA port, no Optical drive etc.
-
Sysprep WinXP SP2 64-bit on pure UEFI PC (no CSM)
UsefulAGKHelper replied to reboot12's topic in Windows XP 64 Bit Edition
@reboot12 Just so you know, I have created topic about XP on UEFI class 3 2017+ hardware on MDL: https://forums.mydigitallife.net/threads/unresolved-getting-windows-xp-to-boot-on-uefi-class-3-from-2017-computers-without-bsods.86331/ -
Sysprep WinXP SP2 64-bit on pure UEFI PC (no CSM)
UsefulAGKHelper replied to reboot12's topic in Windows XP 64 Bit Edition
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." -
Sysprep WinXP SP2 64-bit on pure UEFI PC (no CSM)
UsefulAGKHelper replied to reboot12's topic in Windows XP 64 Bit Edition
@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.