Windows – Cannot boot Windows 8.1 after migrating to Samsung SSD using supplied software

bootpartitioningssdwindows 8

I got a brand new Samsung 840 SSD. It came with "Data Migration" software from Samsung.
I am running Windows 8.1.

Here are my steps exactly:

  • Installed new SSD into secondary bay (Disk 0: HDD, Disk 1: SSD).
  • Used the supplied software to migrate partitions C:\ and D:\ (the tool did not list any hidden OEM recovery or UEFI partitions) to the new SSD.
  • Shut down the computer.
  • Swapped the positions of the drives (Disk 0: now SSD, Disk 1: old HDD).
  • Booted up.

After this, Windows booted up, however according to Disk Manager, it booted from Disk 1 (the old HDD). I don't understand why, since I swapped the drives and did not change BIOS settings.

So now, I tried to fix:

  • Rebooted to BIOS/UEFI
  • Changed boot priority to Disk 0 (the SSD)… again I don't understand how BIOS decided to automatically change it to Disk 1 (now the HDD) considering there was no Disk 1 before.
  • Booted to Windows.

It now boots up correctly, but still from Disk 1 (the HDD). Next:

  • Removed HDD from the bay (Disk 0: SSD, Disk 1: nothing).
  • Verified in BIOS that boot priority was Disk 0 only (disabled all other boot options).

Windows kind of booted up to login screen (without wallpaper, and with a black screen after login. I can move the mouse, and even bring up the Ctrl+Alt+Del screen that lets me log out, but that's pretty much it. Even the power button in the UI does not work.

So what am I doing wrong?
I want to move the OS to the new SSD, and continue to have the old HDD as a data drive (I will remove the old OS partition from the HDD once I get the SSD working)

Best Answer

Remove the hard drive before booting into the SSD for the first time

  • The problem you experienced is caused by the Windows installation on the SSD continuing to reference the old hard drive. As a result, Windows incorrectly assigns a drive letter that is not C: to the SSD. Because the system assumes that key system files are in C:, several core components stop working, rendering the system unusable with the behavior you experienced.

  • If you didn't swap the hard drive and SSD, and simply booted into the SSD, the system will work to a very limited extent: Explorer will crash repeatedly, and many features will not function. This is caused by a mismatch between the system volume (some drive other than C:) and the actual location of key OS files (which is still the hard drive C:). Even in this state, you cannot change the drive letter to C: in Disk Management as it will return "The parameter is incorrect."

  • To prevent this from happening, you need to remove the hard drive before booting into the SSD for the first time. When you do this, the system will realize that there are no other storage devices and correctly assign the SSD C:. Once this is done, you are free to install the HDD back into the system.

  • If you fail to remove the hard drive first, you need to boot into the Windows installation on the hard drive and repeat the data migration operation, then try again and remove the hard drive to boot into the SSD.

After booting into the SSD for the first time, the Windows Recovery Environment needs to be reenabled

  • WinRE provides vital system recovery features, such as the ability to restore from a system image or perform automatic startup repair. These features will not work after migration and must be enabled manually. To do so, run the command reagentc /enable in an elevated command prompt.

Wipe the partition table on the old hard drive

  • Windows can get confused by the presence of UEFI and recovery partitions on the old drive. This can cause certain volume-level operations such as system image backups to fail.

  • To fix this issue, erase the partition table on the hard drive. To do this under Windows, run DiskPart in an elevated command prompt, select the hard drive, and run clean. Be 100% sure you've selected the old hard drive; running this on the wrong drive will likely result in data loss.

  • Alternatively, you can boot into a Linux live CD and run dd if=/dev/zero of=/dev/<old-disk> as root, then hit Ctrl+C to stop it after a few seconds have elapsed. Once again, make double-sure you've selected the old hard drive—you may want to disconnect the SSD to avoid the risk. You can then reinitialize the drive in Disk Manager and partition and format it as appropriate.

If Hyper-V was enabled, you need to disable and reenable it

  • Because of changes to the Boot Configuration Data (BCD), Hyper-V will not work if previously enabled as the hypervisor layer will not load. You need to disable Hyper-V Platform under Hyper-V in Control Panel>Programs and Features>Turn Windows features on or off, reboot the machine, then enable it and reboot again.
Related Question