1

edit

I gave it up, so the new Windows 10 is on my SATA 3 SSD, and the NVMe disk is a pure data disk.

However I have an interesting experience, which adds something the diagnostics. When I installed the Win 10 to the normal SATA 3 SSD, the BIOS also did not boot after the install required the restart, the freshly installed SATA SSD was no bootable. So I plugged out the NVMe, retried the Win 10 install, and saw, that Win 10 in the previous unsuccessful attempt created a "new style" (forgive my journeyman terminology) 100Mb boot partition on the SATA 3, which was not recognizable for my BIOS (I suppose). I've deleted all partitions again in this 2nd setup attempt, and now it created an 50MB System partition, which worked fine for my BIOS. So I suppose the "new style" partition which probably prevent my BIOS to boot. Bonus: Why Win 10 setup creates "new style" boot partition even a SATA 3 disk just because it sees an other NVMe disk in the system?

end edit

I have an existing Windows 10 installation, which boots from a SATA SSD; recently I installed a new NVMe SSD to my motherboard using a PCIe adapter card in my motherboard's [ASUSTEK P8H77-V LE] 3rd gen 16x PCIe slot.

  • When I start my existing Windows 10 from the older SATA SSD, Windows 10 sees the new NVMe SSD and it works with real NVMe speed [tested], so the hardware, the adapter card, and the new drive are working as expected

I tried to install Win 10, created with the official MS tool, to my new NVMe PCI adapter hosted drive, but after Win 10 setup's first phase reboots, UEFI stiil does not recognize it and the only boot option is the UEFI USB install drive (tried F8 boot menu and UEFI boot menu):

  • UEFI has been updated to the latest version [v1307 from 2014]
  • In BIOS in CSM setting enabled PCI Express boot, and set it UEFI.
  • Removed all other (SATA) SSD to make sure Win 10 setup will see only the new NVMe drive, and all partitions will created/updated there, not on other drives.
  • Win 10 setup sees the unformatted unpartitioned new NVMe PCI adapter hosted drive correctly, and installs Win 10, then asks for reboot.
  • When rebooting, the only bootable device BIOS see, is still just the UEFI pen drive.
  • If I remove the USB drive, I get UEFI error:
    UEFI settings do not fully support the boot device, press F1 and go to CSM settings and adjust them
    
    I tried to completely disable CSM, but it's not possible since my display adapter does not support UEFI, so I receive a UEFI error in this case, so CSM setting enabled PCI Express boot and set to UEFI
    • Why does the UEFI firmware have a PCIe boot option that I can set to UEFI, if it seems to not be supported?
  • If I retry Windows setup, I see that the previous installation attempt correctly partitioned and formatted the drive and that setup also recognizes it as a previous Windows install; two partitions reside in the new NVMe drive, an EFI and OS partition, with the latter housing the OS folder hierarchy

Am I trying to do something impossible, or just doing something wrong?

8
  • Why exactly do you say your BIOS doesn’t see the drive. You can edit your question to provide this critical information
    – Ramhound
    Commented Feb 4, 2021 at 22:55
  • Many thx, see my edit Commented Feb 5, 2021 at 10:48
  • if u boot with the old ssd, with the nwme connected u can transfer files into it?
    – DarkBeccio
    Commented Feb 5, 2021 at 11:57
  • Yes, it can be formatted, and fully functional, and as I wrote in OP, speed tested and works as full speed nvme Commented Feb 5, 2021 at 12:05
  • 1
    ok then i'm sorry i think this will never work, i keep it simple, PCIe can transfer data that's why files were moved from the bootable usb to the nvme. the problem is that u'r motherboard is too old and don't have either the bus architecture or the drives to read boot files from the disk.
    – DarkBeccio
    Commented Feb 5, 2021 at 12:30

3 Answers 3

2

Your UEFI firmware/BIOS does not contain a PCIe/NVME driver and so does not know how to 'read' the OS installed on your NVME drive to boot it. When you boot from some other device your Windows OS (which does contain a PCIe/NVME driver) knows how to 'talk' to the device and can see the system you've installed on it.

What you need to do is to either add a NVME driver to your UEFI firmware (if you can find one that is compatible) or install a small "jump boot" device + UEFI software. EG put a USB stick in the machine which has a UEFI partition (so that it will be recognized by your BIOS) with a load that contains the NVME driver. You boot to that device and it then reads your NVME card and transfers control to that.

People with Dell R720 servers have the same problem. see this post for a solution they found which may work for your device. https://www.tachytelic.net/2020/10/dell-poweredge-install-boot-pci-nvme/?linkId=120151914

1

Firstly, you didn't mention your NVMe partition style (GPT Or MBR).

Any disk that isn't initialized using a GPT scheme might not be visible in UEFI boot menu.

I assume that you didn't make any changes on that disk, and here are the right steps to initialize a new disk (SSD or NVMe or whatever):

1- Use a bootable partitioning software to initialize the disk into the GPT partition scheme, and if not available, you can use diskpart tool from Microsoft - if you're familiar with it - by pressing Shift + F10 from Windows setup to open the command prompt and type diskpart, but you should be really careful using that thing!

2- Start or resume Windows setup and you should see the NVMe as unpartitioned or Unallocated.

3- Choose that disk and click Next (don't format it or even create a partition because UEFI will handle that).

4- Continue with your setup.

6
  • I did not mention MBR vs GPT because at the time of writing I did not even know they exist. Meanwhile I realized, that my BIOS boot problem is probably not about the NVMe drive but the inability to boot from a GPT disk. I have an usb UEFI boot media, created by official Win 10 tool, I can boot from it. Windows setup creates this case GPT disk even on my SATA 3 SSD. After that my BIOS can not see it as bootable disk and does not offer it in the F8 boot menu, still just the plugged in UEFI usb media is in the boot menu. If I create an MBR on the very same SATA 3 SSD it works. Commented Feb 10, 2021 at 4:30
  • 1
    my BIOS can not see it as bootable disk and does not offer it in the F8 boot menu This is very normal, it won't show up in boot menu unless a valid UEFI code is installed on the partition table of the disk, so to accomplish this you have to perform the steps in my answer. Good luck. Commented Feb 10, 2021 at 12:10
  • Pleas read my last comment: Since then there IS a valid UEFI code which places by the Windows 10 setup on a GPT disk, tried both with SATA 3 disk and PCI NVMe disk. The BIOS can not offer neither case boot from there Commented Feb 10, 2021 at 13:15
  • You're missing a step, of course the BIOS won't offer you to boot from a disk that hasn't been initialized using GPT, so the first step is to boot from your UEFI USB and do exactly the steps in my answer, then at the first setup reboot you'll find the boot option appeared as Windows boot manager disk xx Commented Feb 10, 2021 at 21:55
  • When I run the Windows setup from an UEFI usb, and choose my upartitioned disk it did automatically exectly what you wrote in step 1). It created a valid GPT disk, with its EFI boot partition and a valid Windows system partition with Windows on it. I can confirm it by booting again from USB and using either Windows either 3rd party tool. BIOS still can not see and boot from that disk. Commented Feb 11, 2021 at 5:37
0

This is the sequence, same as a vhd install.

Start windows Setup from a REMOVABLE media source. do not run Setup from any hard disk.

When you are asked where to install do not select a drive yet.

Press the </F10/> key - a command prompt window will appear. Follow the steps below pressing the </Enter/> key after each step.

  1. Type 'diskpart'

  2. Type 'rescan'

  3. Type 'list disk'

  4. Type 'select disk </x/>' where '</x/>' is the disk mumber of the disk you want to use install Windows.

  5. Type 'clean'

NOTE: CLEAN reinitializes the drive table and ERASES all data. Backup up your important files first!

  1. Type 'rescan'

  2. Type 'exit'

  3. Type 'exit'

  4. You will return to Windows Setup. Click the or button

  5. On the drive selection screen, rescan then select your drive.

If the drive is visible, Windows Setup will load the drivers to UEFI during the file copy phase of installation.

If you don't see the drive, then you need to load a compatible hard disk driver.

If Setup sees the drive, but starts from the old drive, you need to change the default boot entry using msinfo or set boot menu timeout to at least 10 to choose at startup.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .