Jump to content

reboot12

Member
  • Posts

    463
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    Poland

Posts posted by reboot12

  1. @DrunkenTanker

    • extract archive ASUS_VA247_WHQL_Driver.zip
    • delete file ASUS VA247.inf and copy my modded file ASUS VA247_xp.inf
    • right-click on the Desktop and select Properties
    • Settings tab > Advanced button > Monitor tab > Properties button > Driver tab > Update driver button > select Install from a list or specific location (Advanced) > select Don't search. I will choose the driver to install. > Next button > Have disk button > Browse button > open file ASUS VA247_xp.inf
      6300849800_1668104946_thumb.jpg 8338307000_1668104952_thumb.jpg

    The monitor driver can also be built using the Monitor Asset Manager tool. From menu File select Create INF...

  2. On 10/30/2022 at 2:17 PM, jaclaz said:

    As a windows XP FTP client I can suggest (good ol') LeechFTP

    As an Android FTP server, you can use Material Files 1.5.2 or FTP Server 0.11.5 and on WinXP for FTP Client (download/upload), you don't need anything more than built-in old Internet Explorer 6 :)

    6930419200_1667501393_thumb.jpg

    Instead of FTP, you can use the AndSMB application via WiFi (download/upload).

  3. @George King

    You would be able to add support for edit boot order in NVRAM UEFI from WinXP 64-bit - access to table efi_boot_services

    EFI_BOOT_SERVICES

    You can do it under Linux with efibootmgr:

    root #efibootmgr -v
    
    BootCurrent: 0002
    Timeout: 3 seconds
    BootOrder: 0003,0003,0002,0000,0004
    Boot0000* CD/DVD Drive  BIOS(3,0,00)
    Boot0001* Hard Drive    BIOS(2,0,00)
    Boot0002* Gentoo        HD(1,800,61800,6d98f360-cb3e-4727-8fed-5ce0c040365d)File(\EFI\boot\bootx64.efi)
    Boot0003* Hard Drive    BIOS(2,0,00)P0: ST1500DM003-9YN16G
    

    Under UEFI Shell: dmpstore Boot*

    Dump Variable Boot*
    Variable NV+RT+BS 'Efi:Boot0002' DataSize = 5F
      00000000: 01 00 00 40 41 00 45 00-46 00 49 00 20 00 4E 00  *...@A.E.F.I. .N.*
      00000010: 65 00 74 00 77 00 6F 00-72 00 6B 00 00 00 02 01  *e.t.w.o.r.k.....*
      00000020: 0C 00 D0 41 03 0A 00 00-00 00 01 01 06 00 00 11  *...A............*
      00000030: 01 01 06 00 00 00 03 0B-25 00 00 0C 29 80 4C 58  *........%...).LX*
      00000040: 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  *................*
      00000050: 00 00 00 00 00 00 00 00-00 00 00 7F FF 04 00     *...............*
    Variable NV+RT+BS 'Efi:Boot0003' DataSize = 3E
      00000000: 01 00 00 40 22 00 45 00-46 00 49 00 20 00 46 00  *...@".E.F.I. .F.*
      00000010: 6C 00 6F 00 70 00 70 00-79 00 00 00 02 01 0C 00  *l.o.p.p.y.......*
      00000020: D0 41 03 0A 00 00 00 00-01 01 06 00 00 07 02 01  *.A..............*
      00000030: 0C 00 D0 41 04 06 00 00-00 00 7F FF 04 00        *...A..........*
    Variable NV+RT+BS 'Efi:Boot0000' DataSize = 7C
      00000000: 01 00 00 40 24 00 45 00-46 00 49 00 20 00 56 00  *...@$.E.F.I. .V.*
      00000010: 4D 00 77 00 61 00 72 00-65 00 20 00 56 00 69 00  *M.w.a.r.e. .V.i.*
      00000020: 72 00 74 00 75 00 61 00-6C 00 20 00 53 00 43 00  *r.t.u.a.l. .S.C.*
      00000030: 53 00 49 00 20 00 48 00-61 00 72 00 64 00 20 00  *S.I. .H.a.r.d. .*
      00000040: 44 00 72 00 69 00 76 00-65 00 20 00 28 00 30 00  *D.r.i.v.e. .(.0.*
      00000050: 2E 00 30 00 29 00 00 00-02 01 0C 00 D0 41 03 0A  *..0.)........A..*
      00000060: 00 00 00 00 01 01 06 00-00 15 01 01 06 00 00 00  *................*
      00000070: 03 02 08 00 00 00 00 00-7F FF 04 00              *............*
    Variable NV+RT+BS 'Efi:Boot0004' DataSize = 7E
      00000000: 01 00 00 40 1E 00 45 00-46 00 49 00 20 00 56 00  *...@..E.F.I. .V.*
      00000010: 4D 00 77 00 61 00 72 00-65 00 20 00 56 00 69 00  *M.w.a.r.e. .V.i.*
      00000020: 72 00 74 00 75 00 61 00-6C 00 20 00 49 00 44 00  *r.t.u.a.l. .I.D.*
      00000030: 45 00 20 00 43 00 44 00-52 00 4F 00 4D 00 20 00  *E. .C.D.R.O.M. .*
      00000040: 44 00 72 00 69 00 76 00-65 00 20 00 28 00 49 00  *D.r.i.v.e. .(.I.*
      00000050: 44 00 45 00 20 00 30 00-3A 00 30 00 29 00 00 00  *D.E. .0.:.0.)...*
      00000060: 02 01 0C 00 D0 41 03 0A-00 00 00 00 01 01 06 00  *.....A..........*
      00000070: 01 07 03 01 08 00 00 00-00 00 7F FF 04 00        *..............*
    Variable NV+RT+BS 'Efi:Boot0005' DataSize = 86
      00000000: 01 00 00 40 30 00 45 00-46 00 49 00 20 00 49 00  *...@0.E.F.I. .I.*
      00000010: 6E 00 74 00 65 00 72 00-6E 00 61 00 6C 00 20 00  *n.t.e.r.n.a.l. .*
      00000020: 53 00 68 00 65 00 6C 00-6C 00 20 00 28 00 55 00  *S.h.e.l.l. .(.U.*
      00000030: 6E 00 73 00 75 00 70 00-70 00 6F 00 72 00 74 00  *n.s.u.p.p.o.r.t.*
      00000040: 65 00 64 00 20 00 6F 00-70 00 74 00 69 00 6F 00  *e.d. .o.p.t.i.o.*
      00000050: 6E 00 29 00 00 00 01 03-18 00 0B 00 00 00 00 B0  *n.).............*
      00000060: 73 1E 00 00 00 00 FF 8F-BA 1E 00 00 00 00 04 06  *s...............*
      00000070: 14 00 B7 D6 7A C5 15 05-A8 40 9D 21 55 16 52 85  *....z....@.!U.R.*
      00000080: 4E 37 7F FF 04 00                                *N7....*
    Variable RT+BS 'Efi:BootOptionSupport' DataSize = 4
      00000000: 03 03 00 00                                      *....*
    Variable NV+RT+BS 'Efi:BootOrder' DataSize = A
      00000000: 02 00 03 00 00 00 04 00-05 00                    *..........*
    Variable RT+BS 'Efi:BootCurrent' DataSize = 2
      00000000: 05 00                                            *..*

    Under Win7 or newer with BootICE 1.3.3.2 > UEFI tab:

    http://reboot.pro/uploads/monthly_12_2019/post-62763-0-92463200-1576988228.png

    If we follow mem command in UEFI Shell, it shows the addresses of Runtime Services, Boot Services:

    Valid EFI Header at Address 000000001FB77018
      --------------------------------------------
      System: Table Structure size 00000078 revision 0002001F
      ConIn (1F061298) ConOut (1DE10C18) StdErr (1F05CD98)
     Console Out on PciRoot(0x0)/Pci(0x7,0x0)/Floppy(0x0)/\/mem.log
      Runtime Services     000000001FB77B98
      Boot Services        000000001FFD4410
      ACPI 2.0 Table       000000001DDDC000
      SMBIOS Table         000000001FB95000

    After boot WinXP 64-bit under UEFI, these tables are still in memory, only the system has no access to them.

  4. Test platform:

    • ASUS B85M-E
    • Intel Core i5-4590
    • 8GB RAM
    • SATA HDD min. 60GB
    • Samsung NVMe 970 EVO Plus 250GB in PCIe NVMe M.2 adapter
    • modded bios 3602 > Link

    How:

    • connect both SATA and NVMe disks to motherboard
    • using diskpart from the Win10 installer (legacy boot), divide the SATA disk into two primary partitions 100MB + active 20GB
    • using diskpart from the Win10 installer (legacy boot), divide the NVMe disk into three primary partitions 100MB active + 20GB + 182GB + unallocated
    • install WinXP PRO SP2 on SATA drive in Legacy (CSM) + SATA IDE mode
    • install all drivers and SATA AHCI by Fernando (reboot to bios and change SATA to AHCI)
    • turn off Indexing Service on all NTFS partitions
    • disable pagefile
    • disable System Restore
    • disable prefetch:
      Windows Registry Editor Version 5.00
      
      [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters]
      "EnablePrefetcher"=dword:00000000
    • extract storport.sys from WindowsServer2003-KB943545-x86-ENU.exe - in CMD use /x switch
      copy file storport.sys 5.2.3790.4173 from SP2QFE to %windir%\system32\drivers
    • install NVMe 1.3 Kai Schtrom driver
    • format 100MB partition as FAT32 and copy bootmgr with Longhorn Server 2008 16497 for this partition
    • copy winload.exe with Longhorn Server 2008 16497 to %windir%\system32
    • replace %windir%\system32\drivers\acpi.sys file with a modified ACPI2.0_v4_x86+x64_5.1+5.2.7z acpi.sys 5.1.2600.7777.4
    • copy folder Boot (including BCD file and Fonts\wgl4_boot.ttf from Longhorn Server 2008 16497) to FAT32 partition
    • using BootICE edit BCD file in Professional mode - set ApplicationDevice and OSDevice:
      Boot disk: NVMe Samsung SSD 970
      Boot part: 1: (NTFS, 20.0 GB)
      7863564000_1666788631_thumb.jpg
    • using Acronis True Image 2021 make a system image (100MB and 20GB partitions) for a xp.tib file
    • using Acronis True Image 2021 restore a system from xp.tib (100MB and 20GB) to NVMe disk
    • boot PC in Legacy mode from NVMe disk - when WinXP boot and menu appear select Disable Driver Signature Enforcement (there is an option in BCD that causes an Advanced Menu to always display)

    xp32_NVMe.zip (1.56 MB)

  5. I did a new UEFI test. If we put Samsung 950 UEFI firmware in this way:

    • Unpack UEFI firmware from the image.rom file:
      uefiromextract image.rom 950nvme.efi
    • Build a FFS file using FFS tools:
      GenMod 950nvme.efi
      wild build a file 950nvme.ffs
    • Use UEFITool insert file 950nvme.ffs as a DXE driver

    In pure UEFI (CSM disabled) or UEFI + CSM, bios does not see the Samsung 970 EVO Plus NVMe disk and not possible boot OS !!!

  6. I'm trying to boot WinXP SP2 64-bit in Legacy mode:

    • ntldr - Error loading operating system
    • winload.exe + BCD from Longhorn Server 2008 - Error A5 Probably caused by: ACPI.sys (I checked it with WinDbg over Serial at betaarchive.com )

    @Dietmar

    I remember that there were once some modified acpi.sys WinXP 64-bit files on Winraid. Do you have these files?

    EDITED

    =====

    OK, I found them: ACPI2.0_v4_x86+x64_5.1+5.2.7z

    With this acpi.sys (5.2.3790.7777.4) WinXP SP2 64-bit boots without error using winload.exe.

    Under pure UEFI also start.

    I wonder if this modified acpi.sys file is stable and will not cause the system's incorrect operation?

  7. On 10/11/2022 at 11:52 PM, Dietmar said:

    but it is not easy procedure and works only for Fat32 und freeldr.sys from reactos

    Does WinXP have to be on the FAT32 partition or can it be on NTFS? I'm trying to boot WinXP 64-bit in Legacy Mode from NTFS but I have Opening Hive File Failed!

  8.  

    14 hours ago, Dietmar said:

    For cloning the AOMEI 7.0 tool is best

    Thanks, I will try but for now I used Acronis True Image 2021 because older versions do not see NVMe disk.

    • In WinXP SP2 64-bit launched from the SATA disk I added UEFI files and fix paths in BCD file
    • Using Acronis Backup & Recovery 11.5 I made a system image for a TIB file
    • Using Acronis True Image 2021 I restored the system from the TIB image to the NVMe disk
    • In the bios I disabled SATA and CSM and reboot

    WinXP SP2 64-bit without any problems boots with the NVMe disk in pure UEFI mode :thumbup :D

    What is needed:

    • Disk NVMe divided into partitions using diskpart from Win10 installer so that the first partition starts with the 2048 sector
      1989118100_1666256428_thumb.jpg
    • UefiSeven loader and EFI Files
    • KB932755 update
    • NVMe 1.3 driver from Schtrom
    • Turn off Indexing Service on all NTFS partitions
    • disable pagefile (have 8GB RAM)
    • disable System Restore
    • disable prefetch:
      Windows Registry Editor Version 5.00
      
      [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters]
      "EnablePrefetcher"=dword:00000000
    • If we want to use the Internet, set the browser cache in RAM
    • The NVMe disk has 250GB but I left a 30GB unallocated at the end:
      9561645400_1666255228_thumb.jpg
  9. @Dietmar

    I am at the stage:

    • using diskpart from the Win10 installer, I divided the NVMe disk into 100MB + 20GB + 182GB + unallocated partitions
    • I pulled out an adapter with a NVMe disk from the PCIe slot
    • I installed WinXP SP2 64-bit on SATA AHCI disk and all drivers on Legacy mode
    • I installed the WindowsServer2003.WindowsXP-KB932755-x64-ENU.exe update
    • I turned off PC, I put PCIe adapter with NVMe disk Samsung and boot WinXP from SATA disk
    • I installed the NVMe driver Community NVMe 1.3 Storport Miniport by Schtrom

    Now WinXP SP2 64-bit sees a NVMe drive:

    9511015100_1666201617_thumb.jpg

    I copied UEFI files (also UefiSeven loader) on the SATA disk and WinXP boot OK under pure UEFI

    I copied to the 100MB FAT32 NVMe partition UEFI files with UEFI Shell (bootx64.efi) and a new UEFI option appeared in the bios (CSM disabled) and PC boot OK to UEFI Shell from NVMe disk

    3784015300_1666202490_thumb.jpg

    Now I have to somehow clone the partitions from the SATA disk to NVMe disk

  10. 2 hours ago, Dietmar said:

    EDIT: I just found, that in your Csmcore.raw at the 2 places always only your

    No !!!

    • Open file (Load Image) B85M-E-ASUS-3602.CAP in MMTool 5.00.0007
    • click tab Insert and Browse to open file legacy.bin (previously modified for A804)
    • click on CSMCORE, select Link Present and enter Vendor ID 144d and Device ID A804
    • now click Insert button and Save Image as then save on new file e.g. mod_bios.cap

    7707342400_1666188384_thumb.jpg

    If you want to write a bios with programmer, e.g. CH341A you must first remove the capsule in UEFITool and save as e.g. mod_bios.bin:

    7014210200_1666188795_thumb.jpg

  11. 2 hours ago, Dietmar said:

    Which Tool do you use, for to check the Checksum

    WinHex and Windows Calculator (Scientific View)

    • open file image.rom in WinHex
    • go to menu Edit > Define Block... and set like this and click OK:
      8308812600_1666186402_thumb.jpg
    • go to menu Edit > Copy block > Into new file and save as legacy.bin on Desktop
    • open file legacy.bin in WinHex
    • edit PCI Device for your NVMe disk A804 > little endian 04 A8 in offset 22
      1165372300_1666186843_thumb.jpg
      and at the very end of the file in the 45FF offset, insert 00 and save the file
    • go to menu Tools > Compute Hash... > select Checksum (8 bit) and click OK - it should be 82
    • open Windows Calculator (I use WinXP), change view to Scientific, switch to Hex mode and calculate 100 - 82 it should be 7E
    • in WinHex at the very end of the file in the 45FF offset, insert 7E and save the file
    • go to menu Tools > Compute Hash... > select Checksum (8 bit) and click OK - now it should be 00

     

  12. @Dietmar

    B85M-E-ASUS-3602_mod_legacy_UEFI_boot_OK_for_Samsung_NVMe_970_EVO_DEV_A808.zip

    1 hour ago, Dietmar said:

    PS: One year ago I also make a try with my own (UEFI cut off) image.rom from the 950 pro, but it does not work for me.

    For the Legacy OptionRom to work in Legacy BIOS, the conditions must be met:

    • At the beginning of 55 AA
    • PCIR data (little endian) need same as PCI device in motherboard e.g. for Samsung 970 EVO Plus 4D 14 08 A8 (of course class and other data also same as device)
    • 8-bit checksum must be 00 (In the last byte you put 00, save to the file, calculate the 8-bit checksum, subtract from 100 hex the calculated hex value, put the new value in the last byte, save the changes to the file and re-calculate the 8-bit control sum)
  13. 34 minutes ago, Dietmar said:

    Have you tested XP SP3 install via the modded Bios?

    First of all, I will test WinXP SP2 64-bit in Legacy and pure UEFI mode with UefiSeven loader

    36 minutes ago, Dietmar said:

    We need to make a Tutorial, step by step, that works for all motherboards and nvme devices.

    I don't have other NVMe disks for test but if you have it, test it. You don't need PLOP, only for legacy bios need legacy part from image.rom Samsung 950 with fixed PCI DEV your NVMe disk and 8-bit checksum and for UEFI bios need DXE driver (.ffs file) from this tutorial: WinRaid forum: [HowTo] Get full NVMe support for all Systems with an AMI UEFI BIOS

  14. I modified the BIOS B85M-E-ASUS-3602.CAP of the motherboard B85M-E in this way:

    • I cut out of the image.rom firmware Legacy (offset 0-45FF), changed PCI DEV to A808, fixed the 8-bit control sum to 00 and save to file legacya808.bin
    • With MMTool I insert the legacya808.bin file under CSMCORE as 144d, a808 and save file legacy.cap
    • With UEFITool 0.26.0 open legacy.cap and insert DXE driver UEFI NvmExpressDxe_5.ffs, save to legacy+uefi.cap and Extract Body capsule to no_cap3.bin file
    • I programmed BIOS using the CH341A programmer
    • In BIOS CSM enable, AHCI disable - only NVMe disk and USB stick connected
    • I made a USB stick Win10 64-bit as USB-ISO (MPALL service tool for Phison controller), started installer in Legacy mode and installed without any problems Win10 64-bit in Legacy mode on MBR disk :P :D
      6677266800_1666171072_thumb.jpg

    So booting from the NVMe disk works in Legacy BIOS mode :thumbup

    6634069500_1666171849_thumb.jpg

    Now I am testing the installation in pure UEFI mode (CSM disabled, Secure Boot also disabled) with the same bios:

    • I disable CSM in BIOS and reboot from same USB stick but from UEFI mode
    • at first Win10 install screen I run CMD (Shift+F10) and in diskpart sel disk 0 and clean
    • I close CMD window and continue install Win10 in UEFI mode
    • I installed without any problems Win10 64-bit in pure UEFI mode on GPT disk :P :D
      4789398100_1666173210_thumb.jpg 1677630100_1666173218_thumb.jpg

    This means that I have modified the BIOS correctly and it works booting from the NVMe disk both in Legacy and pure UEFI mode (CSM disabled) :thumbup :cool: :whistle:

  15. @Dietmar

    Why did you put in the bios3.fd image.rom without modification of PCI VEN/DEV?

    I did it like this:

    • in WinHex I unpacked from image.rom legacy firmware from the beginning of the file to offset 45FF
    • I changed PCI DEV A802 to A808 (970 EVO), calculated and fix the 8-bit checksum to 00 and save as legacya808.bin
    • I unpacked from image.rom UEFI firmware with UEFIRomExtract.exe
      uefiromextract image.rom ext.efi
    • I built a new ROM (legacy+UEFI) using efirom.exe for my Samsung 970 EVO (144D A808):
      efirom -f 0x144d -i 0xa808 -b legacya808.bin -ec ext.efi -r 0x0000 --pci23 -l 0x000002 -o image_A808.rom
      efirom -d image_A808.rom
      
      Image 1 -- Offset 0x0
        ROM header contents
          Signature              0xAA55
          PCIR offset            0x001C
          Signature               PCIR
          Vendor ID               0x144D
          Device ID               0xA808
          Length                  0x0018
          Revision                0x0002
          DeviceListOffset        0x00
          Class Code              0x020801
          Image size              0x4600
          Code revision:          0x0001
          MaxRuntimeImageLength   0x00
          ConfigUtilityCodeHeaderOffset 0x00
          DMTFCLPEntryPointOffset 0x3C80
          Indicator               0x00
          Code type               0x00
      Image 2 -- Offset 0x4600
        ROM header contents
          Signature              0xAA55
          PCIR offset            0x001C
          Signature               PCIR
          Vendor ID               0x144D
          Device ID               0xA808
          Length                  0x0018
          Revision                0x0000
          DeviceListOffset        0x00
          Class Code              0x000002
          Image size              0x3800
          Code revision:          0x0000
          MaxRuntimeImageLength   0x00
          ConfigUtilityCodeHeaderOffset 0x3646
          DMTFCLPEntryPointOffset 0x00
          Indicator               0x80   (last image)
          Code type               0x03   (EFI image)
        EFI ROM header contents
          EFI Signature          0x0EF1
          Compression Type       0x0001 (compressed)
          Machine type           0x8664 (unknown)
          Subsystem              0x000B (EFI boot service driver)
          EFI image offset       0x0034 (@0x4634)
      
    • with MMTool I insert the image_A808.rom file in the CSMCORE module as 144d a808
    • I saved as a .cap file and unpacked capsule (Extract body) in UEFITool
    • I pulled out the chip of the bios and programmed with the CH341A programmer

    BIOS only sees Legacy (CSM Enabled) N1-Samsung SSD 970 EVO Plus 250 disk. Under UEFI or pure UEFI does not see the disk.

    I am trying to boot a MiniXP from Hiren's USB but stops at the message:

    Setup is inspecting your computer's hardware configuration…

    WinPE7 Live running from UEFI not see disk.

    Debian6 32-bit not see disk (fdisk -l)

    WinXP installer running from USB (GRU4DOS) does not see the NVMe disk (see only USB drive)

    P.S Probably the NVME UEFI firmware must be inserted in a different way - as a DXE controller (.ffs file) and under CSMCORE put only the cut out part of Legacy OptionROM without part of UEFI (cut block 0 - 45FF from image.rom file and edit PCIR and 8-bit checksum)

×
×
  • Create New...