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?
 
since windows 10 update where other win7 boot partitions were corrupted , I'd be very cautious about potential corruption of a work partition .. I don't know what the solution is
robust backups obviously, but otherwise, I'd like devices with other boot partitions offline, somehow, via a script, when not being used.


HOWEVER : I am still looking for a dual boot option where win7 partitions can be made invisible to win10, since win10 updates have caused corruption on other partitions,
ideally I would haver two discs and physically switch betwen them, so complete isolation, but maybe, putting non-required partition off-line.?
 
Ideally, I'd like to reinstall the home OS (as you should with a new mobo) and likely go Win11.
Hasn't been the case for a while - Windows 10 and 11 have been excellent when moving between dissimilar hardware - I've done several Intel to AMD migrations without any issues

Just set it all up exactly the same and should work fine. No need for reinstalling, windows will sort itself out.

As above, but In the event that your dual boot isn't picked up, then likely the following will find it:
bootrec /ScanOs
bootrec /RebuildBcd
 
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.
 
In theory
Shouldn't be a problem
Have similar setup except I also have macrium PE in my boot menu too
So I can boot to macrium without needing to find my usb flash drive
Done it loads of times and it worked fine
Also had it not work though
Had it where even
Bootec / fixboot
Bootrec /fixmbr
Bootrec /scanos
Bootrec /rebuildbcd
All failed to fix the problem
The main thing is you have backups

Just changed to a x570 crosshair viii extreme from a Gigabyte x570 board
And it wasn't having any of it
In the end up I had to load a macrium image backup on one drive
Tried to add the other using bootrec commands
Didn't work
Tried adding it with easybcd Didn't work either
Fixed it by using cmd to copy the boot record from the one drive to the other
Then used msconfig to tell it which drive was default
To boot from

Hopefully you won't have any issues though
Just pointing out it can fail sometimes even if it shouldn't
And backups and backups of those backups can save you definitely
And if you use macrium though not sure about free version
The bootable PE actually has a great fixboot tool
Doesn't work 100% of the times I tried
But has been more successful over the years than the
Windows bootrec commands definitely

I do mess around with stuff I shouldn't
So may have more non bootable issues than most people do lol
 
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.
 
The cmd I used
When you first posted this
So long ago
Would do it
But somehow I seem to have forgotten
Where I stored it lol
Nothing unusual for me

Just to be sure I am following you
You want to replace 1 drive
And end up with 2?
Not add another and end up with 3?
 
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:
Another option
Both drives may have a boot record
On them
Could try boot up pc
Press the relevant F key for the motherboard
Pick the drive to boot from
Test that with both drives to see if they
Boot individually
Just means when you turn on pc
If you want to boot from other drive
You press f8 or f12 etc
And select it
Not really any more time taken
Since as you saw if you choose from the boot screen
The pc will restart to boot the other drive
It also removes the problem of having 2 drives
On one boot record in case of future drive swaps

That sounds reasonable
It's not the cmd I used
Though still can't remember mine lol
And turned the pc off now
Stored it somewhere but don't remember where
Definitely not good at organising stuff :cry:
 
Also
If you use macrium
The bootable usb it can make
Has a great boot fix tool on it
Just tell it drive a or b will be primary drive
It writes a new boot record for you with both drives on it
Works most times

Or yet another option
From a backup and restore point
Both drives having separate boot records
Works much better
No restore an image and mess up the dual boot again

Assuming both sata ssds
In the bios disable the primary one
Use windows install usb
Go to repair
And either try automatic repair on the second drive
Though doesn't usually work very well
Or use cmd and bootrec commands
To write a new boot record

Messed around with this for years
And separate boot records would be my choice
If possible

If they're m2 drives
Becomes a PITA as can't easily disable them
 
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.
 
thanks will save that for future use
think what i did
and think it gives 2 separate boot records
though my memory does suck lol
bootsect /nt60 1: /mbr
where 1 is replaced by the destination disk number
as shown in diskpart
 
Back
Top Bottom