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

seems vrm is not good, so voltage dropped again to 3 volt. A little lower and the nvme gives code 10 error and doesn’t work.

@knightrider2003

If I understand correctly you are having under voltage issues ? If so It is most likely one of 3 issues first being that your motherboard cannot supply adequate power to the pcie bus and the adapter card. Second your adapter card may be faulty or just slightly out of spec enough to cause an issue for you. And lastly it’s worth checking your computers power supply to ensure it is performing properly… I’ve had issue’s with power supllies under volting once loaded in the past.

Sorry I can’t be of great help without more information.

@sibliss i inspected the beneath side of the mainboard. There are some black stains right where the vrm is. When i completely drain the mainboards voltages, it’s back at 3.2 volt. Then after a week it’s 3 volt. Overclocking, but also the spectre bug i think has caused this. Cause the spectre bug made the pc randomly shutdown, like i hit the switch at the back. Intel has done several years to find the bug :slight_smile: . With an amd system i didn’t have that back then.

Hi
I have an MSI Z87-G41 motherboard coupled with a I5 4670K. I bought a PCIe card in which i can put a nvme drive there and windows can see it as a second drive. I cloned the main drive and after doing this i removed it but in my bios there is no way i can boot from the PCIe card that contains the NVME drive. Is there any way the bios can be modified in a way that the NVME drive will be seen in the bios and allow me to choose that one as a boot drive?
Thanks

@Spanish_Tony



there is a forum for bios modding see the bios modding section here https://www.win-raid.com/forum.php but not all motherboards can have their bios modified this is why we use the clover method it works around this problem by using clover’s legacy boot device to boot from bios before loading the nvme. please read the first post on this thread and the pinned update information.

@herrscher



For some reason this does not work for me. I also tried creating the same file using notepad++.

I created the file the following method:
Shell> edit fs0:\startup.nsh
— added a single line inside —
fs0:
ctrl+s
enter
ctrl+q

Shell> cat fs0:\startup.nsh
fs0:

So I have startup.nsh under root of fs0. The reason having a single line inside the file is to debug the failure isolating other potential errors.

Shell> fs0:\startup.nsh
Command Error Status: Out of Resources

It seems like some memory allocation problem. Is there anyone who suspects what could be the problem?

///
Actually inside startup.nsh final goal is to have:
fs0:
load efi\clover\drivers64\NvmExpressDxe.efi
map -r
fs1:
efi\boot\bootx64.efi





Please be aware this is the clover boot method forum and clover does not use the startup.nsh, If i am not mistaken that is used by duet ? are you trying to use duet or clover ? if you are using duet method i suggest posting in that forum.
If you are trying to use clover please start from the beginning and ignore those comments about the startup.nsh.

If you have any clover questions please post them here and i will do my best to help you.



First I am using CLOVER and nothing else - startup screen shows "EUFI v2.70 (CLOVER, 0x000113fC)"

I am not sure what do you mean that CLOVER does not use startup.nsh, as it explicitly pointed that out during startup ("Press ESC in 3 seconds to skip startup.nsh or any other key to continue."). If I do not try to start explicitly startup.nsh, then CLOVER tries to do this loading it automatically (and failing).

So, my problem is that for some reason NVME driver is not loading automatically and I am trying to do this in a startup script. Driver is in the following directories:
- fs0:\EFI\CLOVER\drivers64\NvmExpressDxe.efi
- fs0:\EFI\CLOVER\drivers64UEFI\NvmExpressDxe.efi
- fs0:\EFI\CLOVER\drivers32UEFI\NvmExpressDxe.efi

So if startup.nsh is not the right solution, could you tell me what should be the corrective action here?

@herrscher
what i meant is that clover is built on duet but 99% of clover issues are not that deep.
normally it’s a case of putting the drivers in the right place.
you should be in clover\drivers64\uefi\NvmExpressDxe.efi not directly in clover\drivers64\NvmExpressDxe.efi
did you install clover with the BDU ? have you not also put the driver in both Efi\CLOVER\drivers\bios and Efi\CLOVER\drivers\uefi ? clover will look in these 2 directories first. it doesn’t look like you are actually using the newer X64 driver so i would try going the typical 32bit route first… note these two directories are not the same as the drivers64 directory you mentioned i recommend using the directories generated by the BDU but you can always throw these in with no ill effects.

fun fact it actually doesn’t matter if you use uefi clover or even if you use x64 or x32 clover all it has to do is call the windows bootloader, after which the windows bootloader will set it’s own settings regardless of what settings clover uses.

hehe, voltage is back at 3.15 again :slight_smile: so nvme is working again. Don’t know what i did to get it back up again. Pc had some trouble booting this morning though.



Thank you! I created everything with BDU, but did not put anything inside Efi\CLOVER\drivers\uefi. Puthing NVME driver inside Efi\CLOVER\drivers\uefi fixed the problem.

@herrscher
I am glad to see you fixed it enjoy the super fast ssd. Out of curiosity is there a way I can make it more clear where the driver should be in my pinned post ?



Yes, the following is just not correct with the current version:

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

…Legacy BIOS: to \EFI\CLOVER\drivers64<br />…UEFI: to \EFI\CLOVER\drivers64UEFI<br />"

It seems it should be:

"
Copy \EFI\CLOVER\drivers\Off\NvmExpressDxe.efi…

…Legacy BIOS: to \EFI\CLOVER\drivers\BIOS<br />…UEFI: to \EFI\CLOVER\drivers\UEFI<br />"

@herrscher

This is interesting, did the BDU create the clover\drivers64 directories but not the clover\drivers directories ? typically it will create both for an x64 config i think.
you will note that my pin says to simply use which ever directories that BDU created and to copy the driver to BOTH the BIOS and UEFI directories under the drivers(64) directory

It seems you have highlighted the difference between 32bit and 64bit i am to assume from this that you are now using a 32bit UEFI configuration.

i have adjusted the below quote to show the correct configurations.



and some users may need to create the following directories (unless you already have one or both) and copy the NvmExpressDxe driver to them aswell
Efi\CLOVER\drivers32uefi
Efi\CLOVER\drivers64uefi

see when i wrote my pin i checked the directory structure against the documentation here
https://github.com/Clover-EFI-Bootloader/clover/commit/348de5eafe9205e546d0ab28a0c35fb6c37c8306

Hi!

I have a Lenovo D30. I am trying to solve it based on the description, but I am not able to reach success. The BDU ran successfully, the boot menu of Clover popping up, I could setup windows 10 for the NVME M2 SSD, but after restart of the computer, system does not find the windows, thus this does not load up. (of course I still do not see the NVME drive in the BIOS). So it seems the clover and win setup was successfully, but the computer does not boot from NVME. Could you please help me anyone?

Thanks in advance.

@evosonic
Hello and welcome to the forums, please be aware that you will never see see the NVME drive in the bios as a bootable device that is not how this method works clover can’t modify your bios after all. But clover can make it possible to boot from the nvme via the clover bootloader.
The bios MUST be set to always boot from the usb or hard drive where clover is installed to (the legacy device that your bios can actually see) once booted into clover, clover should search for bootable volumes across all of the drives including the NVME drive and then allow you to hopefully boot to windows.

As we begin trouble shooting your issue can you please confirm a few things for us.
When you restart the computer that you boot to the clover device (ie the usb or hard drive you installed clover on to) and that clover does load to the clover menu correctly. ?
Does the windows volume or windows system volume appear in the clover menu list to boot from. ?
If the volumes from the NVME drive do not appear in the clover menu please ensure you have copied the drivers to all the locations mentioned in my pinned post.

good luck, happy modding and of course report back here when you either get it working or if you’re still having trouble report back here and we can try to troubleshoot further.

Hi folks,

trying to get this to work.

I allready have Clover running booting Catalina and Windows 10 (on separate SSD’s)
I have now purchased a PCIe NVME card and some NVME drives, to increase speed of the system.
And I was planning to just use the existing SSD with clover as a boot device, rather than using a USB stick.

I am planning to do a complete reinstall, not move/copy the Windows 10 install from the SSD.

But i just cannot get clover to boot the Windows USB boot install media.

I get the error: boot0af , whenever I choose the USB Windows 10 install from Clover menu .

I have tried both using MBR and GPT partition on the usb stick, it doesnt matter.
I have tried both using Rufus and Microsoft official download tool to make a bootable UEFI USB install with EFI/UEFI folders.
The USB Windows install stick have all the EFI / UEFI folders, and needed drivers are put into folders.

The USB stick boots just fine when booting directly from it, I just cannot boot from it from within Clover (5107) on my SSD, or from a Clover (5117) boot usb made using BDU.
This is driving me nuts, been using the whole day now, cannot figure out why it will not boot the Windows install media from Clover.

The NVME card is the Asus Hyper V2. And the card/NVME is detected when starting install (boot directly from usb install media), but I cannot install on the NVME drive (GPT) because I need to boot/start the install USB from Clover to get UEFI capabilities.

My motherboard is a Gigabyte GA EX58 UD5 (v1).

What is causing the “boot0af” in this case??? All drivers are copied to the right places (I think). I have tried different USB slots, (but not all), should this matter?
I am even able to boot my Windows 10 legacy install (on another physical drive) from clover, ( I followed a tutorial and added EFI folder on the C: drive of the Windows drive)

I am so ready to install Windows on my NVME, but… the boot0af is stopping me :frowning:

@ArcticLight
Hello what you are describing is a common issue and can often be solved in a number of ways…
firstly if you haven’t already try using a different usb stick.
if you have an optical drive perhaps try that way.
Of course be sure the Windows 10 image/iso you are using is both x32 and x64 iso (Should in theory make it bootable regardless which architecture youre using). You can do this in the media creation tool downloaded from MS.
I hope this helps please report back if you’re still getting the issue.and even if not as we’d love to hear how you fixed it.

Edit: I forget to mention worst case if you are lucky enough to have a blank spare hdd or ssd floating around try installing to that first the normal way then sysprep the install and simply copy the partitions to the nvme. Then try booting the nvme through clover.

@sibliss , thank you for your reply.

I will try another USB stick.

How can it matter if I have only x64 version of Windows on the install media, vs both x86 and x64 versions?

BTW It doesn’t say anywhere weather the install media USB needs to be set up as GPT or MBR.
The target NVME drive must be GPT, shouldn’t the install media also then be GPT?
(I watched a youtube video claiming this)

Will get back…

@ArcticLight the install usb shouldn’t matter if it’s mbr or gpt, however i believe the windows 10 media creation tool will automatically set what it thinks is appropriate.

i suggested to have both x32 and x64 on the usb as i am not sure if there may or may not be some funny business on the installation bootloader the media creation tool installs to the usb to facilitate the installation.
i suggested a different usb stick as i had to try about 3 before i got one to work myself.

@sibliss I have now tried 3 different USB stick, and tried again using MBR/GPT on the stick, I have also tried experimenting with file cluster size from 4096 to 512 (USB stick is automatically formatted using 4096, but some say Clover needs 512 ?), anyway no luck, same error boot0af:error, using both my installed Clover 5107, and BDU installed Clover on a separate stick 5117, same error, always.

I have also tried changing the PBR boot setting in my installed Clover 5107 config file/EFI, from (PBR, PBRtest, PBRsata, and legacyBIOS).
This does seem to do something, as with using PBRtest is just reboots when trying boot from the Window install media, and does nothing when having selected legacyBIOS, but still not able to boot.

I cannot believe I am the only one having this problem!?

You say this is a common problem, but I cannot read about anyone in this thread having this issue? And why is there noe solution if a common problem?

I am now trying making a bootable install media with both x86 and x64 versions of Window on, but I cannot see why that should mean anything.
EDIT:(tried, does not make any difference, still not working)

I would prefer not having to clone an installed image, as I would like to make a fresh install.

I can try making the NVME a MBR disk, and then try to install from a directly booted install-media, and the try to patch the install as I did on my SSD windows installation to be able to boot from Clover.
EDIT:(tried this, does not work, Windows install seem to detect that the NVME is not supported in BIOS and preventes me to install on it regardless if using MBR)

But would still like to be able to install directly onto the NVME, rather than cloning the partitions of another installation.
(I have bad experience with cloning installations)

Any other tips?