How can I migrate my Windows 10 OS from an HDD to an SSD?

I, personally, don't own a windows machine to check the tool you linked out to know if it does drive migration.

That being said, there are free tools out there to do a drive migration. It shouldn't matter what kind of drive it is, HDD or SSD. You can use CloneZilla for that purpose.

Once the drive is cloned from one drive to the other, there is no need for any tools to make the new drive boot. All you would need to do is go to the BIOS or the UEFI of your computer and choose the main drive to boot from. After that, you should be good to go.


The previous answer didn't include all the bits I needed, so I'm contributing my own. I found that windows wasn't smart enough to just boot up after transferring to a smaller SSD (probably since I couldn`t simply do a sector-by-sector copy).

My situation:

  1. My parents bought themselves SSDs for christmas as an upgrade for their older PCs
  2. Their PCs both had 500GB system partitions with Windows 10 on them. The disks they were running on were using MBR boot style.
  3. I was tasked with seamlessly moving the windows install to the new 240GB SSD.
  4. Fortunately, they hadn't used much of the 500GB partitions.

My steps:

  1. First, shrinking the existing partitions. Using start->run->diskmgmt.msc, you have to repeatedly try to shrink the partition. You will likely have to turn off system restore and the pagefile/hibernation to avoid their otherwise-unmoveable files that are plopped physically in the middle of the partition. Just keep trying to shrink in diskmgmt.msc and going to event viewer to the details of the most recent "defrag" event to figure out what file is getting in the way of your shrinking mission. You are done once your source partition is <= the size of the destination SSD.
  2. In diskmgmt.msc, make sure to initialize your SSD to the appropriate boot style (MBR or GPT).
  3. In diskmgmt.msc, add matching partitions as found in your source disk. You don't have to format them, filling them with data comes later.
  4. Download clonezilla to a bootable USB using tuxboot.
  5. Download a windows 10 installer using the windows 10 installation media creation tool. You should now have two USB sticks, one loaded with clonezilla, one loaded with the win10 installer. You may be able to get away with just a win10 startup repair bootable USB for the windowsey USB stick, but I found it was easier to get the win10 installation media.
  6. Shut down PC.
  7. Fire up Clonezilla. Do a device-to-device, partition-to-partition copy for all the partitions you're attempting to move to the new device. If there was a 100MB system partition on the old device, you'll probably want to make sure to clone that one too.
  8. You now have your big disk and your SSD, and they should be identical.
  9. Shut down.

At this point, try to boot into windows off the SSD, because maybe you're luckier than I was. Most of the guides I found online, including the other answer, just assumed windows would be able to boot off the SSD at this point, but I found it never did, and the steps below were what I did to fix that. It would happily boot off the old drive, but never off the SSD. Or if it did boot off the SSD, it would boot by loading the boot record off the SSD which, being a copy of the original one, still says "yo, load the copy at c:\windows off the slow hard drive".

Assuming you're unlucky like me, here's what I had to do to make it work:

  1. Unplug your HDD, mainly to safeguard against hosing it while fiddling with boot settings. Boot into the win10 installer. Start up the 'repair my PC' toolkit and go to the command line.
  2. The key here is you need to make sure your BCD is being found correctly and contains the right data. Run bcdedit. If it can't find your BCD store, you need to use diskpart to make the partition that contains your BCD store "active". On my computers, this was a 100MB system partition that included the c:\boot directory.
  3. Edit your BCD store so that all the drive letters make sense in your new SSD world.
  4. That did the trick for me.

A checklist of issues that I had to battle through: * Make sure that typing bcdedit in the repair tools finds something. If it doesn't, you may need to adjust which partition is marked "active" on your disk in diskpart. * Make sure that all the drive letters in what bcdedit returned are appropriate. Use diskpart in the repair tools to adjust. * Make sure that the "active" partition in diskpart on each of your disks is the one that contains your fixed BCD store. * Make sure that the computer will boot even with the old HDD unplugged (it was very easy to clone windows and "boot" off the SSD, but then the thing would still just be loading from the old spinny-disk, which defeats the purpose)


Yes, your approach is correct... if you truly cloned your drive, sector-by-sector, setting default boot to SSD drive should do the job, however, if it's not a full clone, that migrates Partition IDs and flags, but only data on the partitions, then follow this instruction. You only need a windows 10 installation media:

Boot from your windows 10 installation media, and when you got to the setup page, press Shift+F10 to open cmd. Then type and run each command by pressing Enter.

diskpart
list volume
select volume X
active
exit

Where X is the number of your windows volume, you can determine it from the volume labels and/or size of the volumes shown by list volume command. After running all the commands, you make the windows partition bootable, but it doesn't necessarily mean you have the boot files. If you're not sure boot files are there or not, run:

bcdboot X:\Windows

and if it returns successful message, then you should be able to boot.


There is no problem with your migration. After finishing it, you can do the following:

  1. Disconnect the source hard drive, then start the computer from the SSD.
  2. Restart your computer and enter the BIOS to set boot order.

You’d better keep the SSD format same as the HDD. Say, if the old hard disk is MBR, we suggest that you can convert the new one to MBR (if the new one is GPT format). Just notice the last few words in their guide.