Drivers and tools to run Windows XP on newer hardware

Discussion in 'Windows XP / Older OS' started by daniel_k, Apr 25, 2020.

Thread Status:
Not open for further replies.
  1. George King

    George King MDL Expert

    Aug 5, 2009
    1,961
    2,454
    60
    Yes, but these drivers are only for XP. To get it working on 2003 you need different ntoskrn8.sys compiled with 2003 compatibility. This is caused by different kernels in 5.1 / 5.2 and it's exported function.

    P.S. Don't worry about solution for XP2ESD :)

    EDIT: If you know how, we can edit INF to copy different files for different OS versions.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  2. asdf23451

    asdf23451 MDL Member

    Feb 10, 2019
    130
    10
    10
    #322 asdf23451, Feb 8, 2022
    Last edited: Feb 8, 2022
    Oh, I did use a different ntoskrn8.sys with my previous 2003 ISO, I'll try that one. In which files do I look in to replace the ntoskrn8.sys?

    Edit: I decided to swap the ntoskrn8.sys in the driver and remake the ISO. I wanted to change a tweak I had made, and this is the perfect opportunity. Will reply when I test it.

    Edit 2: Still didn't work, now trying the storport.sys I had in the other ISO.
     
  3. asdf23451

    asdf23451 MDL Member

    Feb 10, 2019
    130
    10
    10
    #323 asdf23451, Feb 8, 2022
    Last edited: Feb 8, 2022
    So I had to replace both ntoskrn8.sys and storport.sys to get it to not BSOD, however it doesn't see any hard drives in my VM with a SATA controller.

    Edit: Or not, I get the DEADBEEF BSOD later in the setup now.
     
  4. asdf23451

    asdf23451 MDL Member

    Feb 10, 2019
    130
    10
    10
    Generic_AHCI_6.2.9200.16384 expects storachi.sys, which doesn't exist.
     
  5. TeeBeutel007

    TeeBeutel007 MDL Novice

    Apr 14, 2019
    1
    0
    0
    Can anyone explain me how i should use WinXPPAE_v35? I patched all requiered files successfully. Should i copy all patched files in System32? Those links from winraid seem to not work anymore and some people said in previous posts to rename some files? Also some people mentioned that you need to edit boot.ini. What do I need to change there?
     
  6. asdf23451

    asdf23451 MDL Member

    Feb 10, 2019
    130
    10
    10
    I have an AHCI driver that works fine in textmode but gives me a 7B BSOD at the second stage of the setup. How come?
     
  7. pappyN4

    pappyN4 MDL Novice

    Feb 5, 2022
    20
    16
    0
    When i was testing nvme drivers, Schrom's NVME 1.5 did not work, but 1.3 did with my system. I would say there is value in including the 1.3 version as well for compatibility.
     
  8. George King

    George King MDL Expert

    Aug 5, 2009
    1,961
    2,454
    60
    Swap ntoskrn8.sys / storpor8.sys with attached files. Then you can integrate it into 2003 setup too.

    Thanks, I forget to modify it when moving to storahci8 filename. I will mod it to storahc8.sys instead to provide it's functionality to TXT setup too (even I'm not fan of this old method nowadays).

    Thanks for info, I will add it too!
     

    Attached Files:

    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. asdf23451

    asdf23451 MDL Member

    Feb 10, 2019
    130
    10
    10
    I found different drivers that work in text mode. However I need to find a way to get XP to install unsigned drivers without a prompt so I can get to the second portion of setup.
     
  10. ExtremelyFancyUsername

    Oct 17, 2018
    220
    71
    10
    Huh, that PAE patch seems to work on my Precision M6500 with 32GB RAM. Or at least, I can see I got 32GB RAM in About This Computer and taskman.
     
  11. pappyN4

    pappyN4 MDL Novice

    Feb 5, 2022
    20
    16
    0
    can someone check this manual integration to see what I'm doing wrong? It looks like somewhere in TXTSETUP.SIF. The windows installer gets past past "Kernel-Mode Driver Framework 1.11", then as soon as it does "USB 3.0 Controller Extension", it errors out saying "file ucx01000.sys could not be found"

    this part works fine
    SP#.cab file has acpi.sys, storport.sys, storpor8.sys, ntoskrn8.sys
    AMD64 folder has ACPI.SY_, STORPORT.SY_, STORPOR8.SY_, NTOSKRN8.SY_

    trying to integrate sata/nvme/usb3
    AMD64 folder in ISO
    amd_sata.ini
    amd_sata.sys
    amd_xata.sys
    stornvme.inf
    stornvme.sys
    wdf01011.inf
    wdf01000.sys
    wdfldr.sys
    ksecd8.sys
    ucx01000.sys
    usb8.sys
    usbhub3.inf
    usbhub3.sys
    usbxhci.inf
    usbxhci.sys
    wpprecorde8.sys


    in DOSNET.INF add (x64 already has a storport.sys line)
    [FloppyFiles.1]
    d1,ntoskrn8.sys
    d1,storpor8.sys
    d1,storport.sys
    d1,amd_sata.sys
    d1,amd_xata.sys
    d1,stornvme.sys

    [Files]
    d1,ntoskrn8.sys
    d1,storpor8.sys
    d1,storport.sys
    d1,amd_sata.inf
    d1,amd_sata.sys
    d1,amd_xata.sys
    d1,stornvme.inf
    d1,stornvme.sys
    d1,wdf01011.inf
    d1,wdf01000.sys
    d1,wdfldr.sys
    d1,ksecd8.sys
    d1,ucx01000.sys
    d1,usb8.sys
    d1,usbhub3.inf
    d1,usbhub3.sys
    d1,usbxhci.inf
    d1,usbxhci.sys
    d1,wpprecorde8.sys

    [FloppyFiles.2]
    d1,ksecd8.sys
    d1,ucx01000.sys
    d1,usb8.sys
    d1,usbhub3.sys
    d1,usbxhci.sys
    d1,wpprecorde8.sys

    in TXTSETUP.SIF add (x64 already has a storport.sys line)
    [SourceDisksFiles]
    storport.sys = 1,,,,,,3_,4,0,0,,1,4
    wdf01011.inf = 1,,,,,,,20,0,0

    [SourceDisksFiles.amd64] OR [SourceDisksFiles.x86]
    ntoskrn8.sys = 1,,,,,,3,4,0,0,,1,4
    storpor8.sys = 1,,,,,,3,4,0,0,,1,4
    amd_sata.inf = 1,,,,,,,20,0,0
    amd_sata.sys = 1,,,,,,3_,4,0,0,,1,4
    amd_xata.sys = 1,,,,,,3_,4,0,0,,1,4
    stornvme.inf = 1,,,,,,,20,0,0
    stornvme.sys = 1,,,,,,3_,4,0,0,,1,4
    wdf01000.sys = 100,,,,,,3_,4,0,0,,1,4
    wdfldr.sys = 100,,,,,,3_,4,0,0,,1,4
    ksecd8.sys = 1,,,,,,4_,4,0,0,,1,4
    ucx01000.sys = 1,,,,,,4_,4,0,0,,1,4
    usb8.sys = 1,,,,,,4_,4,0,0,,1,4
    usbhub3.inf = 1,,,,,,,20,0,0
    usbhub3.sys = 1,,,,,,4_,4,0,0,,1,4
    usbxhci.inf = 1,,,,,,,20,0,0
    usbxhci.sys = 1,,,,,,4_,4,0,0,,1,4
    wpprecorde8.sys = 1,,,,,,4_,4,0,0,,1,4

    [HardwareIdsDatabase]
    PCI\CC_010601 = "amd_sata"
    PCI\CC_010802 = "stornvme"
    USB\USB20_HUB = "usbhub3"
    USB\USB30_HUB = "usbhub3"
    USB\ROOT_HUB30 = "usbhub3"
    PCI\CC_0C0330 = "usbxhci"

    [SCSI.Load]
    amd_sata = amd_sata.sys,4
    amd_sata = amd_xata.sys,4
    stornvme = stornvme.sys,4
    usbxhci = usbxhci.sys,4
    usbhub3 = usbhub3.sys,4

    [SCSI]
    amd_sata = "AMD SATA/AHCI Controller"
    stornvme = "Standard NVM Express Controller"
    usbhub3 = "USB 3.X Hub Driver"
    usbxhci = "USB 3.X Host Controller"

    [FileFlags]
    ntoskrn8.sys = 16
    storpor8.sys = 16
    storport.sys = 16
    amd_sata.sys =16
    amd_xata.sys =16
    stornvme.sys =16
    wdf01000.sys =16
    wdfldr.sys =16
    wpprecorde8.sys =16
    usbxhci.sys =16
    usbhub3.sys =16
    usb8.sys =16
    ucx01000.sys =16
    ksecd8.sys =16

    [BootBusExtenders.Load]
    wdf01000 = wdf01000.sys

    [BusExtenders.Load]
    ucx01000 = ucx01000.sys

    [InputDevicesSupport.Load]
    usbxhci = usbxhci.sys
    usbhub3 = usbhub3.sys

    [InputDevicesSupport]
    usbhub3 = "USB 3.X Hub Driver",files.usbhub3,usbhub3
    usbxhci = "USB 3.X Host Controller",files.usbxhci,usbxhci

    [files.usbxhci]
    hid.dll,2
    hidclass.sys,4
    hidparse.sys,4
    usb8.sys,4
    usbport.sys,4
    usbxhci.sys,4
    wdfldr.sys,4
    [files.usbhub3]
    usbhub3.sys,4
    usb8.sys,4
    ksecd8.sys,4
    wdfldr.sys,4
    [files.ucx01000]
    ucx01000.sys,4
    wpprecorde8.sys,4
    wdfldr.sys,4
    [files.wdf01000]
    wdf01000.sys,4
    wdfldr.sys,4

    [BootBusExtenders]
    wdf01000 = "Kernel-Mode Driver Framework 1.11",files.wdf01000,wdf01000

    [BusExtenders]
    ucx01000 = "USB 3.0 Controller Extension",files.ucx01000,ucx01000



    in HIVESYS.INF add
    [AddReg]
    HKLM,"SYSTEM\CurrentControlSet\Services\amd_sata\Parameters\PnpInterface","5",0x00010003,"1"
    HKLM,"SYSTEM\CurrentControlSet\Services\amd_sata\Device","oem",0x00010001,"1"
    HKLM,"SYSTEM\CurrentControlSet\Services\amd_sata\Device","AmdSataShutdown",0x00010001,"0"
    HKLM,"SYSTEM\CurrentControlSet\Services\stornvme\Parameters\PnpInterface","5",0x00010003,"1"
    HKLM,"SYSTEM\CurrentControlSet\Services\stornvme\Parameters","IoTimeoutValue",0x00010001,"a"
    HKLM,"SYSTEM\CurrentControlSet\Services\stornvme\Parameters","BusType",0x00010001,"0x00000011"
    HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\Setup","X1-WDF01011_INSTALL",0x00000000,"RunDll32.exe SetupAPI.dll,InstallHinfSection PostSetup 132 wdf01011.inf"
    HKLM,"SYSTEM\CurrentControlSet\Services\Wdf01000","Type",0x00010001,"1"
    HKLM,"SYSTEM\CurrentControlSet\Services\Wdf01000","Start",0x00010003,"0"
    HKLM,"SYSTEM\CurrentControlSet\Services\Wdf01000","ImagePath",0x00020000,"system32\drivers\wdf01000.sys"
    HKLM,"SYSTEM\CurrentControlSet\Services\Wdf01000","Group",0x00000000,"Boot Bus Extender"
    HKLM,"SYSTEM\CurrentControlSet\Services\Wdf01000","ErrorControl",0x00010001,"1"
    HKLM,"SYSTEM\CurrentControlSet\Services\USBXHCI","Type",0x00010001,"1"
    HKLM,"SYSTEM\CurrentControlSet\Services\USBXHCI","Start",0x00010003,"0"
    HKLM,"SYSTEM\CurrentControlSet\Services\USBXHCI","ImagePath",0x00020000,"system32\drivers\usbxhci.sys"
    HKLM,"SYSTEM\CurrentControlSet\Services\USBXHCI","Group",0x00000000,"Input Device Support"
    HKLM,"SYSTEM\CurrentControlSet\Services\USBXHCI","ErrorControl",0x00010001,"1"
    HKLM,"SYSTEM\CurrentControlSet\Services\USBHUB3","Type",0x00010001,"1"
    HKLM,"SYSTEM\CurrentControlSet\Services\USBHUB3","Start",0x00010003,"0"
    HKLM,"SYSTEM\CurrentControlSet\Services\USBHUB3","ImagePath",0x00020000,"system32\drivers\usbhub3.sys"
    HKLM,"SYSTEM\CurrentControlSet\Services\USBHUB3","Group",0x00000000,"Input Device Support"
    HKLM,"SYSTEM\CurrentControlSet\Services\USBHUB3","ErrorControl",0x00010001,"1"
    HKLM,"SYSTEM\CurrentControlSet\Services\Ucx01000","Type",0x00010001,"1"
    HKLM,"SYSTEM\CurrentControlSet\Services\Ucx01000","Start",0x00010003,"0"
    HKLM,"SYSTEM\CurrentControlSet\Services\Ucx01000","ImagePath",0x00020000,"system32\drivers\ucx01000.sys"
    HKLM,"SYSTEM\CurrentControlSet\Services\Ucx01000","Group",0x00000000,"System Bus Extender"
    HKLM,"SYSTEM\CurrentControlSet\Services\Ucx01000","ErrorControl",0x00010001,"1"
    HKLM,"SYSTEM\CurrentControlSet\Control\Wdf\Kmdf\Ucx\Versions\1\1","Service",0x00000000,"ucx01000"


    for SETUPREG.HIV use offlinereg-win32.exe to add
    offlinereg-win32.exe SETUPREG.HIV "ControlSet001\Control\Wdf\Kmdf\1" setvalue "Version" "1.11" 1
    offlinereg-win32.exe SETUPREG.HIV "ControlSet001\Control\Wdf\Kmdf\KmdfLibrary\Versions\1" setvalue "Service" "Wdf01000" 1
    offlinereg-win32.exe SETUPREG.HIV "ControlSet001\Control\Wdf\Kmdf\Ucx\Versions\1\1" setvalue "Service" "ucx01000" 1
    offlinereg-win32.exe SETUPREG.HIV "ControlSet001\Control\Wdf\Schema\KmdfService" setvalue "Type" "0" 4
    offlinereg-win32.exe SETUPREG.HIV "ControlSet001\Control\Wdf\Schema\KmdfService\Object" setvalue "KeyPath" "CurrentControlSet\Services" 1
    offlinereg-win32.exe SETUPREG.HIV "ControlSet001\Control\Wdf\Schema\KmdfService\Object" setvalue "KeyRoot" "SYSTEM" 1
    offlinereg-win32.exe SETUPREG.HIV "ControlSet001\Services\Wdf01000\Parameters" setvalue "BuildNumber" "0" 4
    offlinereg-win32.exe SETUPREG.HIV "ControlSet001\Services\Wdf01000\Parameters" setvalue "MajorVersion" "1" 4
    offlinereg-win32.exe SETUPREG.HIV "ControlSet001\Services\Wdf01000\Parameters" setvalue "MinorVersion" "11" 4


    REPLACE
    in amd_sata.inf
    [SourceDisksNames]
    1 = %DiskId%,,,"\AMD64" OR 1 = %DiskId%,,,"\I386"

    in stornvme.inf
    [SourceDisksNames]
    1 = %DiskId%,,,"\AMD64" OR 1 = %DiskId%,,,"\I386"

    in wdf01011.inf
    [SourceDisksNames]
    1 = "Kernel-Mode Driver Framework 1.11",,,"\AMD64" OR 1 = "Kernel-Mode Driver Framework 1.11",,,"\I386"

    in usbxhci.inf
    [SourceDisksNames]
    1="Generic USB xHCI Host Controller",,,"\AMD64" OR 1="Generic USB xHCI Host Controller",,,"\I386"

    in usbhub3.inf
    [SourceDisksNames]
    1="Generic USB Hub Driver",,,"\AMD64" OR 1="Generic USB Hub Driver",,,"\I386"
     
  12. infuscomus

    infuscomus MDL Junior Member

    Apr 25, 2020
    52
    6
    0
    @pappyN4

    IIRC XP Textmode setup likes 8.3 filenames.
    so you'll need to rename wpprecorde8.sys to wpprecor.sys and change the import table in ucx1000.sys to reflect this too.
     
  13. macintelk

    macintelk MDL Novice

    Apr 16, 2015
    6
    1
    0
    can someone post a tested acpi.sys for xp64 ?
     
  14. star1

    star1 MDL Novice

    Aug 20, 2021
    1
    0
    0
    hi daniel_k

    I have downloaded your tool: WinXPPAE v3.5

    and read so many posts with some instructions but no where can I find a definitive easy to follow comprehensive list of instructions for those who find making these alterations not so easy.

    I have read that you issued instructions in a readme but that I can not find.

    Can you be so kind as to post exact full instructions to make the command line tool WinXPPAE v3.5 work for me so I can increase my Win XP sp3 ram?

    thank you in advance
     
  15. mistersmith

    mistersmith MDL Novice

    Jan 2, 2021
    5
    0
    0
    I don't know if this has been reported in this thread or forum before, but I feel like reporting on it regardless.

    Usually, the combination of Windows Server 2003's disk.sys/partmgr.sys files and Paragon GPT Loader are enough to allow for the use of >2TiB drives on Windows XP with no issues whatsoever. However, this only applies on IDE mode, as when using AHCI mode with the help of MovAX's storahci.sys driver, said driver promptly seizes upon contact with any >2TiB drive and utterly fails to recognize them in any form, with even Disk Management failing to pick up on them; the only place I can see them is in Device Manager, but that's it.

    Of course, the easy way out is to run all >2TiB drives in IDE mode, but such a thing is impossible on anything modern. It'd be very nice for storahci to not seize up when handling a >2TiB drive, as it sticks out like a sore thumb on an otherwise perfect Windows XP setup.
     
  16. LSS7777

    LSS7777 MDL Novice

    Feb 2, 2012
    14
    1
    0
    Copy the NTOSKRNL.EXE and HAL.DLL from your running system to where WinXPPAE resides. You need to rename them according to its internal name (most likely you'd be renaming them to NTKRPAMP.EXE and HALMACPI.DLL) to ensure WinXPPAE applies the correct patches.

    You can simply run WinXPPAE executable without any arguments to show the explanations. Mostly you need to specify /M:<SIZE> where <SIZE> can be xxxMB, xxxGB or ALL. You can also specify /NB or /NOBACKUP if you don't need it to create backups.

    You may test the patches without actually modifying the system. Simply put the files to %systemroot%\system32 as some other names (e.g. NTOSKRN2.EXE and HAL2.SYS) and duplicate a new boot option specifying the patched kernel and HAL. In this example, add the following boot parameters in the new boot option: /KERNEL=NTOSKRN2.EXE /HAL=HAL2.SYS

    (PS: You need to explicitly add /PAE parameter at the end of the boot option, if you have DEP completely disabled, aka /NOEXECUTE=ALWAYSOFF, as this implicitly disables PAE on XP preventing this patch from taking effect)

    If you want to actually replace those system files on your running system you need to use the move trick: Move (rename) the running files to somewhere else then put the files there and reboot.

    I once posted my experiences with WinXPPAE a few pages back. The patch itself works as intended for up to 64GB of RAM. More than 64GB of RAM may cause the system to reboot with no BSOD or other retrievable information.

    External factors (namely poorly written drivers) can also prevent the system from working. I had issues with ASUS (C-Media) sound card drivers which outright BSOD with the patch applied (also BSOD on vanilla Win2003). Eventually I settled on using M-Audio Audiophile 2496 (VIA ICE1712) whose drivers work fine with this patch.