[Tool] ConvertNT5SKUs - Convert Windows NT 5.x SKUs v3.0.0 (RC2)

Discussion in 'Windows XP / Older OS' started by example12345678912345678, Oct 31, 2021.

  1. Andalu

    Andalu MDL Novice

    Apr 25, 2020
    39
    11
    0
  2. George King

    George King MDL Expert

    Aug 5, 2009
    1,961
    2,451
    60
    And when converted to client (Professional) patch is needed too. It's just stupid SKU lock.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. acer-5100

    acer-5100 MDL Guru

    Dec 8, 2018
    4,003
    2,919
    150

    On the other hand the opposite is true, SKUwitching a client to server removes the lock (unfortunately in W10 it's limited to 4GB even using the highest server SKUs)

    Obviously it is. It wasn't there in XP SP0 (and SP1 IIRC)
     
  4. George King

    George King MDL Expert

    Aug 5, 2009
    1,961
    2,451
    60
    You can’t compare XP SP1 vs XP SP3, they are like two different systems. Really a huge changes accross whole system.

    XP SP3 doesn’t contain needed code for PAE itself. Thats why we need to use @daniel_k PAE patch instead. On 2003 - 10 use PAE patch by evgen-b.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. acer-5100

    acer-5100 MDL Guru

    Dec 8, 2018
    4,003
    2,919
    150

    Yeah, they were likely closer to win2k than XP Sp3

    I lost track of what patch I use, when I used it first I spent a day to get the damn thing working reliably, so I kept copying the hal and kernel across new builds, and they never failed since.
     
  6. example12345678912345678

    Dec 29, 2019
    568
    319
    30
    Thanks to BF10's ISO Compare program, I am now able to adjust components based on the target edition.
    VirtualBox_Windows XP Home x64 Edition_06_05_2024_13_22_17.png
    From now Home Edition on x64 will lack components from Professional edition. Just like original Windows XP Home Edition ISOs for x86.
    @ohault, @acer-5100, @MilkChan, @George King, @Andalu
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  7. George King

    George King MDL Expert

    Aug 5, 2009
    1,961
    2,451
    60
    #187 George King, May 6, 2024
    Last edited: May 6, 2024
    @example12345678912345678 Looking forward for your progress. Will be really interesting to use your tool to prepare non-existant ISO. Seems like I need then expand some handling for these ISOs in XP2ESD :D
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  8. George King

    George King MDL Expert

    Aug 5, 2009
    1,961
    2,451
    60
    Code:
    [For Windows XP/2003/Longhorn 4093:]
    1.  Open Command Prompt window as Administrator.
    
    2.  cd C:\Windows\system32
        Make sure the current directory is in fact system32.
    
    3.  C:\WherePatchPaeIs\PatchPAE3.exe -type kernel -o ntxpnew.exe ntkrnlpa.exe
        This will patch the kernel to enable a maximum of 128GB of RAM.
    
    [For Windows XP Only, no need for 2003/2000/Longhorn 4093:]
    4.  C:\WherePatchPaeIs\PatchPAE3.exe -type hal -o halnew.dll hal.dll
        This will patch the hardware abstraction layer to
        enable a maximum of 128GB of RAM.
    
    5.  attrib -R -A -S -H c:\boot.ini
        You must change attributes for c:\boot.ini to modify it.
        Then open c:\boot.ini in text editor:
        notepad c:\boot.ini
    
    [For Windows XP only:]
    6.  Add the line like this to section [operating systems] in c:\boot.ini:
        multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP (PAE Patched)" /kernel=ntkrnlpa.exe /hal=halnew.dll /fastdetect /pae /noexecute=optin.
        where "multi(_)disk(_)rdisk(_)partition(_)\WINDOWS" you will copy from
        existing item in c:\boot.ini
    [For Windows 2003/Longhorn 4093 only:]
    6.  Add the line like this to section [operating systems] in c:\boot.ini:
        multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Server 2003 (PAE Patched)" /kernel=ntkrnlpa.exe /fastdetect /pae /noexecute=optin.
        where "multi(_)disk(_)rdisk(_)partition(_)\WINDOWS" you will copy from
        existing item in c:\boot.ini
    
    7.  Then save changes in c:\boot.ini.
        You no need to patch the HAL in Server 2003/2000/Longhorn 4093.
        You no need to patch the loader in XP/2003/2000/Longhorn 4093.
    
    8.  attrib +R +A +S +H c:\boot.ini
        Set attributes for c:\boot.ini to system/hidden.
    
    9.  Restart the computer and enjoy.
        Some stupid 32-bit XP drivers cannot work with more then 4 GB.
        You may replace it from Server 2003.
    
    [For Windows 2000/2003SP0:]
        PatchPAE cannot run in Windows 2000/2003SP0 now, but you may copy ntkrnlpa.exe
        from Win2k/Win2k3 to newer version of Windows like XP or 7 and patch it here.
        All actions for 2000 kernel are exactly same as for 2003 (step 3).
        Finally, copy patched kernel into Windows 2000 back and add new
        item in Win2k boot.ini like 2003 (step 5-8).
    
    To remove the patch from XP/2003/2000/Longhorn 4093:
        * Delete line with "Windows XP (PAE Patched)" in
          section [operating systems] in c:\boot.ini
        * Delete the files ntxpnew.exe and halnew.dll from C:\Windows\system32.
    
    
    
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. Andalu

    Andalu MDL Novice

    Apr 25, 2020
    39
    11
    0
    @George King

    Thanks :cool:

    The system now recognizes all the installed RAM, but the boot.ini file must be modified by replacing "/kernel=ntkrnlpa.exe" with "/kernel=ntxpnew.exe"
     
  10. example12345678912345678

    Dec 29, 2019
    568
    319
    30
    Now same thing applies for the Professional Edition. Professional SKUs will lack Server stuff. I've decided to use an ISO that is only available in Server SKU to prove that.
    VirtualBox_Windows XP Professional x64 Edition_19_05_2024_19_41_30.png
    After some tries, I got it. But obviously @George King's syssetup.dll patch wouldn't work there. So I had to replace the syssetup.dll file with pre-patched DLL files.
    Some people may think it is IA-64 due to 64-Bit Edition branding but it is not. Early versions of Windows XP Professional x64 Edition had the brandings of the Itanium version.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  11. acer-5100

    acer-5100 MDL Guru

    Dec 8, 2018
    4,003
    2,919
    150
    Yes. This is RC1 I think, back on the day I used a slightly older version (Beta1 probably) and it had the Itanium branding, but lacked themes and a bunch of other graphical things.

    Perhaps such old versions ran only on AMD64, Intel already started to copy the AMD architecture, but Windows was still unaware of that, and BSOD on early Intel 64 bit CPUs
     
  12. example12345678912345678

    Dec 29, 2019
    568
    319
    30
    #193 example12345678912345678, Jun 15, 2024
    Last edited: Jun 16, 2024
    (OP)
    Finally I got both Compute Server and Storage Server SKUs working. First of all most of the brandings were set by ProductSuite registry value. Strings such as DataCenter or Blade were set by a file setupdd.sys. Those were not defined on setupdd.sys, I've decided to replace one of the strings with Compute Server and Storage Server. Both were 15-characters long and I had to find a string with the same length and found Small Business. I replaced it with Storage Server string and got all brandings changed except msgina.dll.
    Compute Server gave me the same result.
    VirtualBox_Windows Server 2003_15_06_2024_18_58_09.png
    VirtualBox_Windows Server 2003_15_06_2024_18_57_47.png
    VirtualBox_Windows Server 2003_15_06_2024_19_06_15.png
    VirtualBox_Windows Server 2003_15_06_2024_19_07_13.png
    Edit: Windows Unified Data Storage Server 2003 SKU added too.
    VirtualBox_Windows UDS Server 2003_16_06_2024_13_30_40.png
    To convert to this edition, use SETUPDD.SYS from Storage Server, SETUPREG.HIV file I've provided and add this to AddReg section of HIVESFT.INF.
    Code:
    HKLM,"SOFTWARE\Microsoft\ServerAppliance","Edition",0x10001,3
    HKLM,"SOFTWARE\Microsoft\ServerAppliance","FSMRefresh",0x10001,1
    HKLM,"SOFTWARE\Microsoft\ServerAppliance","OOBEStart",0x10001,0
    HKLM,"SOFTWARE\Microsoft\ServerAppliance","R2Refresh",0x10001,1
     

    Attached Files:

    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  13. example12345678912345678

    Dec 29, 2019
    568
    319
    30
    I added support to create custom editions. Now a SKU can include components from both Professional and Server. Here is the example:
    VirtualBox_Windows Server 2003_23_06_2024_20_59_11.png
    My next goal will be to create Lite editions.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  14. example12345678912345678

    Dec 29, 2019
    568
    319
    30
    Thanks to the patch I found for setupapi.dll, now it is possible to convert skus in betas without triggering signature error. But the thing is you still have to set BIOS dates in order to install.
    Windows Longhorn Server-2024-07-10-13-58-08.png
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  15. example12345678912345678

    Dec 29, 2019
    568
    319
    30
    I implemented codes for Storage, Computer and Unified Data Storage Server SKUs for x64. Some places say Standard x64 Edition due to ProductSuite value. Some places do not say anything at all as you can see in the screenshot. It bears Standard x64 Edition brandings on msgina.dll only and boot screen is the only place that mentions the respective SKU.
    VirtualBox_Windows XP x64_16_08_2024_01_56_10.png
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  16. example12345678912345678

    Dec 29, 2019
    568
    319
    30
    I finally figured out to make the Server Manager work on Longhorn Server conversions.
    The main file was named mys.dll, I found a .hta file and it could be opened via notepad. After that I found out that this program was written by jscript and it obviously wouldn't work on any system with its absence. So I implemented some code that installs the file and registers it. After some trials and errors, I did it.
    Windows Longhorn Server-2024-08-31-23-13-21.png
    P.S: This build is only available in Professional SKU, so the OS in the image is created by the tool.
    NT 5.1 uses a different executable named cys.exe, so I have to figure the executable out before being able to do the same on NT 5.1.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  17. example12345678912345678

    Dec 29, 2019
    568
    319
    30
    I'm getting closer to the perfect in ConvertNT5SKUs v3.0.0 confidential releases exclusive to Discord Server members (DM me to join.)
    VirtualBox_Windows XP Server_27_09_2024_15_00_43.png
    I also found a way to get rid of driver warnings for x86-based conversions. Unfortunately I have to use a WINNT.SIF file to skip driver warnings.
    Note: The Driver warnings are gone only for clean-installs. Upgrades still show the driver warnings.
    Found out that not-all Longhorn builds were compatible with ConvertNT5SKUs mainly 4066 Server. Now I'm gonna work on that.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  18. example12345678912345678

    Dec 29, 2019
    568
    319
    30
    #199 example12345678912345678, Oct 15, 2024
    Last edited: Oct 15, 2024
    (OP)
    I've implemented the Media Center Edition and Tablet PC Editions for Windows XP/2003 versions without Service Pack. Next will be Longhorn, after that I might consider publicly releasing the next version of ConvertNT5SKUs as well as the ConvertNT6SKUs Prototype. I'm terribly sorry for making you wait for months. But it will be worth it I promise.
    VirtualBox_Windows XP_15_10_2024_20_23_24.png
    Windows Longhorn Home Edition-2024-10-15-20-46-37.png
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  19. example12345678912345678

    Dec 29, 2019
    568
    319
    30
    I made some more improvements regarding Server editions.
    VirtualBox_Windows Neptune_26_10_2024_14_19_31.png
    VirtualBox_Windows Neptune_26_10_2024_14_46_03.png
    Windows Neptune Server is not that interesting as you expected. It's just Windows 2000 Server with no "Neptune Server" brandings. Server Manager is not available, because I was unable to find a patch for GUI-mode setup for build 5111.
    VirtualBox_Windows XP Server_09_11_2024_21_24_21.png
    It is possible to backport Server Manager from Windows Server 2003 to NT 5.1. All you need to do was having jscript.dll and mys.dll installed via regsvr32.
    VirtualBox_Windows Server 2003 x64_09_11_2024_20_34_06.png
    I also added support for Professional to Server conversions on x64. However there're some non-severe bugs.
    I'm in process on having wow64 components copied for 64-Bit conversions.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...