Understanding the process: Boot from USB > OS load from NVME.

Hello everyone, I am new to the forum so please pardon me if my thread ended up in the wrong place and forgive my ignorance if I use layman’s lingo. I am a sysadmin but I am not that deep into hardware.

First things first - my hardware. It’s an HP ProLiant DL360p Gen8 server with Intel C600 series chipset / Xeon E5-2650 / 128GB RAM.
It has 8 drive bays and a SAS backplane. I dedicated the whole backplane to virtual machine storage, so I needed a separate storage for my Hypervisor and Host OS (Hyper-V). The server does not have an M.2 interface onboard so my 128GB Intel 760p was connected via PCIe adapter from StarTech. As for the boot device, the server has 1xUSB and 1xSD Card onboard slots designated for boot. The server DOES NOT support UEFI. HP did not implement UEFI in their Generation 8 servers, so I am stuck with BIOS. In BIOS the storage controller is detected as “PCIe Unknown Storage Device 1” or something to this extent (let me know if you need exact wording).

Now to my case. I’ve read and watched a lot of threads and solutions. Some cover special cases, others are more universal. I’d like to present my case, since it has some differences and I feel that I’ve had some progress and I hope it’s something very small that I am missing.

Preamble: Someone on the internet reported that they got a similar server going by placing the System Reserved partition on the USB and OS partition on the NVMe and changing in BCD Edit proper Windows Loader destinations to proper OS Partition. No details so I don’t know if that’s all they needed to do.

1. So I have my NMVe connected (boot USB is not) and I plug in my Windows Server 2016 installation USB media.
2. Windows loads, greets me and presents me with 2 installation destinations: my NVMe drive and my other clean volume (the one from my separate RAID10 SAS backplane). Soo… no need to install NVMe drivers, hmm nice!
3. So I click the NMVe drive and get a message that boot from this drive will not be possible. That was expected. But let’s continue and see what happens. I click OK, Next and Windows installation begins.
4. The system restarts and during load gives me this message:



Hmm, interesting, how did it load the Boot Manager if I ignored the warning and chose NVMe as destination?

5. So I load the LiveCD with Partition Manager and wow, I see that the Windows installer has automatically put the System Reserved Partition (500MB) on my RAID volume (since it’s the only bootable volume, even though I didn’t choose that - I just clicked on NMVe and “Next”) and ONLY the OS was installed on the NVMe. Nice!
6. While still in the LiveCD I start another tool BCD Edit to confirm that the destinations are correct. They are, so I guess winload.exe fails because NMVe drive is not ‘visible’ to the system. Well, I can see the drive now - being booted into LiveCD, but that’s possibly because LiveCD has the drivers for it. Unlike the Boot Manager (my assumption).
7. So now I have the system reserved partition on the RAID volume and the OS on the NMVe. Boot Manager seems to load BUT winload.exe fails. So, in an attempt to proof the concept I do the following:
8. I insert the SD Card inside the server, load LiveCD again and CLONE the System Reserved partition from RAID onto the SD Card (effectively making SD Card bootable). Then I wipe the RAID volume clean (no more System Reserved here) and CLONE the OS partition from NVMe onto the RAID volume. Last thing I do: BCD Edit and adjust new destination for winload.exe pointing to the RAID Volume.
9. Reboot… BOOM!! Windows continues the install (Getting Devices Ready, etc, etc) and shortly I am running!!! Success! Well, technically nothing is achieved since the OS in loading from RAID not NVMe. But on the other side, I have proven that bootable SD Card is working and BCD points to the desired drive! So we got a working environment!
10. Now it’s a matter of figuring out why Boot Manager cannot load winload.exe from NVMe drive. Why is it invisible. Or… IS IT?? Maybe it’s something else that I’m not aware of?

So this is where I am stuck, trying to understand how all this works.

I wish it was something as simple as throwing the NVMe driver into the System Reserved partition and making it run at boot, but I am afraid that I am too optimistic. I couldn’t find much information describing how all this plethora of storage controllers on the market get somehow recognized during the boot time and why NVMe is not one of them.

A. Can anyone please explain what exactly is missing and necessary to add to the boot process so that the NVMe drive is detected?
B. To confirm that the NVMe drive is invisible indeed at that stage I was hoping to add some sort of command-line utility like diskpart to the Boot Manager, just like the default memtest is. So I can run diskpart right then and view all drives that the system sees. Is it possible?
C. If I’m not that far from success, can you please point out to the missing parts and guide me through the steps I need to perform to succeed, or at least show me the direction?

Big big big thanks to all community members and supporters of these project. You guys rock!

~Max

@make-it-easy :
Hello Max,
welcome to the Win-RAID Forum!

Since your HP mainboard obviously doesn’t support booting in UEFI mode and your Intel NVMe SSD doesn’t contain a LEGACY NVMe Option ROM, the Windows bootloader has to be located outside of the NVMe SSD.
Nevertheless it is possible to install the OS onto your NVMe SSD.
Before continuing your current tests I recommend to have a look into the start posts of >this< and >this< thread. There you can find 2 diffent ways how to install a modern Windows OS onto your NVMe SSD.

Good luck!
Dieter (alias Fernando)

Thank you very much Fernando for your reply!

I did try both options before posting but they failed for me.
Clover’s method fails at the very beginning displaying 6_ on the black screen (the underscore being the blinking cursor beside the number)
DUET/REFIND method fails too. I have tried the very first method “Booting the NVME drive from non-UEFI legacy board - DUET with optional REFIND - with USBSetup”. Boot fails at the very beginning too, displaying “Berrorart!” in red on the black screen.

I haven’t posted in the respective threads asking for further help because I didn’t know how far I was with my own progress.

If I were to attempt to move the Windows Bootloader to my internal SD Card, do you think this would be something doable for someone like me, no deep knowledge of hardware programming, but a good understanding of how computers work (sysadmin after all)? Am I close to resolution the last step being moving the Windows Bootloader, or I am just scratching the surface?
Any links to documentation and other threads explaining the process would be of much help. I’d rather learn. But if it’s very complex and not really worth it, I’ll just give another try with Clover and noInk.

Thanks!

Sorry for the flood, but I found this article:
https://mrlithium.blogspot.com/2015/12/h…egacy-bios.html

Reading it now. Will be reporting on my progress.

That was a mistake. You should have posted your report about your bad results into the related thread.
This would have been positive for all sides (for you, the guide author and other users, who are going to try the related method).