My existing Win 8 install is historically installed on a MBR dynamic disk (that's so I can soft mirror the data partition which is on the same disk). I just bought a new motherboard/new HDD, and I want to migrate my OS to the new EFI style boot on it.
This is what I tried:
- I connected both old and new HDDs to the new motherboard and booted the old one, to check it works. It boots fine and recognises the new HDD as "uninitialised", so no driver issues etc.
- I then set the new HDD as the boot device, and "clean installed" Win 8 onto the new HDD, to get the right EFI partitions set up and so on.
- Win 8 was now working in EFI mode on the new HDD and motherboard. The new disk was GPT/EFI structured, and everything was working fine. So the boot setup is correct.
- With the new HDD containing all the correct support partitions for EFI on the new motherboard, all that remains in theory is to transfer my existing win 8 system volume to the new disk, by overwriting the volume that holds Win 8 from the new install (ie new HDD's C drive). At worst I might have to change its GUID or and unplug the old HDD. BCD on the new HDD will then have a system volume in the same place it expects to find one, and will think that this volume is still the same one it expected to find for booting purposes. Image for Windows and Partition Minitool Server 8 both handle copying a system volume onto a GPT disk. No sweat expected, or at most a minor edit to BCD.
Unfortunately when I try doing this, I keep getting BCD errors I can't resolve and "system repair" can't fix. Standard CMD tools like bootrec/rebuildbcd don't seem to solve it either. As far as I know I hadn't modified the BCD store in any other way either. It's probably something simple, but I'm stuck.
What am I missing, and how do I get it working?