Preserving dual-boot on new motherboard

Soldato
Joined
28 Dec 2003
Posts
16,294
Hi,

I currently have a dual-boot system with two separate SSDs, each with a Win10 installation. Basically I use one for home and one for work.
These are managed via Windows own boot manager. When I start the machine, it boots from the first SSD (my home OS) and presents the big blue screen where I can select which OS I want to boot.
If I select the home OS then it just continues booting and I get the login screen within a few seconds. If I select the other, work OS, it reboots and then boots into the work OS.

Now, my question is, how can I migrate this to a new motherboard if I upgrade my system?

Ideally, I'd like to reinstall the home OS (as you should with a new mobo) and likely go Win11. That's no problem, I can wipe the first SSD and reinstall Win11 from scratch like normal.
The question then becomes, how do I add the second SSD with my work OS back into the system and enable the same dual-boot on the home OS so I can again boot into either?

I know that migrating an existing OS to a new platform isn't ideal but I'd really like to avoid reinstalling the work OS as it's a complete pain to get it all configured just right.

Any pointers appreciated.
 
Not convinced about that.

If I just transplant both SSDs then the chances that the device IDs will be the same as the old motherboard are remote so the boot manager wouldn't be able to find the second drive.

From some searching it looks like the best way is to just install the home OS SSD to start with, wipe it and install Win11, then add the work OS SSD in and use BCDBoot/BCDEdit to add it as a boot option. Can anyone confirm my thinking here?
 
Ok thanks will give it a go when the time comes.

Both OSes are bare-metal backed up daily to my server so if the worst happens I should be able to recover.
 
Holy thread resurrection Batman!

Ok so 14 months later this has become a reality as I'm building a new machine.

To recap, my current machine has two Windows 10 Pro OSes on it.
The first is installed on the "main" SSD that the BIOS boots from. This is my "default" OS and is my personal one.
The second is installed on a physically separate SSD and is my "secondary" OS which is my work one.

When I boot the machine, I get the blue menu asking me to choose which to boot. Defaults to the main home OS if I don't select anything in 10s.
If I choose the home OS, it just continues booting off the main SSD and the Windows login screen appears pretty quickly.
If I choose the secondary then it clearly does some jiggery pokery and then reboots, taking a bit longer to boot the secondary OS.

Now...

The new machine is being installed parallel and has a new "primary" SSD.
I have installed a fresh Windows 11 OS into this which is my new "personal" one. This is all working fine.

What I now need to do is move the "work" SSD from the old machine to the new one and then somehow re-instate the dual boot so Windows boot manager is aware of it and gives me the same start-up choice it does now.
Does anyone know how I can do this?

It seems the BCDBoot utility is intended for this purpose but I'm terrified of doing something wrong and screwing/losing my new personal OS as I've already got it all configured.
I'll likely get my bare metal backup of the new OS to my server up and running first just in case.

Any help/pointers appreciated.
 
To clarify:

New machine has fresh Win11 OS on a single SSD, no other drives currently installed.
I want to take an SSD from the old machine and put it in the new one, which has an existing Win10 install on it.
I then want to add this "other" OS to the boot manager/menu so it gives me the choice of which to boot each time.

From what I've managed to Google, it appears the simplest option is to used BCDBoot.
Once I've added, the "other" SSD, if I boot into the existing Win11 OS, then go to disk manager and assign a drive letter to the OS partition on the "other" SSD, in theory I can then just do "BCDBoot X:\Windows" (where X is the drive letter I used) and this will add the "other" OS to the boot manager.

I won't be in a position to try this until next weekend as I'm using this "other" OS for work this week in the current/old PC.
 
Last edited:
For the record, I've just sorted this and it was totally painless.
Steps I used are below, for anyone who finds this in the future. This is from a starting point of a single installed Windows OS.
  1. Add the physical drive containing the existing OS you want to dual boot
  2. Boot the current OS, go into Disk Management and assign a temporary drive letter to the partition with the secondary OS
  3. At an elevated command prompt, enter BCDBOOT X:\Windows /l en-GB (substitute X for the drive letter you used above, the /l option sets the locale as it'll default to en-US otherwise)
  4. Restart and you'll now be prompted which OS to boot, check both work.
  5. You can remove the temporary drive letter assigned above, unless you want to be able to access the secondary OS partition from within the original OS for some reason
After this you can use BCDEDIT to alter the descriptions, order, default and timeout.
 
Back
Top Bottom