XP/W2k3 x64 on Modern Hardware

Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware

This thread will focus primarily on Windows XP Professional 64-Bit and Windows Server 2003 64-Bit operating systems on Modern Hardware to separate discussions from other Windows XP 32-Bit and Server 2003 32-Bit thread. Use this thread to keep content consistent as compatibility differences exist between XP / Server 2003 32-Bit and 64-Bit versions and to not confuse other users. I will ask Lost_N_Bios to move posts from the 32-Bit thread that are 64-Bit related to this one.

Issues:
*Unattended installation of Windows XP Pro 64-Bit and Server 2003 64-Bit using WINNT.EXE from 32-Bit versions.
Need patching of XP SP0 / Gold version file of WINNT.EXE to avoid the signature is invalid error code 800b0100.
This is needed to do a custom installation when modifying certain .INF files.


*Booting on UEFI only motherboard

*ACPI 64-Bit Drivers

*Intel USB 3.0 64-Bit Drivers


[AMD]
ReactOS StorAHCI

[Intel]
[SATA]
Universal Intel SATA driver for 64-Bit XP Pro or Server 2003 - Using my modified driver you can install this driver over an existing SATA AHCI installed running system such as Sandy Bridge. Then move the same installed OS drive to an Ivy Bridge, Haswell, Broadwell, SkyLake, Kaby Lake, or Coffee Lake system and it should boot into the OS. I used this with an older Ivy Bridge install that now works on Coffee Lake without reinstalling the OS from scratch.

11-8-2019 630
11-9-2019 747
11-13-2019 823
11-16-2019 1002!


Edit by Fernando: Thread title shortened/customized

[Drivers]


[Intel]
[SATA]
XP Pro 64-Bit and Server 2003 64-Bit - Universal Intel SATA Controller Driver - XPLIVES64.ZIP


Quick Filename renaming double click text copy paste:

XP Pro 64-Bit and Server 2003 64-Bit - Universal Intel SATA Controller Driver - XPLIVES64.ZIP

[Need Help Patching these files]

Used for WINNT0 - XPSP0 DOS UNATTENDED testing to later be used for Unattended XP Pro 64-Bit / Server 2003 64-Bit custom installation.
Need patching of XP SP0 / Gold version file of WINNT.EXE to avoid the signature is invalid error code 800b0100 which stops the GUI mode portion from continuing when certain files are modified and detected during Setup.

WINNT0 - XPSP0 DOS UNATTENDED NEEDS PATCHING.ZIP


Quick Filename renaming double click text copy paste:

WINNT0 - XPSP0 DOS UNATTENDED NEEDS PATCHING.ZIP

Using a previously installed Ivy Bridge installation of XP Pro 64-Bit that was set up on Intel SATA controller in IDE compatibility mode.

I swapped the SATA SSD to the Asmedia Port on SATA IDE compatibility mode and switched the Intel SATA in IDE compatibility mode to AHCI mode.

Booted on the Asmedia SATA and installed successfully my modified Universal Intel SATA controller driver that I created and then shut down after.

Connected the SATA SSD back to the Intel SATA controller and changed the Intel SATA controller from IDE compatibility mode back to AHCI mode in the BIOS.

Booted up without any issues on the Ivy Bridge in Intel SATA AHCI mode.

Then moved the SATA SSD to my Coffee Lake system and connected to the Intel SATA controller (AHCI) mode only.

Booted up fine without issues and began detecting devices.

Used Daniel_K’s XP Pro 64-Bit modified ACPI.sys in order to boot the system otherwise it will BSOD A5 due to ACPI error.

Here are the results.

Maxing out above 64GB DDR4.

[[File:XPLives XP Pro x64 SP1 64GB Daniel_K ACPI.JPG|none|fullsize]]

[[File:XPLives XP Pro x64 SP1 64GB Task Manager Max Memory.JPG|none|fullsize]]


Largest Ramdrive Chunk:
63434MB of 65481MB
OS Minimum reserved 2047MB

If the modded ACPI.sys does NOT show the graphics card in the Device Manager and is missing the graphics driver cannot be installed and the OS is stuck using the MS VGA.SYS generic driver. I had to switch to MPS mode or use the F7 NO APCI method in order to see my graphics card in the Device Manager.

If your system detects the video card device properly do NOT convert it to MPS mode.

Comment on this thread to let us know which Motherboard Brand and Model you are using including BIOS version and CPU model installed which may be useful for others.

If you are using an AMD X299 or later chipset the modded ACPI.SYS for XP/2003 32-Bit seems to work properly.

Using the F7 NO ACPI Method to install the OS, MPS mode does not work and you will be stuck in “Standard PC” Mode and have only access to one core so only choose this method if you want to just run XP on AMD in single core without ACPI as a last resort.


To convert ACPI Multiprocessor to MPS

Go to Device Manager,

Double Click "Computer"

Double Click "ACPI Multiprocessor PC"

Click the “Driver” tab at the top of the window.

Click “Update Driver”

“Welcome to the Hardware Update Wizard” window will pop up.

Click the bubble "no, not this time"

Click “Next >”

"This wizard helps you install software for:
ACPI Multiprocessor PC

Click the bubble "Install from a list or specific location (Advanced)"

Click “Next >”

“Please choose your search and installation options.” window will pop up.

Click the bubble “Don’t search. I will choose the driver to install.”

“Select the device driver you want to install for this hardware.” window will pop up.

Check box “Show compatible hardware” should be checked.

[Model]
ACPI Multiprocessor PC
Advanced Configuration and Power Interface (ACPI) PC
MPS Multiprocessor PC
Standard PC

Click on
MPS Multiprocessor PC

Click "Next >"

The drivers should automatically install and ask you to reboot the computer.

After rebooting the system you will be in

MPS Multiprocessor PC Mode and the Video Card device will be visible so you can install the proper drivers.

Some limitations:
Hyperthreading is lost so only real cores will be shown in the Taskbar
Standby power mode is not present
Shutdown works but does not turn off the computer and must be done manually using the Power Button on your computer or power supply.




Daniel_K’s modded ACPI for XP Pro 64-Bit however seems to work properly on my Z370 using the same BIOS. It does not have the missing video card in Device Manager issue and I successfully installed my nVidia graphics card modified drivers.

So maybe if Daniel_K can do the same mod on the 64-Bit version to the 32-Bit version of the ACPI.sys this may fix this issue of missing graphics card on some Intel chipsets.

One issue that I’ve having is USB Audio or HDMI Audio not working properly with Mame v0.70 testing but other programs so far seems to work. So maybe there is still some issue that needs fixing as on the Ivy Bridge in ACPI mode I do not recall having this issue.

Modded ACPI.sys working systems

[Motherboard Brand / Model]

[AMD]


[Intel]

Place holder

Place holder

Place holder

Place holder

Place holder

Slot holder



WinXP x64 only has ACPI HAL’s

Can you link the (x64) version of Daniel_K’s modded acpi.sys please? I can only find references to it in the XP 32 bit thread, but no mention of x64 and no download links. I’ve never experienced the BSOD associated with the original driver, but I also have a different chipset (Z170 vs your Z370, although with modified ACPI tables needed to support Coffee Lake CPUs). I’d like to have the ‘fixed’ acpi.sys in case I need it later on some new platform (and also out of interest, to disassemble and inspect the changes made).

This is my current setup, which I’ve just moved to my Z170 system due to no longer wanting to keep an old P55/Core i7 820 system around merely for the sake of being able to run XP:


I should note that I’m not using any of the AHCI drivers mentioned in this thread, but rather the official Intel RST 14.8.x drivers (due to TRIM support). The actual drivers are unmodified, but I’ve had to make substantial changes to the kernel to support the additional APIs required by newer RST versions (theoretically I should be able to use RST 16.x versions, although I have not yet tested these). Unfortunately, since this is based on the WRK sources, which were never released under a true open source license, I probably can’t share my patches without having a bunch of lawyers breathing down my neck. Similarly, the NVMe drivers are based on the OFA Community drivers with patches for NT 5.2. But I feel that these changes are not really significant enough to warrant uploading: my goal was to make XP x64 bootable from NVMe drives, not just read from and write to non-system drives, which is already possible with various other drivers also based on the OFA Community ones. I only ever managed to get this to (unreliably) work on an Intel 750 PCIe drive, which meanwhile has died. Samsung NVMe drives will produce a bugcheck 0x7B (INACCESSIBLE_BOOT_DEVICE).

One thing I’ve noticed compared to Linux and Windows 7 on this system is that the turbo boost clock of the Coffee Lake Xeon seems to max out at x42 (4200 MHz) under XP, while the other OSes can and do reach the maximum of x45 at times. I’m not too fussed about this since Xeons do not have an unlocked multiplier like Core K CPUs, so any boost is nice to have but can’t really be counted on. Furthermore of course running a Coffee Lake on a Z170 is a hack, and running a Xeon on a non-workstation/server board is a hack on top of a hack. So some irregularities are probably just down to that and not XP necessarily.


I can probably do this patch for you without much effort, but I’d need (complete, detailed) steps on how to reproduce the error first since I don’t have much experience slipstreaming XP setup files. The little experience I do have is all bad. That’s why I prefer to make disk images of an existing installation and just let Windows do the work of detecting and installing new devices when I "install" XP on another system by dd’ing the image to a new drive. Not the cleanest approach from a purist point of view, but in my experience by far the most practical. But if this patch can help to make the XP setup process work better in some way (or even just work for a start) then I’m willing to contribute. Since I assume that by "XPSP0" you mean the RTM version of XP x64, I’ll need some help getting my hands on this since the only official MS ISO I have already has SP1 integrated, which, while usually helpful, is probably not what you’re looking for. But if the error can be reproduced with the XP x64 SP1 setup, I can probably make the patch for that and then backport it to the SP0 version of WINNT.exe. Otherwise you will need to PM me some way of sourcing an RTM ISO of XP x64.



Here’s the link to the post with both the x86 and x64 variants of daniel_k’s modded ACPI.sys file: Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (149)


Thanks. I see these drivers are based on Vista beta ones which will make it a bit harder to diff compared to XP, but I’m still interested in finding out what makes it so that I’ve never needed this patch so far. I do know that ACPI.sys triggers numerous asserts on checked builds at boot time by passing bogus addresses to the kernel, but I kind of doubt that’s related since it doesn’t affect the behaviour of "normal" (non-checked) builds.

@XPLives
Thanks for the PM with info on how to reproduce the 800b0100 "signature is invalid" error in setup. I’ve reproduced and investigated this using your suggested method (adding a newline to layout.inf), and the error is not actually caused by WINNT.EXE but by SYSSETUP.DLL. This file is in a cabinet file on the ISO, you can extract it with ‘expand -R SYSSETUP.DL_’ in /I386 or /AMD64 depending on the ISO bitness to get the uncompressed DLL.

Attached are patched 32 and 64 bit versions of SYSSETUP.DLL (recompressed again with ‘makecab SYSSETUP.DLL’) which will silently ignore mismatching catalog files and which won’t show the error message or abort the setup process if a catalog file fails verification due to file modifications. The downside is that you will get several of the following warnings during setup:

(click ‘Yes’ to continue)

…as well as three of these, all related to Terminal Server drivers:

(choose ‘Install the software automatically’ and then click ‘Yes’ on the next screen which will be another WHQL warning)

…and finally five of these one time after the installation has finished:

(click ‘Continue anyway’)

I could probably patch out these warnings as well, but that would make it so that anyone can install any unsigned driver without so much as a WHQL warning. I’m aware security on XP is already pretty much a joke, but personally I still prefer to at least get a notification so I know a driver is being installed. The current patch makes it so that setup can at least succeed instead of giving a fatal error.

The patched files are based on SP3/SP2 for x86/x64 respectively and are taken from the following ISOs:
1c735b38931bf57fb14ebd9a9ba253ceb443d459 en_windows_xp_professional_with_service_pack_3_x86_cd_x14-80428.iso
cd9479e1dbad7f26b8bdcf97e4aa71cbb8de932b en_win_xp_pro_x64_with_sp2_vl_x13-41611.iso

The reason for using the DLLs from the latest official MS ISOs instead of the RTM versions is that based on my testing, using a newer version of SYSSETUP.DLL doesn’t prevent the older installers from working, but using an older version of SYSSETUP.DLL to install an SP2/SP3 ISO may lead to issues.



Just for others who stumble upon looking for the ACPI drivers click the link title below.

Modded ACPI Drivers Depot 2000 XP 2003 2009

Look for this file attachment:
DK_ACPI XP 2003 32-Bit and 64-Bit Z370 Z390 Coffee Lake MOD 10-10-2019.ZIP

Both versions inside:
32 folder for 32-Bit
64 folder for 64-Bit

Using zip format so can be opened without any need of 3rd party decompression software. XPP SP0 can also decompress this file. Windows 2000 requires WinZip.

@MattiWatti
Windows XPP SP0 SYSSETUP files for modding.

The SP2/SP3 patched files caused BSOD 7B for whatever reason.

XPPSP0 SYSSETUP ORIG.ZIP (371 KB)

@Mattiwatti




Thanks for the first attempt. I thought you might have pulled something off with the photos you shown. I just got a PM from FireKillerGR who also tested your SYSSETUP.DLL I think used an XP SP3 install and experienced BSOD 7B error as well.

I also tried swapping my SYSSETUP.IN_ file from SP3 and WINNT.EXE from SP3 and used your modified SYSSETUP.DL_ from SP3. Only things unchanged was using all SP0 related core setup files. Had to ignore a few .CAT files missing but again once it finishes GUI Stage 1 Setup and Reboots for preparation of First Desktop Boot into XP it gets BSOD 7B. Somehow the patched files are causing this issue somewhere. I don’t know how many steps were done in the patch maybe we should try patching one thing at a time and I will have to test each one to see where this error happens. But if you can patch the SYSSETUP.DL_ and SYSSETUP.IN_ files for XPP SP0 I uploaded here instead it would better for testing since the driver files I removed in the installer files had taken about 2 months or more of testing and redoing them for SP3 would take even longer which is why SP0 was chosen due to compact size and also the extra OS base memory gains compared to SP2/SP3.

Windows XP Pro 64-Bit and Server 2003 64-Bit on Modern Hardware (2)
XPPSP0 SYSSETUP ORIG.ZIP

I got my installer to install XP down from start to finish in about 12 minutes. So patching it I might be able to try and shave off another huge chunk to get XP down to its smallest size.

I also did not yet see these Windows Logo prompts yet that you saw. It must be occurring in SP1 -> SP3 only.


I took a look at your hacked mod CPU.
https://ark.intel.com/content/www/us/en/…o-4-50-ghz.html
3.30 GHz Base
4.50 GHz Boost

I liked the fact you beat the 4 Core Limit with a Xeon. It’s also nice it’s lacking the iGPU which is useless in XP due to the driver issue.

Have you been able to use ECC Registered Server Memory on your Motherboard with the Xeon CPU?

As for the 4200 MHz Limit in XP. Have you tried checking the BIOS and setting CPU Core Ratio to 45? Some motherboards you can set to the max CPU Clock Speed in the BIOS. If in Windows 7 you are seeing it hit 4500 MHz and 4200 MHz in XP it’s possible this is an ACPI related issue and must use the BIOS to set it higher.

@XPLives ,@daniel_k ,@infuscomus

Can you recommend some PCI sound cards with solid 64 bit XP drivers?.
Or even USB one, if they don’t take up much cpu resources.
It is mainly for TV news or watching on Ryzen B350 board while
encoding x265 at the same time.