Windows 10 inaccessible boot device after transfer to SSD

boothard drivessdwindowswindows 10

I'm trying to transfer Win10 installation from a HDD to a new SSD. I'm more or less following these two great howto's

That is, I've booted to winPE, then I've used XCOPY to copy boot, windows, users, program files, and such to the new disk, then I tried both bcdedit and bcdboot. However, in all cases, after booting from the SSD, win10 will bluescreen with the "inaccessible boot device" message.

Am I correct to assume windows gets through the initial boot (so BCD is okay) but then fails to load the kernel for some reason? Does anyone know how to debug or fix that?

I've tried things like auto-repair of the boot sequence via win10 recovery, but didn't help.

Not looking for "disk clone" (not enough space) and "clean install" (I know I can do that) answers, I'd like to try this way first.

Edit: Figured it out (see answer below). Why I did it this way? I wanted to learn. I find it more fun this way, rather than doing some backup-shuffle-shrink-dance. I didn't need to use the system right away and I had backups.

Best Answer

OK, I gave this whole thing a second go and - success! I'm not sure what I did wrong the first time but here's how I did it the second time:

  1. Created only one big partition on the new SSD, with MBR (not GPT) scheme
  2. I downloaded fastcopy to my winpe and used that instead of xcopy (mainly because of junctions): https://ipmsg.org/tools/fastcopy.html.en
  3. Removed BCD on the new disk, and used bcdboot instead of bcdedit to create a new boot config with the correct drives
  4. Finally, and this was one of the crucial steps, from winpe, I changed the drive assignments to make sure the new SSD is C: (via regediting HKLM\System\MountedDevices) in the new windows dir.

Then reboot and ta-dah! Running from SSD.

Related Question