Hi Habr! A thought popped into my head and I thought about it. And he came up with. It's all about the terrible injustice of the manufacturer, who had absolutely nothing to add modules to UEFI Bios to support booting from NVMe through adapters on motherboards without an m.2 slot (which, by the way, was implemented by the Chinese on HuananZhi motherboards without question). Is it really not possible - I thought and began to dig. I dug up a bunch of non-working tips, a couple of times I messed up the motherboard, but I got my way. IN I got the lion's share of useful information. But even here there are a lot of pitfalls. For example, it is not at all clear in which index to write modules. So, let's start modifying our BIOS. Attention! This material is applicable ONLY to AMI Aptio Bios and not to any other, so if you do not have it, feel free to pass by.
For a start tools. After unpacking into a convenient folder, download the BIOS from the nearest model with NVMe support (For P9X79, this is Sabertooth X99) and the original BIOS for our motherboard. We put the downloaded bios in the tools folder, run MMTool and open the bios with NVMe support:
Then we go to the Extract tab, find and extract the modules we need (NvmeInt13, Nvme, NvmeSmm), we type identical names with the .ffs extension and click Extract, we leave the options “As is”:
When all the modules are extracted, open the command prompt as an administrator and go to the tools folderAFUWINx64
We take a dump there:
afuwinx64.exe Extracted.rom /OGo to MMtool and open our dump.
Go to the Insert tab and MUST click on the index 02 in the field (indexes may differ for different motherboards, look at the index in which the NVMe modules were originally located and compare the contents with the target Bios).
Next, click Browse and find our extracted modules:
Press Insert (“As is” option) and repeat the action for the remaining modules, following the order, as in a BIOS with NVMe support (I have NvmeInt13, Nvme, NvmeSmm). Then we find our new modules in the list to make sure they are all there and in the correct order:
Click Save Image As and save the modified BIOS to the AFUWINx64 folder. In the same folder we place the original BIOS of our motherboard and proceed to the firmware. First, we sew the original BIOS in order to bypass the protection:
afuwinx64.exe P9X79-WS-ASUS-4901.CAPThen we sew our modified one:
afuwinx64.exe P9X79-WS-ASUS-4901-NVME.rom /GANAccordingly, we substitute our own file names. After a reboot, our BIOS will be able to boot from NVMe.
ALL ACTIONS YOU DO AT YOUR OWN RISK, THE AUTHOR OF THE MATERIAL
NO RESPONSIBILITY!
a working bios I have compiled for Asus P9X79 WS version 4901 with NVMe support.
Source: habr.com
