0

I want to setup multiple Windows installations on separate hard drives/SSDs. I have an internal SATA dock on my system as well as an internal on-board NVMe SSD, so I can insert and remove SATA drives without opening the case.

When I boot from the Windows installer and put a Windows installation on a new SATA drive, the installer updates the bootloader files on my internal NVMe drive, making it a dual-boot configuration. If I later don't need the installation on the SATA drive, I have to manually remove it from the BCD store. Additionally, if I setup multiple installations, each one gets added to the multi-boot menu. Even worse, each install just gets the name "Windows 10", so it's way too easy to mix things up on a reboot.

What I want to do is instead install boot files onto the SATA drive(s) when I install Windows to them. I want to be able to select which disk to boot from in my UEFI boot select menu (the kind that pops up with F12/ESC/F7/etc. depending on motherboard). This way each Windows install is independent of any other.

I've seen recommendations that you should just remove any drives not connected to the newly installed OS, but this is inconvenient at best since my NVMe drive is on the motherboard, under the GPU, meaning a ton of work just to get in there and remove it just to setup another temporary/test Windows install on a SATA drive. I feel like there must be a way to instruct Windows Setup where it should place the boot files?

I've also tried to go into diskpart from within the Windows setup environment and offline the internal NVMe drive. When I do this, the partitions (system, MSR and OS) are created on the external SSD, but then the installation immediately errors out with error 0xc0000005.

I know that the end result is possible, because I tested in a VM by setting up an installation, then removing that disk from the VM, adding a new one and doing another installation, and then re-attaching the first disk. I'm able to use the UEFI boot menu to select which disk (and thus which Windows install) to boot.

TL;dr: How can you instruct Windows Setup where to install the bootloader, rather than simply having it look for and update an existing bootloader on an existing install?

(Before anyone suggests it, VMs are not an option for some of the tasks I'm doing, such as GPU or other native hardware tests that virtualization can't accomplish easily if at all.)

fdmillion
  • 1,349
  • 2
  • 18
  • 27

1 Answers1

1

You can't do that on Windows.

The only way is to disconnect the unnecessary drives during installation.

Depending on your motherboard, you may have an option in your UEFI setup which allows you to disable NVMe or SATA. This would have the same effect as unplugging the drive.

mashuptwice
  • 2,929
  • 2
  • 12
  • 25