this is what I used to get Windows/Linux to "boot"
1. download NVMExpressDxe-64.efi file (NvmExpressDxe-64.efi download - Google Search
2. copy refind USB image to a USB (I did this on my Mac using the dd command). The rEFInd Boot Manager: Getting rEFInd
3. copy the NVME driver to the x64 folder in the USB stick
4. install OS as normal. In both Windows and Linux, I was able to install the OS into the NVMe drive.
5.configured the Intel bootloader to select the UEFI USB stick as the first selection
6. once the USB stick boots up, select the correct partition to boot. For Windows and Linux, there are several options that shows up. Just pick 1 until it boots correctly.
7. On my refind config (I have the stick somewhere and will attach my config later), I have configured refind:
- to auto-select the last partition I booted
- reduced the timeout to zero. This means that I cannot see the partition selection at all. If I am booting the OS for the first time, I only need to send some keyboard presses (in my case I was pressing the cursor keys) to refind so that it is forced to display the partition selection screen.
1. I have not tried the suggestion by Seyon since I haven't updated my bios to the latest. I didn't know there's an update.
2. when using refind, my boot partition for both Windows and Linux is located on the NVMe drive.