Hello Habr! An idea came to my mind, and I pondered it. I came up with something. It's all about the sheer injustice from the manufacturer, who could have easily added modules in the UEFI BIOS to support booting from NVMe via adapters on motherboards without an m.2 slot (which, by the way, has been implemented without issues by the Chinese on HuananZhi motherboards). Is it really impossible? I thought and started digging. I dug up a ton of useless advice, bricked my motherboard a couple of times, but I achieved my goal. In I gleaned a wealth of useful information. However, there are still quite a few pitfalls. For instance, it's completely unclear which index to record the modules in. So, let's start modifying our BIOS. Attention! This material is applicable ONLY to AMI Aptio BIOS and no other, so if you don't have it, feel free to pass by.
Firstly the tools. After unpacking them into a convenient folder, we will download the BIOS from the nearest model that supports NVMe (for P9X79 this is the Sabertooth X99) and the original BIOS for our motherboard. We place the downloaded BIOS in the tools folder, launch MMTool, and open the NVMe-compatible BIOS:
Then we go to the Extract tab, find and extract the necessary modules (NvmeInt13, Nvme, NvmeSmm), naming them identically with the .ffs extension and click Extract, leaving the options as "As is":
When all the modules are extracted, we open a command prompt as an administrator and navigate to the tools folder AFUWINx64.
There, we take a dump:
afuwinx64.exe Extracted.rom /OWe move to MMTool and open our dump.
We go to the Insert tab and MUST click in the field at index 02 (for different motherboards, the indices may vary, look at the index where the NVMe modules were originally and compare the contents with the target BIOS).
Next, we click Browse and find our extracted modules:
We click Insert (option "As is") and repeat the action for the other modules, following the order as in the NVMe-compatible BIOS (I have NvmeInt13, Nvme, NvmeSmm). Then we find our new modules in the list to ensure that they are all in place and in the correct order:
We click Save Image As and save the modified BIOS in the AFUWINx64 folder. We also place the original BIOS of our motherboard in the same folder and proceed to flash it. First, we flash the original BIOS to bypass the protection:
afuwinx64.exe P9X79-WS-ASUS-4901.CAPThen we flash our modified version:
afuwinx64.exe P9X79-WS-ASUS-4901-NVME.rom /GANAccordingly, substitute your own file names. After rebooting, our BIOS will be able to boot from NVMe.
ALL ACTIONS ARE PERFORMED AT YOUR OWN RISK, THE AUTHOR OF THE MATERIAL BEARS NO RESPONSIBILITY!
IS NOT LIABLE!
the working BIOS for Asus P9X79 WS version 4901 with NVMe support that I compiled.
Source: habr.com
