Problem :
here’s my situation: I had an HDD with Windows 8 installed (UEFI mode). I bought a SSD and wanted to do a clean install of Windows, so I thought that disabling the HDD and leaving the SSD as the only drive when installing was the right procedure to install the boot manager on the SSD.
Unfortunately, after I plugged the HDD back in, the computer won’t boot unless I select from the BIOS directly the SSD as the boot device. I guess the problem is that I have two Windows Boot Managers on two separate drives and they conflict. How would I solve this problem (excluding a format of the HDD, because I need to access data on the old Windows partition and, ideally, I would like to be able to boot that partition)?
Solution :
Assuming you have both Windows installed to GPT style disks with UEFI boot.
I think you cannot use one boot manager to dual boot one Windows the UEFI way,
the other the BIOS way. Only 64-bit Windows 7/8 can boot UEFI way.
The easiest way would be to set your SSD as first disk in firmware.
Boot – you will get to new Windows installation.
In explorer see drive letter of other Windows (on HDD) assume it is H:
Open elevated(admin) command prompt (WinKey+X and select)
use following command:
bcdboot H:windows
After reboot you will have a dual-boot choice where Win on HDD will be default.
To change boot order you could use Visual BCD Editor (reorder the two loader entries by editing DisplayOrder element of {bootmgr}
Note 1: Ignore message that BCD has changed when Visual BCD starts.
Note 2: A loader for EFI has following path – “windowssystem32winload.EFI”
Note 3: Windows Boot manager for UEFI (and also other non-Windows OS boot managers) reside on a special partition called “EFI System Partition”(ESP) which is hidden and cannot be viewed in Explorer but can be listed using “dir” command after mapping system partition with “mountvol” command. The “system” BCD is also on ESP.