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

Whats an X9 board? - SuperMicro X9 Series Board (X9SCA-f)
Why don’t you post your bios file. - Attached
How are you getting into the UEFI shell… Built into Bios
if you pull the m.2 card you say Windows loads so you know you have a live windows install on the drive? Sure Windows is installed in UEFI mode?
It was built off a H110 chipset booted from thumb with bios in EFI mode… should be

Driver is loaded as I said with the blk0 and blk1 (two partitions that Windows 2016 creates)
load nvmexpressdxe.efi’ says “File not found”, but Drivers show
AC 0000010 B - - 1 1 NVM Express Driver NvmExpressDxE

Also note, in issuing a dblk blk1
it does dump the Samsung, but no FAT info?

Thanks again!
Mike

hat the driver is loaded or even load it as an ‘efi’ file inside the shell environement. From there a map -r should see the partition.

x9sca5.zip (2.6 MB)

@mPisano1

Looked through your bios file and could not find the NVMExpressDxe.ffs bios mod. Are you sure you inserted it in correctly? Also when in your efi shell if you attach a usb key with the nvmexpress dxe efi file there can you see it in a directory listing?

Not sure whats going on.

Looked through your bios file and could not find the NVMExpressDxe.ffs bios mod. Are you sure you inserted it in correctly?
First file I sent was orig, attached now is the modded

Also when in your efi shell if you attach a usb key with the nvmexpress dxe efi file there can you see it in a directory listing?
I have been unable to get any fs?
Do I have to anything special?

x9sca5.zip (2.61 MB)

ok I can see in the map Fs0 when I boot with a usb in,

issuing a
Load fs0:nmvExpressdx_2.efi says
load: image fs0:nmvExpressdx_2.efi loaded at CE2C1000 - Success

HTH
Mike

Then after loading the driver what do you see if you type map -r?

Anyhow the fact that you can’t see your drive from shell could be because of how its partitioned as I believe shell
can only see Fat32 partitions. So it makes me wonder how you have parititioned your windows install? How was
it installed originally? Was it a clone? It would be helpful to have another windows install on a standard
Sata drive or use a Windows emergency usb key to get into a command window and type diskpart list disk and
see what the partition structure is like. My feeling is Windows is improperly installed because at least in legacy/efi
mode the bios should recognize the Windows boot loader.

Q: Then after loading the driver what do you see if you type map -r? A: No difference, the driver was already loaded

Q: So it makes me wonder how you have parititioned your windows install…? A: This is a two part problem\Answer.
1) If I boot the thumb and launch the 2016 setup it wont allow me to install windows on the Samsung saying:
"Windows Cannot be installed on this disk. This Computers Hardware may not support booting to this disk"
so:
2) I Put the M.2 and adapter into a newer machine, booted the same thumb, and installed server 2016.
After it completed I pulled the board and put back in this machine to test.

Could the m.2 be loaded by the other machine in some mode that wont boot with your drivers? Do newer bios allow legacy booting on Pcie\M.2 besides EFI?
I wonder if the thumb created with rufus that i’m using didn’t install 2016 on the m.2 as EFI… Although it boots instantly in the newer hardware
I just picked up some dual layer DVD’s, Ill wipe the m.2 and boot from DVD and see if it works differently.

Q: My feeling is Windows is improperly installed because at least in legacy/efi mode the bios should recognize the Windows boot loader.
I agree… I think my thumb\rufus is to blame

Do I need to use diskpart and manually create the partition manually and then try installing 2016, or load the m.2’s .Inf during install?

Thanks again
Mike

@mPisano1 :
There are a couple options still available for you to try though I’m not familiar with Server 2016, you can try installing the OS on a Sata SSD first and then clone the whole disk using cloning software onto the nvme drive. Perhaps the fact you installed Server 2016 on another machine with different Efi or Uefi mode directly affected the partition layout. Your going to need a System EFI partition for this to work .The Windows installer is a tempermental b’ch in my opinion. I had one system same thing happened over and over. Finally I figured out had to unplug every connected sata drive to get it to install on the Nvme and I didn’t even need Rufus. On another machine had no choice but to clone using Paragaon Disk Manager. I personally wouldn’t use Dvds. No one uses them anymore. I would further like to recommend you consider getting another brand of NVME drive as well especially one that has legacy rom. For example on my Adata SX8000 and Plextor M8Pey drive even my old X58 system bios is able to see the drive just not boot though of course with out mods.

One last thing to try is to run the Windows USB emergency environment and do a startup repair. Usually it will study your bootloader and make repairs to correct incorrect disk signature from the fact you installed Windows on another system. Just a stretch but worth a try.

Edit:
Just read over your original post. You’ve got an LSI SAS Array? Unplug it and turn it off first!

EDIT by Fernando: Fully quoted post repaced by directly addressing to the author (to save space)

ok I finally have had some progress today!!!

We were correct in the assumption that the USB although it has an EFI dir, isn’t booting via EFI.
I think rufus worked correctly, but I think the underlying issue is this MB does not like booting a NTFS thumb as EFI so it reverted to MBR?

I found a script:
https://p0w3rsh3ll.wordpress.com/2016/10…ws-server-2016/

Basically it formats the thumb as FAT32, copies all the Dirs from the ISO image, but because the install.wim is too big for the file system it breaks it into 4mb blocks.
My old USB thumb and new thumb are identical except for the File system, and Split wim, but I am now able to boot this thumb and it allows me to install Server 2016 on the m.2

I’m not exactly sure if I ever needed to mod the bios for nvme\m.2, I will reflash and let you know.

Kind Regards,
Mike

I’m sorry you lost me. Why do you want the to boot from USB? I think your problem maybe the Sas lsi controller you spoke of.

Hi David

Q:Why do you want the to boot from USB?
A:My “Server 2016” install is on the USB (I Didn’t have any dual layer DVD’s to burn so I used rufus)

The LSI controller and SAS cage has been unplugged all along with SATA Devices.

The live severs SAS array has Server 2003 and live data on (C:\D:)
My experiment is to be able to prep a 2016 OS in these servers on the Samsung M.2 installed on Startach (or similar) PCIe adapter.

I can then trash the older 2003 partition and inplace upgrade these office to server 2016 with minimal downtime
There around 20-30 servers spread around the globe that we need to migrate from 2003 to 2016 over the next year

FastFoward now…
Everything seems to be working.

I trashed my m.2’s test install of 2016 that was built from a newer computer since it was not EFI
I recreated the 2016 install USB using the script above (so Fat32 EFI)
Booted the USB and windows now allows me to install on the M.2 in the Supermicro X9 board

Server is up… my remaining issues is the Samsung Nvme 2.2 Driver will not install - says “Not supported for this OS”.
From reading the Microsoft Nvme driver was slower?

I also have to test Acronis to see if it can boot now and create a bare metal image of the m.2 for DR
Still wondering the lifespan of a M.2 compared to disk and if I should use 2x and mirror them?

Thanks again for the Help

So as a second test today I wiped everything and started from scratch.
I was able to install the latest Samsung 2.2 on my notebook and then take the INF and DLL to the Server and it installed perfectly.

So in retrospect, My entire problem was the way I burnt the Server 2016 ISO to USB.
I’m not sure if I had used a DL-DVD if the outcome would of been different (I don’t think so)

For anybody else having a similar issue I recommend the script above to copy the ISO to USB as FAT32 over burring it with rufus.
Especially on older Motherboards that cant boot an NTFS USB as UEFI.
The Script will format the USB as Fat32 and copy the ISO and use dism.exe to split the install.swm into 4gb files so it fits

For anybody with a live MBR system there is a great article:
https://social.technet.microsoft.com/wik…on-to-uefi.aspx
for you to convert a BIOS boot to UEFI without destroying the data.

I’m going to give the server a good burn over the weekend but wanted to say thank you to Dieter (Fernando) for the DXE and this forum and users who help

Kind Regards,
Mike Pisano

Fernando, i just wanted to say thank you… way back you helped me do an extra modification to my bios with older firmwares. I wanted to report back that i purchased a MyDigitalSSD BPX and inserted it into my ASRock Z77 Extreme4-M and was able to follow the newer instructions and eventually was able to get the bios to see the SSD after some trial and error… literally my last try, but hey i got it and i’m very happy. The performance is only slightly better than my SATA SSD except when doing stuff like UnRAR HA!. Whatever, i’m super happy and wanted to say thank you. Now i’m certain i won’t feel the need to upgrade my PC/motherboard until DDR5 in 2020 thanks to you.
I feel like i’m doing that 300a to 566 slocket upgrade all over again and sticking it to the man for a few more extra years LOL https://upload.wikimedia.org/wikipedia/c…ot1_Adapter.jpg

@spacewave :
Thanks for your feedback - you’re welcome!

Yes! Did work perfectly on an "MSI Z87-G45 Gaming" board with a Samsung Evo 960 M.2 SSD connected to PCIe!
Thanks so much Fernando!

samsung-evo960-bench.jpg

Thank you so much, Fernando!
Asus R4E (x79) & Samsung 960 Pro = love

R4E.zip (4.56 MB)

I got this working a while back and haven’t had any time at all to actually migrate over to the OS. I was doing some tests (both in the new boot OS and the old OS on a SATA drive) and see the stats are way off for the write ???

Give up on the attachments, here is an image link.

@RokleM
I see your 960PRO 1TB firmware is obsolete.
Do you use a correct NVMe driver ?
I think your W10 device properties strategy are not optimized.
Why your W10 version is not up-to-date ?
With my 960 PRO 1TB i get a 16000+ ANVIL score.

You obviously have not optimized the "Write Caching" options of your NVMe SSD.
Solution: Run the Device Manager, expand the section "Disk drives", do a right click onto the listed NVMe SSD and choose the options "Properties" > "Policies". Then check both options and repeat the benchmark test.

@vollstein :
Welcome at Win-RAID Forum and thanks for your feedback!

You’re welcome.

Regards
Dieter (alias Fernando)