reboot12 Posted October 18, 2022 Posted October 18, 2022 (edited) @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) Edited October 18, 2022 by reboot12
Dietmar Posted October 18, 2022 Posted October 18, 2022 (edited) @reboot12 I just test win10 bit64 install in pur UEFI mode (CSM disabled) on the Asus p8h77-m with Option Rom from the 950 Pro in its Bios. The 960 Pro is recogniced, but later install crashes with comment: Cant install driver. Also legacy win10 on MBR cant be installed, not bit32 not bit64. So, the Option Rom from the 950 Pro is only good for legacy "install" of XP SP3 or win7 Dietmar PS: But I know, that the DXE nvme Bios file from the nuked forum works for UEFI install of win10. EDIT: By the way you see, that the freeldr.sys is by far better than any other loader from any other OS. Edited October 18, 2022 by Dietmar
reboot12 Posted October 19, 2022 Posted October 19, 2022 (edited) 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 So booting from the NVMe disk works in Legacy BIOS mode 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 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) Edited October 19, 2022 by reboot12 1
Dietmar Posted October 19, 2022 Posted October 19, 2022 @reboot12 Have you tested XP SP3 install via the modded Bios? We need to make a Tutorial, step by step, that works for all motherboards and nvme devices. Nice work Dietmar
reboot12 Posted October 19, 2022 Posted October 19, 2022 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
Dietmar Posted October 19, 2022 Posted October 19, 2022 @reboot12 I put Plop into Bios only because of legacy XP SP3 boot. Because Plop then automatically loads the correct nvme boot device, no chance on other way in Bios settings of the Asus P8H77-M board. Can you please upload your unmodded Bios for the Asus B85M-E (without crazy cap) and also the last version of your whole modded Bios (also without cap), and the cut off image.rom file from 950 Pro and your used DXE file for UEFI nvme boot from the nuked forum. My board from Ebay comes tomorrow but your changes I will test today Dietmar 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.
reboot12 Posted October 19, 2022 Posted October 19, 2022 @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)
Dietmar Posted October 19, 2022 Posted October 19, 2022 @reboot12 I integrate with the MMTool the legacy part of the image.rom from 950 Pro. Then I check with Winhex for Vendor ID 0x144D and Device ID 0xA804 for my Samsung 960 Pro. I found 144D (vice versa because HEX) at 2 places in csmcore.raw . And strange enough, at the second place I found A802 (which is the device ID of the original 950 Pro). Do you get the same Dietmar
Dietmar Posted October 19, 2022 Posted October 19, 2022 (edited) @reboot12 Thank you for files! Which Tool do you use, for to check the Checksum Dietmar EDIT: I just found, that in your Csmcore.raw at the 2 places always only your Device ID 0xA808 appears. So, the MMtool makes an mistake and you have to set the correct Device ID by hand in the 950 Pro legacy.img before integrating. Repairs the MMtool a wrong checksum automatically? Edited October 19, 2022 by Dietmar
reboot12 Posted October 19, 2022 Posted October 19, 2022 (edited) 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: 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 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 Edited October 19, 2022 by reboot12
reboot12 Posted October 19, 2022 Posted October 19, 2022 (edited) 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 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: Edited October 19, 2022 by reboot12
Dietmar Posted October 19, 2022 Posted October 19, 2022 @reboot12 Thanks, I also calculated last Byte to 7E and get Checksum 00 as wished. Now I integrate this Bios from Website, where I only integrate the 960Pro legacy part of the image.rom from the 950 Pro Dietmar
Dietmar Posted October 19, 2022 Posted October 19, 2022 (edited) @reboot12 After some fight with my EEpromer I succeed to flash the original Bios from Webside only with the Legacy part of the Option Rom from the 950 Pro integrated in Bios for my 960 Pro nvme. Hm, I put no ID for my network card in Bios, but can go to Internet as before??? And voila, XP starts from nvme 960 Pro on the Asus P8H77-M board. So, maybe because of 2 different numbers or wrong check sum it does not work last year with only legacy part. NO PLOP IS NEEDED now! But XP boots only with freeldr.sys. With ntldr it hangs as before. The same happens with the original Samsung 950 Pro and also with the Plextor with own Rom. It is a bad behavior of the ntldr of XP. Last year I noticed, that NT4 can boot, win7 and Reactos, only not XP SP3. It depends ONLY on its ntldr, ntldr from XP does not work together with Bios from older (< 2018) motherboards and the Option Rom of the 950 Pro Dietmar PS: Now I try legacy nvme with Win10. EDIT: Install try legacy win10 bit32 shows at once: ntoskrnl cant be found. The install USB stick is original(!) from Microsoft. This behavior I have seen on the z690 boards also. So, just now I burn a DVD with win10 bit32 Win10_21H2_German_x32.iso EDIT2: With the legacy part alone of the Option ROM from the 950 Pro, legacy win10 cant be installed. bit32 crashes at once and bit64 after 20% tells "driver cant be installed". Edited October 19, 2022 by Dietmar
reboot12 Posted October 19, 2022 Posted October 19, 2022 @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: 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 Now I have to somehow clone the partitions from the SATA disk to NVMe disk
Dietmar Posted October 19, 2022 Posted October 19, 2022 @reboot12 For cloning the AOMEI 7.0 tool is best Dietmar
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now