Jump to content
ValkyrieStar

[HOWTO] Get NVMe support on older motherboards!

Recommended Posts

Posted · Original PosterOP

Introduction

During a recent build using an SM951 SSD, I had some problems getting either version (AHCI or NVMe) to boot on a Q77 chipset board. Now obviously the NVMe version wasn't going to work, but I was curious to find out why the AHCI version would not boot. So here's my adventure to share with you all, and hopefully help you get yourself running with with new NVMe SSDs on an older system too!

 

Information

• This will ONLY work for boards which have UEFI! Old style BIOSes WILL NOT WORK!

• Do not try this unless you are willing to risk possibly bricking your UEFI, it is unlikely to happen, but I cannot claim responsibilty for your actions. You have been warned. If your board has "dual bios" feature, then you can feel safe knowing that you can experiment a little more.

• Links to original posts I found information on will be at the bottom of this post. Credit for this post goes to them, this is a consolidation of those posts / guides.

 

The Problem

• It is possible to connect an M.2 or PCIe SSD to an older PC with UEFI, but you will find that these wont be bootable. Windows installer will warn you that you cannot boot from the drive you may be attempting to install from, or a cloned OS will not appear in the boot menu. This is because there are a few modules that are missing in older UEFI's and manufacturers are not willing to update large ranges of motherboards just for a couple of SSD's (this could also be seen as planned obsolescence).

 

The Solution

• We simply add the modules ourselves!

• I have included a downloadable package containing the following;

  - NVMe modules required to boot from NVMe devices.

  - SAMSUNG_M2_DXE module required to boot from XP941 / SM951 (AHCI) devices.

  - AFUWINx64 tool to read/flash the UEFI.

  - MMTool tool to insert the modules into the UEFI.

  - UBU tool to allow updating other OpROMs in the UEFI.

• The package and working modded UEFIs can be found HERE (make sure your motherboard matches first).

• If you feel you might mess things up, feel free to send your unmodified Extracted.rom file.

 

Prerequisites

• Before you continue;

Download the package HERE and extract it to somewhere easy to access (C: drive?). Package File Virus Report HERE.

Update your UEFI to it's latest version and keep a fresh unmodified copy along with the files from the package (same folder as AFUWINx64 tool is preferable).

 

Guide

• Extracting and Modifying the UEFI.

Spoiler

• Open command prompt as administrator.

• Navigate to the folder containing AFUWINx64.exe using cd and dir commands.

• Extract the EUFI from your motherboard by running (keep the window open for now);


afuwinx64.exe Extracted.rom /O

• Optional: Make a backup. Or send it to me if you wish me to modify it for you.

• Open this inside MMTool.

• Inside MMTool, locate the module CSMCORE. Like so;

 

447e1d8712.png

 

• Now click browse, and locate the module SAMSUNG_M2_DXE.ffs inside the Modules folder.

• Change Insert FFS Options to Insert Compressed. Then press Insert;

 

64b0b0e11e.png

 

• Repeat the previous steps for Nvme.ffs, NvmeSmm.ffs, and NVMEINT13.ffs modules.

• Scroll down and you should find your inserted modules like this;

 

c465708cc6.png

 

• Click save ROM and exit! The UEFI now has boot capability for NVMe and XP941/SM951(AHCI) devices!

 

• Updating other OpROMs (optional).

Spoiler

• While this guide was meant for adding support for Samsung M2 drives and NVMe drives, I thought I may aswell include how to update other OpROMs in the UEFI to their latest versions.

• To Update your UEFI run the UBU.bat file in the UBU directory, this will open up a file opening window.

• Locate and open your UEFI file. Here is what the original bios looked like BEFORE updating;

 

18469f5fbc.png

 

• And here is what mine looked like after all mods and updates. Note "EFI AMI NVME Driver present"!

 

0acb527030.png

 

• Save by pressing exit, and save as bios.bin.

• Rename this back to Extracted.rom, and continue to flashing, or just keep it as bios.bin and adapt the command appropriately.

 

• For more info about UBU tool; http://www.win-raid.com/t154f16-Tool-Guide-News-quot-UEFI-BIOS-Updater-quot-UBU.html

 

• Flashing the Modified UEFI.

Spoiler

• Copy the Extracted.rom file to the same directory as AFUWINx64.exe

• Some motherboards, mainly ASUS ones, have a lock on the UEFI, to prevent flashing modified UEFIs, however we can get around this lock by first flashing an official UEFI, then the modified one.

• First we will reflash the original UEFI. (In this example I will use P8Q77M.CAP).


afuwinx64.exe P8Q77M.CAP

• Now Flash the Modified UEFI;


afuwinx64.exe Extracted.rom /GAN

• Your UEFI should now be fully re-flashed and updated! Reboot and give it a try!

 

Results

• You should now be fully able to select the drive as a boot device in the UEFI.

• If you are successful, please PM or post your original UEFI and the modified ROM, along with board model and revision (use CPU-Z to find that). I will add it to my download server, so others can use them as known working versions.

 

Credits

Info about getting XP941 / SM951 (AHCI SSDs) bootable; http://www.win-raid.com/t1458f13-Guide-How-to-get-M-PCIe-connected-Samsung-AHCI-SSDs-bootable.html

• Info about getting NVMe support into UEFI UEFIes: http://www.win-raid.com/t871f16-Guide-How-to-get-full-NVMe-support-for-Intel-Chipset-systems-from-Series-up.html

• UBU Tool: http://www.win-raid.com/t154f16-Tool-Guide-News-quot-UEFI-BIOS-Updater-quot-UBU.html

Link to post
Share on other sites
Posted · Original PosterOP

 

1 minute ago, FirstArmada said:

Where's the downloadable package? 

Yup, i accidentally submitted this post before the guide was complete, that's coming soon

Link to post
Share on other sites

where's the links to original content?


CPU: Intel i7 5820K @ 4.20 GHz | MotherboardMSI X99S SLI PLUS | RAM: Corsair LPX 16GB DDR4 @ 2666MHz | GPU: Sapphire R9 Fury (x2 CrossFire)
Storage: Samsung 950Pro 512GB // OCZ Vector150 240GB // Seagate 1TB | PSU: Seasonic 1050 Snow Silent | Case: NZXT H440 | Cooling: Nepton 240M
FireStrike // Extreme // Ultra // 8K // 16K

 

Link to post
Share on other sites
Posted · Original PosterOP
3 minutes ago, FirstArmada said:

Upload a Virus total result with it

Will do.

 

I'll probably be another 30 minutes or so while i get the guide written up.

I'll also be working on the guide more over time, as ATM i only have experience with ASUS boards, though i do have an ASRock motherboard i will mod next.

Link to post
Share on other sites
Posted · Original PosterOP
2 minutes ago, DXMember said:

where's the links to original content?

 

7 minutes ago, ValkyrieStar said:

 

Yup, i accidentally submitted this post before the guide was complete, that's coming soon

 

Link to post
Share on other sites
1 minute ago, ValkyrieStar said:

Will do.

 

I'll probably be another 30 minutes or so while i get the guide written up.

I'll also be working on the guide more over time, as ATM i only have experience with ASUS boards, though i do have an ASRock motherboard i will mod next.

Sounds good , cant wait.

Link to post
Share on other sites
10 minutes ago, ValkyrieStar said:

The Problem?

this could also be seen as planned obsolescence

 

The Solution

• We simply add the modules ourselves!

those fuckers... in before you post a solution on how to run skylake on H67 chipset with PCI-E 3.0 and USB 3.0, and unlock GT8800 Ultra to support DX12


CPU: Intel i7 5820K @ 4.20 GHz | MotherboardMSI X99S SLI PLUS | RAM: Corsair LPX 16GB DDR4 @ 2666MHz | GPU: Sapphire R9 Fury (x2 CrossFire)
Storage: Samsung 950Pro 512GB // OCZ Vector150 240GB // Seagate 1TB | PSU: Seasonic 1050 Snow Silent | Case: NZXT H440 | Cooling: Nepton 240M
FireStrike // Extreme // Ultra // 8K // 16K

 

Link to post
Share on other sites
Posted · Original PosterOP
1 minute ago, FirstArmada said:

Sounds good , cant wait.

It certainly is good, running a 128GB SM951 (AHCI) on my asus P8Q77-M motherboard's 2.0 x4 slot, about 1.5GB/s read due to DMI 2 limitations, but still insane!

 

Power button to OS login screen in 4 seconds.

Link to post
Share on other sites
13 minutes ago, ValkyrieStar said:

It certainly is good, running a 128GB SM951 (AHCI) on my asus P8Q77-M motherboard's 2.0 x4 slot, about 1.5GB/s read due to DMI 2 limitations, but still insane!

 

Power button to OS login screen in 4 seconds.

I believe SM951 (ACHI) doesn't run any faster than 1.5GB/s especially the 128GB model


CPU: Intel i7 5820K @ 4.20 GHz | MotherboardMSI X99S SLI PLUS | RAM: Corsair LPX 16GB DDR4 @ 2666MHz | GPU: Sapphire R9 Fury (x2 CrossFire)
Storage: Samsung 950Pro 512GB // OCZ Vector150 240GB // Seagate 1TB | PSU: Seasonic 1050 Snow Silent | Case: NZXT H440 | Cooling: Nepton 240M
FireStrike // Extreme // Ultra // 8K // 16K

 

Link to post
Share on other sites

Read it somewhere as well, and you need a modified bios or chipset driver. don't remember.


Intel Xeon E5 1650 v3 @ 3.5GHz 6C:12T / CM212 Evo / Asus X99 Deluxe / 16GB (4x4GB) DDR4 3000 Trident-Z / Samsung 850 Pro 256GB / Intel 335 240GB / WD Red 2 & 3TB / Antec 850w / HD5850 / Win10 Pro x64

HP Envy X360 15: Intel Core i5 8250U @ 1.6GHz 4C:8T / 8GB DDR4 / Intel UHD620 + Nvidia GeForce MX150 4GB / Intel 120GB SSD / Win10 Pro x64

 

HP Envy x360 BP series Intel 8th gen

AMD ThreadRipper 2!

5820K & 6800K 3-way SLI mobo support list

 

Link to post
Share on other sites
Posted · Original PosterOP
47 minutes ago, NumLock21 said:

Read it somewhere as well, and you need a modified bios or chipset driver. don't remember.

Well, I'm not sure but i saw somewhere its up to 2050MB/s read even for the 128GB, the only difference between them is that the NVMe has much higher IOPs ratings.

 

The guide is now up!

Link to post
Share on other sites
39 minutes ago, ValkyrieStar said:

Well, I'm not sure but i saw somewhere its up to 2050MB/s read even for the 128GB, the only difference between them is that the NVMe has much higher IOPs ratings.

 

The guide is now up!

That source link is where I read it as well.


Intel Xeon E5 1650 v3 @ 3.5GHz 6C:12T / CM212 Evo / Asus X99 Deluxe / 16GB (4x4GB) DDR4 3000 Trident-Z / Samsung 850 Pro 256GB / Intel 335 240GB / WD Red 2 & 3TB / Antec 850w / HD5850 / Win10 Pro x64

HP Envy X360 15: Intel Core i5 8250U @ 1.6GHz 4C:8T / 8GB DDR4 / Intel UHD620 + Nvidia GeForce MX150 4GB / Intel 120GB SSD / Win10 Pro x64

 

HP Envy x360 BP series Intel 8th gen

AMD ThreadRipper 2!

5820K & 6800K 3-way SLI mobo support list

 

Link to post
Share on other sites
3 minutes ago, ValkyrieStar said:

ab700d5515.png

 

from scan.co.uk, only difference is IOPs

I think that's a typo. Too lazy to look it up, but when I was buying a new SSD. I was looking at the SM951 and notice there are 2 types. SATA and NVMe


Intel Xeon E5 1650 v3 @ 3.5GHz 6C:12T / CM212 Evo / Asus X99 Deluxe / 16GB (4x4GB) DDR4 3000 Trident-Z / Samsung 850 Pro 256GB / Intel 335 240GB / WD Red 2 & 3TB / Antec 850w / HD5850 / Win10 Pro x64

HP Envy X360 15: Intel Core i5 8250U @ 1.6GHz 4C:8T / 8GB DDR4 / Intel UHD620 + Nvidia GeForce MX150 4GB / Intel 120GB SSD / Win10 Pro x64

 

HP Envy x360 BP series Intel 8th gen

AMD ThreadRipper 2!

5820K & 6800K 3-way SLI mobo support list

 

Link to post
Share on other sites
Posted · Original PosterOP
4 minutes ago, NumLock21 said:

I think that's a typo. Too lazy to look it up, but when I was buying a new SSD. I was looking at the SM951 and notice there are 2 types. SATA and NVMe

Not sure, ive read multiple places that it's only really IOPs thats different. And im sure its like, 2250/2150/2050 MB/s read for the 512/256/128 variants. Take 50 off each for AHCI verison.

 

I guess i could try putting it in the PCIe 3.0 x16 slot and see what happens..

Link to post
Share on other sites

UEFI =/= BIOS


"You don't need headphones, all you need is willpower!" ~MicroCenter employee

 

How to use a WiiMote and Nunchuck as your mouse!


Specs:
Graphics Card: EVGA 750 Ti SC
PSU: Corsair CS450M
RAM: A-Data XPG V1.0 (1x8GB) (Red)
Procrastinator: Intel i5 4690k @ 4.4GHz 1.3V
Case: NZXT Source 210 Elite (Black)
Speakers and Headphones: Monitor Speakers and Phlips SHP9500s
MoBo: MSI Z97 PC MATE
SSD: SanDisk Ultra II (240GB)
Monitor: LG 29UM68-P
Mouse: Mionix Naos 7000
Keyboard: Corsair K70 RGB (2016) (Browns)

Webcam/mic: Logitech C270
 

Link to post
Share on other sites
9 minutes ago, ValkyrieStar said:

Not sure, ive read multiple places that it's only really IOPs thats different. And im sure its like, 2250/2150/2050 MB/s read for the 512/256/128 variants. Take 50 off each for AHCI verison.

 

I guess i could try putting it in the PCIe 3.0 x16 slot and see what happens..

Yep, there are 2 version of it ACHI (SATA) and NVMe. Both of them uses the M.2 interface. The NVMe gets higher IOPS.

http://www.samsung.com/semiconductor/products/flash-storage/client-ssd/MZHPV128HDGM?ia=831

http://www.samsung.com/semiconductor/products/flash-storage/client-ssd/MZVPV128HDGM?ia=831

Putting into a 3.0 x16 won't do anything when your m.2 is already at 3.0 x4


Intel Xeon E5 1650 v3 @ 3.5GHz 6C:12T / CM212 Evo / Asus X99 Deluxe / 16GB (4x4GB) DDR4 3000 Trident-Z / Samsung 850 Pro 256GB / Intel 335 240GB / WD Red 2 & 3TB / Antec 850w / HD5850 / Win10 Pro x64

HP Envy X360 15: Intel Core i5 8250U @ 1.6GHz 4C:8T / 8GB DDR4 / Intel UHD620 + Nvidia GeForce MX150 4GB / Intel 120GB SSD / Win10 Pro x64

 

HP Envy x360 BP series Intel 8th gen

AMD ThreadRipper 2!

5820K & 6800K 3-way SLI mobo support list

 

Link to post
Share on other sites
Posted · Original PosterOP
15 minutes ago, BingoFishy said:

UEFI =/= BIOS

Fixed, ty for reminding me.

 

3 minutes ago, NumLock21 said:

Yep, there are 2 version of it ACHI (SATA) and NVMe. Both of them uses the M.2 interface. The NVMe gets higher IOPS.

http://www.samsung.com/semiconductor/products/flash-storage/client-ssd/MZHPV128HDGM?ia=831

http://www.samsung.com/semiconductor/products/flash-storage/client-ssd/MZVPV128HDGM?ia=831

Putting into a 3.0 x16 won't do anything when your m.2 is already at 3.0 x4

My board has 2 slots

-PCIe 3.0 @ x16

-PCIe 2.0 @ x4

 

Currently my SM951 is just in the 2.0 x4 slot.

Link to post
Share on other sites
Posted · Original PosterOP
3 hours ago, DXMember said:

those fuckers... in before you post a solution on how to run skylake on H67 chipset with PCI-E 3.0 and USB 3.0, and unlock GT8800 Ultra to support DX12

Alright, modded drivers /  to make 3770K show as a 6700K ;)

Buy a H67 board with a built in usb 3.0 chip. Or get a pcie addon card.

And the last one is probably impossible. Or you could driver mod the nvidia drivers to make a 980 show up as a GT8800 Ultra. That would have DX12 ;)

 

Joking aside, NVMe boot support and SM951/XP941 ahci pcie boot support is literally a few UEFI modules. It's not that hard. I'll be adding modded bins for P8Z77-V PRO and H61 BTC shortly.

Link to post
Share on other sites
Posted · Original PosterOP

339378c876.png

 

Left: Samsung 950 Pro 512GB

Right: Samsung SM951 128GB (AHCI).

 

There's suprisingly little difference between them in read speeds. Only 500MB/s which tbh is a lot but it's hardly going to be noticeable.

I'm swapping out the AHCI drive for the NVMe version in the next week or so.

 

These are both running off my 5820K motherboard.

I will post screenshots of it running on my Q77 board once the NVMe version arrives (the AHCI is already removed as i'm returning it for exchange to NVMe model).

I have quickly tested my 950 Pro in the Q77 board, it booted up perfectly, not a single problem! I took it straight out though as it's got my windows install for my main PC on it and Windows 10 insisted on downloading and installing a bootload of drivers for the Q77 board despite me telling it not to.. -_-

 

I also wondered what copying from the SM951 to the 950 Pro would look like... suprisingly the 1.5GB/s write of the 950 pro actually bottlenecks it!

0616b195d5.png

Link to post
Share on other sites

Hello :D

i can't get afuwinx64.exe to extract my efi properly, at last MMTool can not open the Extracted.rom .
MMTool responds with error Code 80000001..
My Board is a dual CPU Intel S5520HC with two X5690 an 48GB of ECC 1333 Registered RAM.
I just flashed the newest available BIOS from intel.

In the Intel Bios folder there are two files i can open in MM Tool.
R0064.cap and R0064Rec.cap.
If there is a need to add Screenshots, i will, but the BIOS files are also available for download at intel: https://downloadcenter.intel.com/download/23908/Intel-Server-Board-S5520HC-S5500HCV-S5520HCT-and-Intel-Workstation-Board-S5520SC-Firmware-Update-Package-for-EFI?product=36599

I'm Sorry if i missed something obvious.
Greetings


 

EDIT:
I just found this document at Intels https://www.intel.com/content/dam/support/us/en/documents/motherboards/server/sb/efi_instructions.pdf

When you do a "F3" search through it about "R00" there is a Point where they load a file named R0025.cap into the efi I think. Maybe this is helping to solve my Problem 9_9

 

Edited by DrSalitos
I found a document to add
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.

Buy VPN

×