HP Prodesk 400 G1 SFF NVME Boot Support

Hello

I want to have a boot NVME disk at my HP Prodesk 400 G1 SFF.

I read the article, https://www.tachytelic.net/2023/03/hp-elitedesk-800-g1-nvme-ssd/, but the bios are different. The characteristics of my computer are:

I run the next command:

And all it’s OK

I modified the bios with UEFITOOL 0.28 to insert NVMEExpressDXE_Small.ffs and Ok, but when I’m going to flash the modified bios I obtain the next error:

The BIOS start at 0x210000, but I don’t know whats the value for the -L parameter.

I guess it’s necesary to save an original BIOS with parameter, fptw64 -A 0x210000 -L yyyyyy -D Bios.bin

The original BIOS with the parameter -BIOS is :
BackupBios.zip (3.5 MB)

The BIOS with the NVME driver is:
BackupNVMEBios.zip (3.5 MB)

@Fernando could you help me?

Any idea? Thanks in advance

@fgonz8
Welcome to the Win-Raid Forum!
Here are my comments:

1. Insertion of the NVMe module into your mainboard’s BIOS
You obviously didn’t follow my Guide (look >here<).
As you can see by comparing the below screenshots, you have inserted the NVMe module into a wrong location (not below the undermost listed module of the “DXE Driver Volume” with a GUID header).
By the way - this mistake wouldn’t have happened, if you would have let the AMI MMTool do the job (the AMI Aptio UEFI Tools find the correct target location for inserted EFI modules automaticly).

a) your modded BIOS with the wrongly inserted NVMe module:

b) the same BIOS with correctly inserted NVMe module:

2. Sort of the inserted NVMe module
As you can see above, there is no need to insert the “small” NVMe module. I had no problem to get the “normal” NvmExpressDxe_5.ffs inserted.

3. Flashing of a modded HP BIOS:
Since I have never had an HP mainboard, I cannot help you regarding the best and safest BIOS flashing procedure.

Good luck!
Dieter (alias Fernando)

Did you manage to get it working? Before I even attempt…

I’m replying to this discussion, even though it’s a year old, because I came across a ProDesk 440 G1 (not the SFF version, but with which it shares the bios) on which I needed to use an nvme ssd.

After a couple of days of trying I finally succeeded. I also started from the guide published on tachytelic which however does not explain where he got the parameters used for the backup and the bios flash, parameters which cannot be used for the ProDesk as it has a smaller EPROM (8mb vs 16mb ).

Making various attempts with a hexadecimal editor, I discovered that what is done in the guide is nothing more than “cutting” a part of the binary to be flashed, excluding the parts that cannot be written and some corrections that UEFITool makes regarding a "non-empty pad-file”.

At this point I went to find the section of the binary file that we are interested in modifying and nothing else. Another thing I noticed is that if you modify a backup extracted directly from the bios, the modification does not work. I therefore started from the binary downloaded from HP.

The parameters I identified are from offset 0x210000 to 0x7EFFFF, therefore for a length of 0x5E0000.

The command to use for flash then becomes:

fptw64.exe -A 0x210000 -L 0x5E0000 -F extracted_nvme.bin

I cannot attach the binary cause I’m a new user, but if you are handy with hex editing this should not be a problem.

Obviously, to flash it is necessary to close the FDO jumper as described in the guide.

Once you have flashed with the above command, you need to turn off the PC and restore the jumper.

The next time you turn on the PC it will restart 2 or 3 times, but once started and entering the bios, you can finally see that among the “legacy” boot devices there will finally be “PATA”. This means that the modification was successful and you can proceed to install the operating system on the SSD.