Add a boot-start driver to Windows
I've recently bought a new PCIe NVM SSD that I'd like too use as my system disk. I've cloned my existing SSD to it and expanded the partition but I'm unable to boot from it. After much Googling, this appears to be because my motherboard is old and doesn't support UEFI.
I've added the installation to the boot list on the old SSD. The plan is to keep the bootloader on a standard SATA drive then boot from the PCIe SSD.
I get an error saying it can't find winload.exe. I'm pretty sure this is because the Windows bootloader doesn't have the correct driver to access the new SSD.
So the question is, how do I install the driver into the Windows bootloader? It's installed and working fine under Windows but I need the driver to load before Windows does. It needs to be installed as a "boot-start" driver.
31 Answer
Windows boot manager is not using external drivers AFAIK.
If boot manager cannot access this drive then you cannot boot from it.
If you need a special driver to access the PCIe NVM SSD then you can access it only after Windows kernel loads its driver.
This means that Windows boot loader(winload.exe) (usually in \windows\system32 folder) and Windows kernel (also in \windows\system32) have to be placed elsewhere. But there is also the system registry which needs to be placed outside of that drive in question.
Also some boot time drivers have to placed outside of NVM SSD.
So many files which reside usually in \windows\system32 have to be moved (eventually copied) to another drive which is accessible by boot manager(bootmgr) and boot loader(winload.exe) and later kernel(ntoskrnl.exe).
Practically the system files will reside on another drive which is accessible at boot time.
Why not look for a solution by changing BIOS so NVM SSD is accessible as usual disk at boot?
1