[Guide] NVMe-boot w/o modding the BIOS (Clover-EFI method)

The purpose is NOT to see the installation-Stick in CLOVER-boot!
In BIOS/UEFI you put the CLOVER-Stick at the first position, but choose the install-stick in the boot-menu to install the OS!
On the first reboot the system should boot from the prepared clover-stick: on this way windows can boot from the PCIe-NVMe-drive; this drive is not detected by the MB-BIOS (otherwise you had not needed this tutorial).


Since a couple of month the source-path has been changed!
So as you did was right.


Humm… According to the steps of the tuto and the principle of Clover workaround, actually the Windows installation media MUST be visible in Clover-boot as we have to chose it for going on the installation of Windows starting from Clover-boot (which is precisely indicated by the steps 5 to 7.


Okay that’s precisely what I did. So the error shows up when Clover-boot launches the installation media as I tried to show in the linked image in my previous post, so from the 6a to 7 steps of the tuto. At that time, there is no windows installation done on the NVMe drive which is still empty at this time…

@Neutral67fr

Sorry for giving you a possibly wrong info!

I’m using Windows7 and I installed my NVMe-System in July 2017, so I must retry to install it on my test-plattform (no NVMs supported): I get next week a new SSD and an PCIe interface-board; at the same time it could be a good possibility to switch to Win10…
I hope I will report a good result.

Hello,

can anybody say, if i can use a Samsung SSD 970 EVO 250GB, M.2 (MZ-V7E250BW) for an old ASUS P5K with P35 chipset?

can anybody say, if i can use a Samsung SSD 970 EVO 250GB, M.2 (MZ-V7E250BW) for an old ASUS P5K with P35 chipset?

Yes you can. But if your board has no m.2 slot, you have to use an m2 to pci card. Where you insert your SSD on the pci-ex card and in turn insert the card into an available slot.

Then follow the tutorials above to boot into a USB stick

Thanks for you answer. I’ve ordered the DeLOCK PCI Express Card > 1 x internal M.2 NVMe (89370) and the 970 EVO now.

So, first off what a fantastic guide! I managed to get my ancient ASUS P5KPL1600 Legacy BIOS mainboard booting a shiny new NVME drive via an adapter card in the PCIe slot!!!

The only issue I am having is that I cannot get Autoboot to kick in? I have edited config.plist but it is as if CLOVER is not recognizing or using the config file?

I change timeout from 5 to 1 and nothing happens. I have to manually select the boot volume every time.

I tried the same USB key on a newer mainboard that supports UEFI and the countdown shows and will autoboot using the LastBootedVolume option?

Does anyone have any ideas. I can’t find any logs on the CLOVER USB key either, do I need to enable logging?

UPDATE - On the newer system I did not have the NvmExpressDxe-64.efi copied to the Drivers64UEFI or drivers64 folder as I am booting from a normal SATA drive. After copying the files Autoboot still worked. SO I tried turning off UEFI and I got the same BIOS looking screen rather than the main CLOVER GUI? Does anyone know what this screen is? It seems to have options to add boot options, manage boot options, etc.

After turning UEFI back on I get the GUI again but no autoloader or countdown on the newer PC now?

UPDATE 2 - I have rebuilt the USB Key and now the new PC refuses to Autoboot? How can that be possible, It was initially? Now it is like my ASUS P5KPL board and sits at the GUI waiting for an input?

UPDATE 3 - I have narrowed down the issue to the following:

Booting the CLOVER USB key in non UEFI mode/Legacy means autoload does not work. Almost as if the cofig.plist file is not being read?
Booting the CLOVER USB key in UEFI mode enables Autoload and it can read the config.plist file as changing values such as timeout from 5 to 10 has an effect.

What is preventing CLOVER from reading the config.plist file in legacy boot mode? The whole point of this is to boot an NVME via UEFI from the USB key on an old Legacy BIOS board thaht can’t boot UEFI. Can I copy the config.plist file to another location so it will read it when the USB key is booted in legacy mode?

@millldew
Are those modified :
<key>DefaultLoader</key>
<string>\EFI\Microsoft\Boot\bootmgfw.efi</string>
<key>DefaultVolume</key>
<string>EFI</string>

?
Did you tried earlier version of Clover ?

I have the following:

<key>#DefaultLoader</key>
<string>boot.efi</string>
<key>DefaultVolume</key>
<string>LastBootedVolume</string>

Thanks for replying :slight_smile:

I edited the config file as you listed and it works!

Why did autoboot work under UEFI? I’m guessing because it automatically checks the Windows EFI parttion and Legacy does not?

Thank you so much. I was up until 4am scratching my head on this.

Glad it worked :slight_smile:
@Fernando Wish someone edited first post to include this tweak of mine… (I figured it a while back in this topic).

Because “LastBootedVolume” for MBR boot doesn’t contain file Clover needs to start Windows (ie. one on EFI partition) :slight_smile:
While under GPT/UEFI, it does.
It MIGHT have worked if Windows partion would have files from “EFI” (the hidden) boot partition.

Hi agentx007,
one small problem understanding the HowTo on the first post, is that since many versions the folder where to find the NVMe driver has been changed:
it is not (point 3a)

Copy \EFI\CLOVER\drivers-Off\drivers64\NvmExpressDxe-64.efi…

anymore, but \EFI\CLOVER\drivers-Off\drivers64UEFI\NvmExpressDxe-64.efi.

So, if this is compatible with almost any board, it should work with a Dell Optiplex 9020 then right? Also, when it’s all said and done, will you need to have the USB drive inserted whenever you boot or will it all be taken care of by the boot loader?

@Evanite

If the PC does NOT detect the NVMe and the BIOS/UEFI is NOT modified, so you need the USB flash drive to boot from the NVMe!

“So, if this is compatible with almost any board, it should work with a Dell Optiplex 9020 then right? Also, when it’s all said and done, will you need to have the USB drive inserted whenever you boot or will it all be taken care of by the boot loader?”

Yes the USB should be inserted ALL the time as that is your bootdisk. So computer boots as follows
BIOS: USB UEFI boot loader, menu, your windows installation in the NVME.

later on when you are booting comfortably several times. You can create a 100MB partition in a regular drive on the PC (not the NVME drive) and have it boot from there in lieu of and as if that’s your USB. you just need to copy your USB-UEFI on that partition. Your BIos will recognize that partition as a UEFI drive and if directed to do so, your BIOS will boot from there.

@Sandbites You are correct.
I created a 200MB partition on my second hard drive and used BDU to install Clover directly there (just to be on the safe side with hidden files/boot configuration, etc.).
It will work with legacy booting, as long as there is no other OS installed (making this multi OS drive was too big of a pain for me).

Another option is industrial grade 512-1GB CompactFlash card, with IDE/SATA adapter.
Catch with SATA adapter is that it requires IDE compatible mode to work properly (ie. no AHCI).
If board has two or more SATA controllers it shouldn’t be an issue though.

Another solution (as I use!) is to buy an USB to internal USB 2 9-Pin socket adapter like this
Adapter vertical or
Adapter horizontal
and a USB micro drive like this
Micro-USB 4 GB.
In this way you don’t waste an external USB- or an internal SATA-socket.

I’d partake, but this build is using a Grid+V2 fan controller which requires use of the sole internal USB header. There won’t be an issue with a USB stick in one of the 12-14 USB ports or a 100 or 200MB partition on two 3TB hard drives. Lol.

Nailed it! My system (Lenovo ThinkStation D30, 2x Intel Xeon [email protected] 6-Core, 24GB Ram) is booting Windows 10 on my 1TB Samsung 970 Pro and I am sooo thankful for this post.

Edit: I choosed the version 4411 in BDU, as the folder structure is differednt from this thread in other versions

Missing something…

TLDR - Success - used a different (larger) USB boot and worked correctly! After cloning Existing Drive to NVMe installed in PCI x16 slot in X16 adapter.



I’m sure if i did the Fresh install method it would work…
However i’d rather simply clone over my existing SSD > NVME (Which is complete)
then convert the drive from MBR to GPT via gptgen (Which is complete)

then attempt to boot via clover after copying NvmExpressDxe-64.efi to both
locations listed…
\EFI\CLOVER\drivers64
&
\EFI\CLOVER\drivers64UEFI

Then boot system…
system boots to usb as expected (legacy bios mode as that is all that is supported)
Never sees the drive anywhere…


USING A Dell T5500 in ATA mode on chip - ACHI didn’t change anything.
there is no UEFI option which is why playing with the clover option.

NVME is a 970Pro M.2 - using a PCI X16 Adapater and in an X16 Slot…
cloned fine as I said above and able to see and work on any partitions as needed after clone…
just Clover doesn’t see the drive…
Wondering how to I get into EFI Shell from Clover Menu? to do more testing?
or if there is something else I’m missing… (this is highly suspect)

I’m obviously expecting intitial boot to have issues as the BCDBOOT is not going to be aimed at the correct hardware and I’ll need to fix that as well I’m guessing but not sure…

Post #245 does it but slightly different steps…
Guess correctly it is RedEye Ninja Post #216

Also Tested via #90 and made those edits as well…

but this file doesn’t exist on the usb… so need to find that bootmgfw.efi file and location…

1
2
3
4
5
6
7
8
 

...
374 <key>DefaultVolume</key>
375 <string>EFI</string>
...
380 <key>#DefaultLoader</key>
381 <string>\EFI\Microsoft\Boot\bootmgfw.efi</string>
 
 


No difference...



Ok - got the first steps completed...

Clone - used macrium relflect free this time - got a good MBR Clone.
rebooted into win 10 boot recovery WinPE > start > recovery > advanced reboot into recovery
once rebooted selected command line > rebooted again and into local user:pass - entered local account and continued to cmd
-
verified PE version 10.0.17763.1 - at top
disk part to verify
list disk
select disk 2 - 2 in my case have 2 drives + NVME as 3
list part - verified no extras in there.... only defaults and matching (except for extending middle partition 100gb)
list vol


MBR2GPT /validate /disk:2 /allowfullos - ran correctly this time no issues
MBR2GPT /convert /disk:2 /allowfullos - ran correct this time



disk part to verify
list disk
select disk 2 - 2 in my case have 2 drives + NVME as 3
list part - verified no extras in there.... only defaults and matching (except for extending middle partition 100gb)
list vol

verified now have FAT32 boot volume as expected.



still not detecting NVME at boot from clover - still same no detection....



- Re added this back to config.plist
1
2
3
4
5
6
7
8
 

...
374 <key>DefaultVolume</key>
375 <string>EFI</string>
...
380 <key>#DefaultLoader</key>
381 <string>\EFI\Microsoft\Boot\bootmgfw.efi</string>
 
 


nothing changed still not detecting NVME disk for boot...
I'm still missing something.... but getting what I feel is closer...

---
Much Better..
Recreated on a larger USB Boot - original USB was 1gb - usually plenty big I thought...
Had a 32G sitting around and recreated...

didn't edit and got correct screens..



don't think I see NVME in the list but adding them next

now just tweaking - moving NVME drivers to correct folders/s

again since its a new drive.



verifying correct drive - old was ~237gb new is 350gb C.



so there you have it - success... I just took the very long way to realize the USB drive I was using wasn't big enough... Figures...

but other than that...

Clone OS to NVMe then Fix via Win PE (MBR2GPT) works on Old Dell Precision T5500

have not tested actual speeds... maybe some other time.... not major currently...

---
My last process - hopefully works....

Pre machine was
SSD Boot + 1 10k HD..

Added NVME PCI
Cloned SSD to NVME - Legacy T5500 Precision Dell so no UEFI
setup and got clover working - done and verify booting to new NVMe M.2 no issues - typing via that install now actually.
Clone 10K HDD to SSD - Remove 10k HDD

Verify all running fully NVME + SSD Secondary -
Done ... Hopefully.....

will probably tweak the boot to faster settings using above changes in config.plist as noted by others... but currently fine with 2-3 seconds..