[HowTo] Get full NVMe Support for all Systems with an AMI UEFI BIOS

I tried to use it, but it did not bring any result. Although the structure of the BIOS is different from the modified file by the MMTool program.
All that remains for me to do is to take a dump and compare it.

UPDATE
I checked the BIOS backup. The module was flashed without problems.

UPDATE2
Bad Ubuntu. Windows start without problem.
Thanks for module with bios.

The file mod is all your credit, glad that you succeed and the issue was after all an OS ISO and not indeed your mod work/flash. You can share it, if you want it, in this section of the forum, all the best.

Dear Win-Raid Forum administrators/managers,

I am a new member of this forum, although I have been following You for a while but not as a registered user.
I would need to write a detailed report and upload material (screen shots, legitimate files) regarding the BIOS Mod for a Laptop HP ZBook 17 G2 to enable support for bootable NVMe M.2.
I would like to point out that before doing so, I carefully read various documents/procedures described by the member “Fernando” and “Lost_N_BIOS” mainly.
I would have developed a procedure and material to perform the operation in a “clean” way, but I would need definitive confirmation from more qualified and experienced people, in order to minimize the risks and obtain a 100% validated procedure.
Can You tell me how to do it?
Is it better if I open a specific post for this Laptop?
Or insert the above in another post?
And if so, which one and how?

Thank you very much for Your attention.

Besides the flash/program method to be used by you, if the standart guide here presented is not working for your laptop model, then yes open a new thread, files can be shared in private service provider.

Dear MeatWar,

Of course, I understand what You are telling me, in fact I will post the .bin Mod files ONLY after having given them to private individuals to view them and only to some of you with experience and specific to the BIOS sector who have the patience, possibly, to test them.
Only at the end, after having tried them myself, as a thank you I will make them public on this forum.
Unfortunately, being new, I still have a lot to learn about the rather complex functioning of this forum.

Thanks for the clarification.
/

OBJECT: BIOS Mod for SSD type NVMe M.2 support on laptop HP ZBook 17 G2 (2015).

Dear members of the “Win-Raid Forum”, good day to all.

First of all, a small premise.
I have been following this forum for several years for my personal interests in BIOS Mod in order to make my PCs last longer by bypassing a series of absurd and, sometimes, fraudulent limitations imposed by manufacturers on users to force them to throw away even very expensive machines without any respect for the planet’s resources and the environment.
In the past (early 2021) I have successfully performed a Mod for one of my mth. ASUSTeK P9X79 Pro for BIOS v.4701 Mod (with NvmExpressDxe_4) and v.4801 beta Mod (with NvmExpressDxe_4) for the support of NVM2 m.2, perfectly working and for which I publicly thank here members of the forum in the figures of the very
patient “Dieter (alias Fernando)”, “Lost_N_BIOS” and also the user “diegotru”.
I have always read the many sections of the Forum very carefully BEFORE operating, learning all the notions, indications and tools necessary to clarify the doubts and minimize the need to ask questions that are not strictly necessary.
Unfortunately in the case that I am going to expose, I am finding myself in difficulty, both for the risk in itself of the delicate operation and because the PC on which I intend to operate, due to the cost, was not a very widespread machine and, therefore, there are not many RELIABLE sources on which to rely.

And let’s get to the point: I intend to modify (Mod) the LATEST OFFICIAL BIOS version of a HP laptop mod.ZBook 17 G2 in order to provide it with support for booting from NVMe m.2 which, according to the BIOS, should be enabled (item “PCIe/NVMe Boot support”) but, in reality IT IS NOT and in the official HP technical manual it is NOT clearly stated (they are deliberately ambiguous and NOT very transparent
).
In fact, by scrupulously following the installation of Win 10 Enterprise 2019 LTSC (64bit) in pure UEFI mode from USB boot key, I get to a point where after formatting and copying the system files, at the first reboot of the PC to finish the setup, I get a BLACK SCREEN and the PC tells me that it has NOT found ANY boot disk!
After researching for days, I discovered that HP has inhibited, on the entire G2 series, the ability to boot from NVMe, even though it is perfectly capable of doing so at a hardware level (the laptop has a mth. PCIe 3.0 and an Intel gen. 4 “Haswell” CPU, all perfectly compatible and, in fact, on the subsequent G3 models the OS is mounted on NVMe
 but You are forced to CHANGE laptops!).

So I start studying the various posts on this (and others) precious Forum (thanks “Fernando” for Your patience in what You do!), I collect material as a good engineer and I start to analyze the procedure that I will have to follow to obtain the maximum result with the lowest risk of failure possible (as is customary in the aeronautical sector).
Unfortunately I have reached a point where I am blocked by a whole series of questions to which I cannot give a sensible and rational answer: please help me as much as You can.
To try to be precise and concise, I will list what I have done so far according to a procedure for “STEPS”.

Let’s proceed:

  1. I have certainly read that the BIOS of the HP ZBook 17 G2 is from
    American Megatrend Inc.; therefore I use (with administrator rights) the utility “AMI Aptio IV UEFI MMTool v.4.50.0023 (upd. 010.03.02)”.
    NOTE: the version “AMI Aptio V UEFI MMTool v.5.02.0024 Mod”
    does NOT work, because it tells me that the BIOS is NOT suitable!.

  2. I load the image “M70_0126.bin” [extracted by unzipping the
    original update file of the latest official BIOS provided by HP
    “BIOS v.01.26 Rev.A(sp103523).exe”] to see its contents: MMTool
    does NOT show me anything, but if I try to save it by pressing
    “Save Image”, it does something on the .bin so that THEN it
    loads correctly and displays all its contents.
    However, the file CHANGES very little in size, even though I have
    not added/removed anything yet and it remains .bin.
    In fact, compressing it with WinRAR I get:

    A) Original HP (Untouched):
    File: M70_0126.bin,
    Size: 10 485 760 bytes,
    Packed: 3 547 456 bytes,
    CRC32: 08F15B4C.

    B) After saved by MMTool:
    File: M70_0126.bin,
    Size: 10 485 760 bytes,
    Packed: 3 547 384 bytes,
    CRC32: 5A258AF3.

    QUESTIONS.
    Is it normal that this can happen without having entered anything?
    Does MMTool handle badly/DOES NOT handle the .bin format or is
    it NOT compatible with THIS HP BIOS, even though it is an AMI
    perhaps modified, evidently, by HP?

    Finally, I would like to point out that MMTool displays the content
    showing entries that are VERY different from those described in
    Fernando’s tutorials and by the UEFITool software (for example,
    the entries “CSMCORE” and “DXE” do NOT appear).

  3. Following what is described in point 2) and to avoid the risk of
    corrupting the BIOS, I decide to adopt the second safer procedure
    suggested by “Fernando”, using instead the latest version of the
    more reliable alternative software “UEFI Tool v.0.28.0”.
    I launch (always with administrator rights) the executable and take
    the untouched image “M70_0126.bin”, which is immediately
    loaded.
    Only one item “UEFI image” is displayed and by expanding the
    fields I obtain what is shown in the image “01. Snap”.

    In this BIOS there is NO “CSMCORE” field and I note that there
    are TWO large volumes (the FIRST TWO) “7A9354D9-0468-444A-
    81CE-0BF617D890DF” which are apparently IDENTICAL and within
    which the “DXE core” appear in the sections called “Compressed”
    and “Raw”.
    Using the very convenient “Search\Text” function I see that the
    “DXE drivers” are all located in the aforementioned volumes, as
    shown in the following images “02~06. Snap” in succession: You
    can see a good part (but not all) of the “DXE drivers”, of which I
    have highlighted one, the LAST one (“DXE driver XhciDxe”).

  4. Highlighting the LAST ITEM “DXE driver XhciDxe” in the FIRST large
    FFSv2 volume and giving the command “Insert after
”, I then
    added the string for the Boot recognition of the NVMe M.2 units
    “NvmExpressDxe_5.ffs” (I inserted this one and not the other one
    that I have “NvmExpressDxe_4.ffs”, already used in the past for the
    ASUS P9X79 Pro), being currently the most recent, as suggested in
    some points of this Forum (image “07. Snap”).

    Then I performed THE SAME OPERATION also in the second FFSv2
    volume, since this BIOS contains two exactly IDENTICAL ones
    (image “08. Snap”).

    In all this I NEVER received any “Not enough space within the
    Volume” message, a sign that both FreeForm modules
    “NvmExpressDxe_5.ffs” do not create pb. of space (which is why
    using “NvmExpressDxe_Small.ffs” would be SUPERFLUOUS!).
    In the end I saved the file in another location and always naming it
    as originally “M70_0126.bin”.
    IMPORTANT: I had NO problems with the creation/removal of any
    “Pad-file” by visually checking what UEFITool showed after saving
    the BIOS Mod, for direct comparison with the original BIOS.
    Finally I checked the size and CRC32:

    A) Original HP (Untouched):
    File Name: M70_0126.bin,
    Size: 10 485 760 bytes,
    Packed: 3 547 456 bytes,
    CRC32: 08F15B4C,
    Full size: A00000h (10485760).

    B) After Mod by UEFITool:
    File Name: M70_0126.bin,
    Size: 10 485 760 bytes,
    Packed: 3 553 656 bytes,
    CRC32: 9BD1DC06,
    Full size: A00000h (10485760).

    QUESTIONS.
    Is the fact of having inserted TWO strings
    "NvmExpressDxe_5.ffs”, instead of ONE, a CORRECT procedure?
    Did I insert them in the right positions, i.e. as LAST DXE drivers?
    If not, HOW MANY and WHERE should I have inserted them?
    Is this a different BIOS from many others, or is it something that
    frequently occurs in laptops to have DUPLICATED volumes?
    I ask the experienced members of the Forum: in Your opinion,
    was what I did done ALL CORRECTLY, or do You see something
    that would be better to change in my procedure to MINIMIZE the
    risks of bad BIOS Mod?

  5. Finally, always following the precious advice of “Fernando” and
    “Lost_N_BIOS”, to write the BIOS Mod in the EEPROM of the HP
    laptop, I decided to PREPARE a USB boot key (1 GB) using the HP
    utility “BIOS v.01.26 Rev.A (sp103523).exe” from under OS Win,
    following the instructions.
    In particular, in the USB boot key we must:

    “Hewlett-Packard\BIOS\New” → copy the BIOS “M70_0126.bin”
    MOD

    “Hewlett-Packard\BIOS\Current” → leave the BIOS “M70_0126.bin”
    ORIGINAL

    The update must be done from the BIOS (press F10 at POST) from
    the path:

    “Main\Update System BIOS\Update BIOS Using Local Media”

    and making sure that the “Lock BIOS Version” item is UNCHECKED
    (it is a BIOS protection; it can be re-enabled AFTER the update).

    QUESTION
    In Your opinion, will the utility perform the flash or will it block due
    to its check on the size/coherence of the .bin file?
    And if so, how can I bypass this check, being sure that I have
    inserted only legal and non-malicious content?

I await Your detailed answers on the matter, BEFORE carrying out the
operation, since the laptop in question is a machine that in 2015, new, had a value of around 6200$ (source HP), having an Intel Core i7-4940MX CPU 3.1/4.0GHz, an nVidia Quadro K5100M GPU (8GB), a system memory DDR3-1600MHz 2x(2x8GB) supply, a 17" FullHD screen and now also a 1TB NVMe M.2 2242 PCIe 3.0x2 ORICO
mod.J10-2242 SSD: ruining it by performing a wrong operation, would
keep me awake at night, given that even though I bought it used, I paid about 1/4 of the value of the new one (and I can’t find the money by digging in the ground)!
Obviously if everything goes well, I will make available here for all
those who want it the BIOS Mod file to install on this laptop model to make it bootable also from NVMe M.2 drives.

Best regards to all those interested
 and I remain waiting.

/

Sorry but it’s too much reading, this is a forum not a blog


  • Bios code base is HP proprietary and not “standard” AMI, regular and now OLD “leaked” tools will not deal properly with it.
  • Since 2016 ± most of HP bios cannot be modded and flashed, due to security implementations, ex: HP SureStart, RSA signed, etc
statments on this are around on the forum
search for it if you want. This is one of those topics
  • The files from HP are not complete images (regions_expanded), not useful for mod, the “expanded” image:
  • Most of HP machines need an SPI programmer for applying mods and some models needs to desolder the IC from mb circuit, yours seems one of them and you get some more details in this thread, concerning bios recover/IC programming.
  • The time lost searching for any report/confirmation of sucessful NVMe DXE driver/mod implementation, around the web was null, feel free to present any contraditory info.

This is only my contribuition for your request and not confirming or deny anything
you should wait for other users POV.

Now i want to point some guidance on who comes here, “asking
” for secure files, risk free solutions, expensive systems not to loose, etc

This is MOD world, no one can or is here to assure anything to no one, if some one does it, its wrong from his part.
Any users that want to engage in modifications to the original firmware of a system should, must and has to choose, to put his system to tests of failures or sucess, knows how to recover a system or not and in that case, better to choose NOT to risk their asset.
All the best, regards.

First of all, thank you for Your prompt reply, MeatWar.

And of course I knew that the Mod operation would have been at my own risk: I only asked for help from all of You, since you have much more experience and “eye” in this very delicate sector.
I read the two links You posted above and I learned with certainty that all HP laptops (so also the 2015 ZBook 15 G2 & 17 G2 models) from 2013 onwards have started to implement BIOS protected by MULTIPLE nested “Sure Start” RSA keys: I would like to attach a .rar file with various official HP .pdf regarding the description for those who are interested [file “HP Sure Start Docs (2017-2024).rar”].
HP Sure Start Docs (2017-2024).rar (4.5 MB)

Since my skills and resources in recovering the laptop in question (HP ZBook 17 G2) from a failed BIOS flashing are limited (even though I prepared a USB boot key with the modified .bin file inserting the string “NvmExpressDxe_5.ffs” as already mentioned), I will NOT attempt the operation to avoid risks, considering that the laptop still has some residual value, especially after the upgrade on the CPU, GPU and 1 TB SSD NVMe m.2 2242 (with 2260 adapter) side!
However, I will try to attach a .rar file [“BIOS Original & Mod for NVMe M.2 Support.rar”] containing the latest ORIGINAL HP BIOS v.1.26 and the .bin MOD files obtained by me for Your analysis/inspection, reminding the reader that even though they were obtained as described, I HAVE NOT TESTED THEM
 maybe they could work, maybe not.

Best regards and I await any developments


/

I can have a look into your mod file (no shared link
), regarding the DXE insertiton,not any assurances at all
And thank you for the HP docs but i do not loose time into HP security thecnologies, im a light casual “tiny” mods user and helper, thats it.
But again i do not advise further actions since its an nice laptop and there’s no experience and tools for recovery on your side.

EDIT: New users with few reading minutes/posts still cant by system forum rules, any user till then can share a link for a sharing service.


 unfortunately I can’t upload the .rar!

You certainly can upload the *.rar file to any storage provider (One Drive, Google Drive, MEGA etc.) and post here the link to it.

@Fernando

Good day, Fernando (alias Dieter).

Thank you for Your suggestion and I will now upload all the BIOSes I modified in .bin format following Your instructions in this channel and as I described in detail above.
Inside there will be TWO (2) .bin Mod files containing respectively a pair of strings “NvmExpressDxe_5 (upd. 2021.09.20)” and also the other version “NvmExpressDxe_Small (upd. 2018.04.01)”, always in the same positions.
I uploaded the .rar (31.7 MB) on the “Jumbomai Hosting Service” and it will remain there in host for SEVEN (7) days from now, for anyone interested.
The active link for the download is this:

I hope that this modest effort of mine can be of some use and I am still waiting for suggestions/considerations from You, having read several of Your guides in the past and for which I thank You for the competence and descriptive meticulousness in formulating them. /
You and some other members of this serious forum have been fundamental in the past to allow me to successfully modify the BIOS of my mth. Asustek P9X79 Pro for the support of NVMe M.2 modules (I also wrote a detailed guide on the subject with much of Your material), currently always perfectly in service
 even if I am thinking of inserting support for the “Resizable BAR (ReBAR)” for nVidia Titan RTX GPUs
 but I am very undecided after this experience


/

@A-A-C
Since I am currently making holidays far way from home, I don’t have the required time to help you.
Neverlesss here is my comment:

  1. For checking the quality of your modding work we need just the “pure” BIOS files named *.bin and not the complete HP tools.
  2. Unfortunately the HP BIOS files are not 100% AMI ones (the AMI MMTools don’t show their content). That is why I am rather unsure, whether your modded BIOS can be properly flashed.
  3. If the “normal” NVMe EFI module named NvmExpressDxe_5.ffs can be inserted without any space problem message given by the UEFITool, there is no need to take the “small” one.

@Fernando

Courtese Fernando,

First of all, happy holidays and thanks anyway for the prompt response also from the “well-deserved rest location”.
In the package that I posted COMPLETE for completeness and checks of the case, as You may have noticed I also attached a folder with the words “BIOS Backup v.01.26 Rev.A (sp103523, extracted)”, which is nothing other than the official HP file “BIOS v.01.26 Rev.A (sp103523).exe” self-extracted: inside it there is the file “M70_0126.bin” in the root along with others
 it is the ONLY .bin present!
And it is the one I used with UEFITool to obtain the two .bin Mod., NOT having others: therefore from Your answer I understand that in reality it is NOT the complete HP BIOS that would be needed and that We are looking for

And in fact You confirm that in this circumstance, in all likelihood, trying to insert the .bin file modified by me would cause problems: which is why I did NOT flash it from inside the BIOS even though I had the USB stick created with the HP tool ready to do so!
Precisely for this reason, not knowing if I would have encountered problems with the “NvmExpressDxe_5.ffs” file, as a precaution I also created the “NvmExpressDxe_Small.ffs”
 it took me a few minutes; in any case, I would have initially used the first complete one.

So, in conclusion, I do not have the “pure” .bin and I do not know where to get it from: or perhaps You are tacitly asking me to read the contents of the laptop’s EEPROM and save everything in .bin to post here?
Currently the laptop has a BIOS v.M70 1.26, i.e. already updated to the latest official one provided by HP.
In that case I can say with certainty that this laptop has an EEPROM of this type (read directly by person, being easily accessible by removing the back panel
 but I’m NOT sure if there are others inside soldered on the pcb):

Brand: WINBOND
Silkscreen on the chip (x1):
WINBOND
25Q16DVSIQ
1524
Type: 16Mb (2MB), 2.70~3.60 Volt, Dual/Quad SPI, 8PIN SOIC

and I have a Mini USB Programmer mod.CH341B with various reading/flashing utilities (NeoProgrammer, AsProgrammer, etc
).

Let me know if and when You want and
 happy holidays!

/

@A-A-C
After having done a deeper look into your modded BIOSes and having tried to do the required modification myself by using the UEFITool here is my evaluation:

  1. You have obviously inserted the NVMe module into a wrong location. It should be inserted at the bottom of the DXE Driver Volume (below the module named SataDriver).
  2. The UEFITool is obviously not able to insert the NVMe module without touching any Pad-file. The “Non-UEFI data” named Padding file has been removed by the tool.

Here is the proof:
a) This screenshot shows the end of DXE Driver Volume of the original BIOS:

b) This is the end of the DXE Driver Volume of the BIOS after the insertion of the NVMe module:

I do not recommend to flash such modded BIOS.

Since the AMI MMTool variants do not work with your HP BIOS, I have no idea how to help you.