If your motherboard does not support booting from a PCIe slot,
or if you’ve got one of those “nvme to pcie x1 adapter” and are surprised that it doesn’t work
Well, consider yourself lucky! (If your motherboard has UEFI that is). Since we can use a small workaround to chainload the bootloader(or)kernel on the pcie slot drive using a UEFI bootloader on another boot drive that’s supported (such as a sata hdd). Here’s how I did it using rEFInd on a sata hdd and booted into a pcie slot drive on a 3rd gen intel mobo
NOTICE: this post requires a bit of linux knowledge, since I don’t go deep on how exactly to do the things I’ve laid out here, I highly recommend the use of a good LLM alongside this article so that you can understand what’s written here, and hopefully don’t loose any data. Good luck!
Step 1: Make Sure the Pcie drive is recognised
boot from any old bootable usb (linux not windows), or an already installed os in another drive, and make sure the pcie drive is recognised - lsblk in linux, diskmgr in windows. If u can confirm that the drive is not recognised, it has to be fixed before proceeding
Step 2: Install refind on non-pcie drive
make sure to have another drive plugged into the motherboard like a SATA drive, and then boot into a linux usb/hdd (preferrably systemrescue linux), and install refind on the non pcie hard-drive (this only works for an gpt (not ChatGPT!!) formatted uefi install, you might have to reformat the hdd into gpt-mode or re-install any previous OS in uefi mode).
Step 3: Install an OS on the Nvme/PCIe Drive (if not already)
after making sure the pcie drive is recognised (step-1), make sure an OS is installed in the pcie drive if u plan on booting from it, as a GPT formatted UEFI install
That’s it!
Just make sure in your UEFI menu that refind bootloader is set to the first boot option, and refind should automatically find any OS’s on the pcie drive and let you boot to it!