Booting from an NVME SSD on an older PC using Clover

Back in October when I set up my new Ryzen PC, I thought it might be good to get an NVME SSD for the older desktop as well – I’d pinched all the drives from it for the new PC, and I didn’t want to be stuck using my old, slow HDD. NVME SSDs were quite cheap at the time, so I got myself a second hand 500GB Samsung OEM one commonly found in laptops.

However, there was a problem. The old PC (an Alienware X51 R2) didn’t have a M.2 slot to accommodate an NVME drive, which is common on systems of that age (circa late 2013). Fortunately, there is a way to get these super-fast storage devices working on older desktop PCs (unfortunately this won’t work on laptops).

This will work for booting both Windows and Linux, on systems with either BIOS or EFI/UEFI firmware. Similar steps can be followed for rEFInd, but that will only boot EFI/UEFI-based systems, whereas Clover can boot both BIOS and EFI/UEFI systems. You’ll see reference to rEFInd in the comments, but this is because I somehow got confused and thought I was using rEFInd instead of Clover. The post has since been updated.

M.2 and PCI Express

So first I should point out that some M.2 drives actually use SATA, but I wasn’t interested in those as I could just connect a SATA SSD. I was really interested in the PCI Express/PCIe drives. Fortunately, any recent desktop will use PCIe for the graphics card, and my old PC was no exception. If you’re using a standard ATX motherboard, you may well have multiple PCIe slots, but in my case I had to ditch the graphics card, which was an acceptable compromise for me because I wasn’t using it anyway.

In order to connect an M.2 drive to a PCIe slot, there are various adaptors available. In the end, I went for this one because it was cheap and it looked like I could boot from it – some other adaptors have caused problems with this.

Installing the adaptor

Installing the adaptor is usually pretty easy. I don’t have detailed steps for your system, but I can show you how it worked on mine. The process varies depending on your case, but it’s usually as simple as taking the side panel off your case, removing a blanking plate, and then inserting and screwing the card in. Note that you’ll need to insert your NVME SSD into the card first.

Unscrewing the side-panel screw
Unscrewing the side-panel screw
The inside of the case
The inside of the case
The adaptor card inserted into my GPU cage
The adaptor card inserted into my GPU cage. Yes, it looks a bit ridiculous XD
The access lights on the back of the PC
The access lights on the back of the PC with the card installed

Booting from the NVME SSD

If you want to boot from the drive, you’ll probably now encounter another problem: when you power on, your system won’t “see” the drive as a boot device.

There are a number of solutions to this problem, but the safest one (and the one I chose), is to install Clover to a USB stick, and have the PC use that as a boot menu. With the right driver, Clover can then detect your new SSD and boot from it. This sounds a bit complicated, but it’s easy to set up. You also only need a small USB stick – an old 512 MB or 1 GB stick will be just fine.

EDIT: You can download an image I made to then write to your USB stick with no further steps from https://www.hamishmb.com/files/Downloads/misc/Clover.img.7z. You may need 7-zip on Windows to extract this.

Clover can be downloaded from https://github.com/CloverHackyColor/CloverBootloader/releases, and Refind can be downloaded from http://www.rodsbooks.com/refind/getting.html. You want the ISO or “USB flash drive image” option, which you can then write to the disk using a tool like GNOME Disks (Linux), Rufus (Windows), or Etcher (all OSes).

Once written to your USB stick, you’re almost done but first you need to download the NVME driver. You can search for “NvmExpressDxe.efi”, or you can download this one that I used, and have tested to work.

Once you’ve got your driver, navigate to your USB drive and place it in

EFI -> CLOVER -> drivers -> BIOS

and

EFI -> CLOVER -> drivers -> UEFI

These locations are similar for rEFInd if I recall correctly.

Now you can safely eject your USB stick and boot the new machine from it. You may need to select the USB stick as a boot device in the firmware setup, or it may just boot from it automatically. You’ll be presented with a boot menu, and you should now install your operating system. Your installation media will appear in Clover’s boot menu.

Installing the OS

This varies depending on your setup, whether you’re installing Linux or Windows, or whether you’re cloning an existing disk. As such, I won’t really cover this here, but as long as you start the installation media from Clover (especially if you’re installing Windows), it should all work as usual. Once installed, your OS will appear in Clover’s boot menu, where you can boot it.

Summary

This has been a slightly longer post, but I hope it is useful. The steps involved can take a while, but they are quite simple to follow. As always, if you need me to clarify anything, let me know in the comments.

That’s it for now, but stay tuned!

Tagged , , , . Bookmark the permalink.

About Hamish McIntyre-Bhatty

I'm a self-employed software developer working on Free Software projects, as well as studying for my degree with the Open University. Being pedantic when it comes to detail is fortunately useful for both of these things! A strong believer in free software, I have a few pay-for programs available under the GPLv3 and enjoy reporting bugs and helping to improve various open source projects, including volunteering at Wimborne Model Town to work on their river control system.

70 Responses to Booting from an NVME SSD on an older PC using Clover

  1. mark says:

    Hey Hamish,
    Thanks for the wonderful guide. I am currently stuck on the step of adding the .efi driver to the USB. Once I use Rufus to install the image of refind on my USB my windows 10 no longer recognizes the USB stick.

    I mounted the USB stick with MiniTool but it says I don’t have permission so I go to try and find the security tab but its missing.

    It seems like the refind image is corrupt but I double-check the download it seems fine. Do you have any guidance on how I could add the NVMe driver to the refind image?

    Thanks again,
    Mark

    • Hi Mark,

      I just tried this myself in Windows and I had the same issue. If I plug the USB stick into a Linux machine I can then access the files and folders inside, but Windows seems to try to prevent this.

      I think this can be resolved by either using the Windows Command Prompt, or using a Linux live disk. Are you comfortable with either of these options? If it comes to it, I could just upload an image of my USB stick that has the driver pre-installed.

  2. Mark says:

    Thanks for such a quick response! I have a basic understanding of Linux terminal. If you have an image of your USB stick that you can upload that would be amazing for me and it might also help other people that follow your guide in the future.

  3. Mark says:

    Thanks! I really appreciate all your help. This is perfect.

  4. Jon S says:

    Hello, Hamish;
    Great article, I like it, thanks, pal!
    Only 1 prob, I can’t find that “SupaGeek” adapter.
    Any ideas where I can find one?
    I’ll have to get it online because of where I live.
    Any advice greatly appreciated.

    • There’s an Amazon link in the blog post for it, but I imagine you can probably also buy it from other suppliers like Newegg.

      If you can’t get that particular adaptor where you live, there’s a good chance others will work too. Note that some people have had issues with Marvell ones I think, but that was a while back so they might all work fine now.

      Hope this helps.

  5. Michael says:

    Hi- the title and contents of this post suggest that you are using rEFInd, yet the file paths you give are for the Clover bootloader, and the .img file seems to only contain Clover bootloader-related files. Am I crazy, or does this not have anything to do with rEFInd?

  6. I think it’s worth bearing in mind that this is kind of old now. I downloaded from there, and this is what I got when I did, but the interface is different now. Either way, the method seems almost exactly the same for rEFInd

  7. R says:

    I have two motherboard from the 2014 era. Both seem to have BIOS/UEFI.
    (Asrock H77Pro4, MSI Z97 Gaming 7)

    I am attempting to boot them from x4 PCIE 3.0 slots with adapters, using 970 Samsung Evo’s.

    Should I download the nvme driver you have here, or the driver from the 970 product download page? (That one was an .exe, not an .efi)

    Also what’s your take on this method: https://linustechtips.com/topic/592133-howto-get-nvme-support-on-older-motherboards/

    It’s a different method, but he mentioned downloading both “nvme modules” and “SAMSUNG_M2_DXE module required to boot from XP941 / SM951 (AHCI) devices.” — Is that required for this method?

    • In order:

      #1 (which driver to use):

      I assume you’d want both, because the drive on the 970 product page, if an EXE file, will be a Windows driver. You’ll also need an EFI firmware driver (like the one here) to boot from that drive on a 2014 system (probably – I haven’t checked your exact motherboard).

      #2 (my opinion on the other article):

      Okay, from what I can tell, the other guide you’ve linked to is about flashing the new drivers on to the firmware so you don’t need a USB stick to boot. However, this carries inherent risks in that, if anything goes wrong your system may be rendered unrecoverable. If you flash corrupted or incompatible firmware, it may not be possible to re-flash with good firmware as the system might not boot again after that.

      Doing it the USB stick way doesn’t modify your firmware and is thus much less risky.

      #3 (what is the other driver for):

      I haven’t looked in detail at that driver, but seeing as it has AHCI in the name, I assume it must be for SATA-based M.2 drives as opposed to NVME/PCI Express ones like the 970. You probably don’t need the second (AHCI) driver, but including it should not be a problem.

      Hope this helps. Please note that I won’t take any responsibility for you damaging your drives or your motherboard if you flash modified firmware or lose data from following my guide (I did this with a clean SSD, and wouldn’t recommend without a backup on a drive that has already been in use).

      Hamish

  8. Mihai says:

    Hello Hamish,
    Good work with this tutorial. Some practical ideas:
    1. Your “Refind.img.7z” have an “NvmExpressDxe.efi” in EFI>CLOVER>drivers>UEFI – and work fine for UEFI boot;
    2. ONLY Intel 8X chipsets (Haswell) or newer support NVMe.
    Personally I used a Q85 MB with [email protected] gen. 2 PCIe slot.
    3. I prepared Refind-CLOVER stick using “Rufus-3.9p”.
    4. I prepared USB UEFI W10 kit using “Media creation tool”
    5. I instaled W10/64 UEFI directly from USB, first pass.
    6. After restart I used “Refind” USB to continue installation.
    7. My working ideea – use old SATA HDD from booting: Convert to GPT, create a FAT16, 122MiB partiton at the beginning, copy Refind here, set “boot+esd” flags, boot from HDD without any USB stick!
    Mihai

  9. A says:

    Hello again. What are your thoughts on using Clover instead of Refind? They seem to do the same thing, I also found a tutorial for clover than was almost the same as yours:

    Similar tutorial #1: https://www.tachytelic.net/2020/10/dell-poweredge-install-boot-pci-nvme/?amp=1

    Similar tutorial #2: https://www.win-raid.com/t2375f50-Guide-NVMe-boot-without-modding-your-UEFI-BIOS-Clover-EFI-bootloader-method.html

    • Both those tutorials look pretty solid as well, although one is for a server – the process may be slightly different.

      Clover also used to be used for Hackintosh stuff, but it’s more generally useful as a boot manager, as in this case.

      Both should work, although I’ve not used Refind for this process.

  10. A says:

    Thanks for the fast reply. One other thing.

    Although I have your pre-made image as a backup…I have been trying to create my own custom image file using the tools you recommended.

    The problem I am encountering is that once I create the bootable usb, I have no idea how to edit the files inside. (To add nvme driver, and to replace the theme with something more modern).

    In windows, the usb disappears from explorer. And on a Linux virtual machine I could view it but cannot add files to the usb.

    I’ll use your premade image file in the meantime, but I would love to add a new theme to it. Just can’t figure out how to make changes to any of these image files.

    • Ah yes, I remember this issue on Windows. For some reason Windows doesn’t recognise the file system. I forget why, but the easier solution is to use Linux.

      On Linux, you can’t add files as easily as usual because they are owned by the super user, IIRC. You may need to start your file manager as root/superuser with a command like:

      sudo -H

      Where is the name of your file manager. Probably one of “nautilus”, “nemo”, “pcmanfm”, “caja”, but depends on your distribution.

      Hope this helps,
      Hamish

  11. E says:

    Just wanted to say thank you very much for this guide. The Refind.img.7z worked like a charm.

  12. Mihai says:

    Almost all documentations link NVMe support with Intel Haswell 8X chipset – in reality is linked with UEFI version – I don’t remember exact number…
    Personally I used Refind (with UEFI driver and Puppy icon) – multiboot from SATA HDD (first disk, UEFI boot) .
    1. Win10 is full installed on NVME (Patriot 256GB M2 SSD with no name PCIe adapter) – 2nd disk.
    2. UEFI Frugal Bionic Puppy Linux is installed on SATA HDD (2nd partiton) (very useful for GParted and to write /modify Refind/Clover/Boot ). Both disks in GPT format.
    Clover is smarter and more complicated, is possible to boot from MBR and older boards… I don’t have one.

  13. Mihai says:

    Thank you for information.
    BTW I’ve tried Clover too. It works fine. My conclusion:
    If the old motherboard have a fast processor and an empty PCIe slot X4, X8 or X16, is OK to “move” Win10 from SATA HDD (SSD) to NVMe (3X faster minimum) and use Clover to boot from the old drive. All work like a charm, Windows, games and other OS multiboot.

  14. Roger Latapie says:

    Hi Hamish.

    Thank you so much for such an informative post. I have cloned my Win 10 OS to an NVMe drive but my older computer can only see the drive as storage.
    I tried to go the easy route that you included in your post and tried to download your file:https://www.hamishmb.com/files/Downloads/misc/Refind.img.7z.

    The link is no longer on your site. Could you make this available again ?.

    Thanks again for the very helpful information.

  15. Roger Latapie says:

    Hi Hamish.

    I left a reply earlier but it seems to have been deleted.
    I followed your instruction for a Win 10 USB Clover boot disk, but no matter what I do I get no result.
    My motherboard is an ASUS A88X Pro with an AMD A10 780K Processor. I have installed a WD Black SN750 1TB.
    I downloaded your file:https://www.hamishmb.com/files/Downloads/misc/Clover.img.7z and followed your instruction, but not having any luck.
    PS: if you were to supply this setup on a USB disk for Win 10 I would gladly pay for it. I have spent all day today trying to create the USB boot drive to be able to boot the NVMe which I have cloned my Win 10 OS onto.
    When you have t waste that amount of time you have to consider it it is really worth the trouble.
    I would have loved to have got this to work. Do you have any suggestions that may help.

    Regards

    Roger

  16. M says:

    Thank you Hamish McIntyre-Bhatty!
    Not just because it works just fine, but because the helping attitude!

  17. Tony says:

    Hi Hamish yes please the USB file is not available any more! Can you upload a new link for us? Its for my Elitedesk 800 G1 Mini PC! Thank you!!

  18. Mark in Michigan says:

    Hi Hamish,

    I’m glad to have found your post on the subject – I’m trying to do the same thing as you and avoid buying a new motherboard. I downloaded your latest Clover image from the link on 7/21/21 and installed it on my USB drive. From your original instructions it seemed like you said that if the image was copied to the USB drive then no further edits/downloads would be needed, correct.

    When I boot to the USB drive it just says “An operating system wasn’t found…” and doesn’t appear to really access the Clover boot process on the drive. Any quick ideas about what I may be missing?

    Many thanks!

  19. Gautham says:

    My motherboard is intel dh61ww. it has 1 pcix16 ,1pcix1 and 1 pci slot. Is there any way i can run both graphics card and nvme ssd??

  20. Steve says:

    Hi can we move the clover efi to the ssd drive so as not to need a usb stick ?

  21. Jochem says:

    You can get a PCI-e Riser V009s
    to connect the graphics card. The nvme ssd to pcie adapter goes in x16 slot.

    The riser in the 1x slot (they also use these risers for bitcoin mining)

    The gpu card will not be used to its fullest but I used this setup for a non gui webserver.

  22. Sorin Nicu says:

    I have used your tutorial to install a NVME in my Dell Latitude T7610. The M.2 drive was seen in Windows but of course it would not boot from MoBo UEFI.
    I have cloned with Clonezilla my Windows 11 SSD to the M2 drive (both 1TB in size) and used Colver USB disc to boot.
    Then, because I had an extra SSD in my system, I made a small 400MB FAT32 partition on that SSD, copied all the stuff from Clover USB stick there and… I could choose to boot from it inside the UEFI, as Clover!
    Bad part is that Secure Boot doesn’t seem to “work” with Clover.
    in Windows Drive Manager I removed that drive letter to make it invisible.

    Thank you!

  23. purwa says:

    Thanks for this, after hours of struggling I’m able to use NVME on my older PC. in my case I have to press F3 at the Clover screen to show the OS I use in the NVME (POP_OS)

  24. peter j connell says:

    In case this doesnt appear where intended – RE USING A PCIE x1 adapter – I too am curious about this

    i see nvme specs listed as … pcie x2/x4, but never pcie x1?

    re slower speeds – yep – but even pcie 2 x1 is 500MB/s in theory & ~450MB/s? in practice – beats most sata & is way more efficient & better latency I heap – plus – who wants to invest in outmoded sata given a choice

    it seems likely most nvme would have no probs maxing out 450MB/s read & write

    so its important for many – using the 16 lane gpu slot for 1 lousy nvme isnt very attractive

  25. peter j connell says:

    Incidentally, I have some ~2014 era amd FM2+ mobos, which not only have 2x pcie 2 x1 slots, but they are native cpu linked slots/lanes – not chipset lanes… perfect if pcie x1 works for nvme – no extra chipset latency etc.

    • Hmm, well I don’t see why this couldn’t work if you got the right adaptor, but it also may be that NVME expects multiple PCIE lanes, I don’t know. Would definitely be useful if it could work in a x1 slot though.

  26. dimi says:

    I can’t copy the driver. There isn’t enough space on the destination folder. Is there a guide to build the iso?

    • Hi there,

      What OS are you using? Ideally, if you use unetbootin or rufus to write the ISO to USB you shouldn’t have a problem. Or you can just download the version I prepared, and you wont need to copy it at all.

      Hope this helps,
      Hamish

  27. Mark in Michigan says:

    Hamish, I used your latest image file from September and it works great when booting up with a USB. Thank you!

    It got me thinking, I have various older SATA SSD drives and wouldn’t mind sacrificing one to perform the same Clover bootup role that the USB drive does. How might your files be used/copied to a free SSD drive to accomplish the same function?

    One reason for this is that the USB method is a little fragile, meaning that if my kids leave their USB headphones or another thumb drive plugged in then it often stops the computer from booting up and I have to be there to troubleshoot.

    • Hello Mark,

      I’m glad it worked for you 🙂

      I think you should be able to use exactly the same process as you did for the USB drive, and it should “just work” I think.

      On a side note, it’s really interesting that USB headphones can be enough to disrupt the PC booting from USB. Sometimes firmware is really quirky huh?

      Hope this helps,
      Hamish

  28. XionicFire says:

    Hi, I downloaded the USB from your link, booted fine I select the USB drive with the windows install and all I get is a blank screen, I’ve tried all options on the bootloader and all just go black, anything I might be missing? Other posts about hackingtosh say this might be an issue with Nvidia cards not sure of that would be the case here, any help would be apreciated

    • Hello,

      Hmm, this is interesting. What version of Windows are you attempting to install? Also, are you booting in EFI/UEFI or BIOS mode?

      Please note this isn’t a hackintosh-related post, and I don’t approve of or recommend hackintoshes. From what I understand, using an Nvidia card shouldn’t be a problem as long as Windows is compatible with the card.

  29. Dennis Smith says:

    Dear sir,
    I have Linux loaded on a M2 and in adapter in PCIe slot. When clover boot screen comes up, I see see a picture of a hard drive and Boot Linux from Whole Disk Boot. The hard drive is highlighted and I push enter and the screen flashes and nothing happens.The Linux drive will work from a USB M2 holder.Appreciate any help, Dennis

  30. Dennis Smith says:

    Hello Hamish,
    It is a Asus Z87-A. The Linux version is Manjaro Xfce 64bit with a Twister for PC loaded on top[Twister is used on Pi4]. And I have tried rEFind and did the same thing. Any further help would much appreciated, Dennis

    • Hello Dennis,

      Interesting, but I’m not sure what the problem might be. How long are you waiting for something to happen?

      This does look to be an older motherboard so I kind of wonder if it might be an EFI 1.x system – that often causes issues.

      Hamish

  31. Morbius says:

    I have been following this interesting conversation here.

    For information, I have successfully installed Linux Mint, Kali Linux, Windows 10 and Windows 11 on a non bootable NVMe M.2 SSD in a legacy 2009 BIOS (non UEFI) system using Clover.

    I have written a short description here :

    https://github.com/CloverHackyColor/CloverBootloader/discussions/491

    Let me know if you think I can help anyone here…
    ———-

    • Sounds interesting. The system I used for this post was an EFI system, so I’m interested to hear how different it is. If you write a blog post or similar on it, let me know and I’ll be happy to link to it 🙂

  32. evans says:

    Hi Hamish,

    My Dell T7610 Windows 10 pro 64 bit does not detect the Nvme after writing your image on USB from the link given.

    https://www.hamishmb.com/files/Downloads/misc/Clover.img.7z.

    Pls help me with how should I proceed further.

    • Hi there,

      What error or symptom do you have? Does the Windows installer tell you that no drives are detected? Please note that you will probably need to boot the Windows installer from Clover as well for it to know that the PC can boot from that drive, and offer to install on it.

  33. Evans says:

    how do i get nvme proper driver from ?
    I have pm981a Nvme Samsung1tb

  34. Jakes says:

    Hi

    I have follwed all your steps and I managed to get it working, however, I tried to install windows 11 on my PC (HP Elitedesk 800 G1 SFF) and it completely messed up everything. Now I cannot boot to anything from clover and neither normally. It wont boot at all. I’ve received the error message 0c000000e. Please can you assist? Im lost now and I have no idea to fix it. I’ve tried to reinstall clover onto another usb, tried to boot it but to no avail.

    • Hmm, that’s unfortunate.

      I’ve never tried this with Windows 11, and given Windows 11 is meant to require newer systems, this might just be a bad idea all around for Windows 11. I no longer have the system I used for this tutorial so I can’t try this myself.

      Clearing your CMOS setting by removing the coin cell battery might get you booted back into Clover. I would recommend you restore from a backup, that’s probably the easiest way to get this sorted.

  35. Jon Nish says:

    p6x58d-e mother board with nvme adapter and adapter to use, 5oo gb, is it worth running clover to boot from pci-e?

    • It really depends on your use case. If you’re otherwise booting from an old-fashioned HDD, I would say yes.

      However, I’d recommend rEFInd really for this job, especially these days. I’m going to make a new tutorial to replace this one with rEFInd soon, as that is a better tool.

  36. Bharat Mandhyan says:

    Subsequently how to remove the clover stick and use the NVME with the old HDD.

  37. Popyacap says:

    Not anyone’s guide works. No matter what I try I cannot get Clover to post. Forget about drives or anything, I cannot get it to post Clover on the screen. Not one guide have I found in days of searching explains absolutely how to do this. One guide did work but I only got a post on a much more recent machine. This old machine would have a black screen with a prompt in the very upper left corner.

    Simply put I am trying to boot an nvme off a old pc from about 2010. No UEFI at all, only legacy bios. The img you shared does not work according to mobalivecd. I used rufus.

    All I am trying to get at this point is “Clover” to be displayed on the screen after the BIOS.

    Motherboard: ep45 ud3p gigabyte
    CPU: q9550

    BIOS settings should be fine as I installed win 10 on this machine using usb. Assume nothing.

    Can you offer any assistance? How precisely do I make the boot USB? Exactly, every step how, please.

    Thanks for any time helping me.

  38. Popyacap says:

    rEFInd apparently only works on newer efi systems and will not work on bios.

Leave a Reply

Your email address will not be published.