Last year I went through quite the ordeal migrating Windows 10 to an SSD smaller than my old hard drive. This may not be the best way, but the following are the steps that contributed to the successful migration (as opposed to all the missteps that made this process far longer and more painful than it needed to be). I’m addressing my future self when I attempt something like this again.
Backup data. First of all, make sure you’ve backed up what matters to you. In 2015 I was paying for CrashPlan‘s cloud backup, so that was my solution there. It certainly wouldn’t hurt to use Clonezilla to create an image of your drive before you start doing surgery, but I didn’t, because I like to live dangerously.
Create live USB drives (all three).
Bottom line: you cannot transfer more data than your target SSD can hold.
Remove low-hanging fruit. I was already in the habit of using WinDirStat to find the biggest space hogs. I love the information-rich visualization. Remember to run with administrative rights so that all the system files will be analyzed, instead of just showing up as “Unknown” and scaring you.
The easiest targets for me were games that sucked up a lot of space storing data that I can just download again from Steam or Blizzard. Because I’ve been burned before, I used GameSave Manager to backup my game progress before uninstalling.
Let cloud data stay in the cloud. Since Dropbox and Google Drive already have all their data in the cloud, I used selective syncing to stop syncing pretty much all folders.
Cut deep with care. Since I was desperate for space, I went a little crazy. I turned off System Protection for my drive (in the Properties for the drive). I turned off Indexing (and did it in such a way that I’m still struggling to get it working again, so . . . not recommended). I tried to compress the entire drive (also in the Properties for the drive). And in the end I completely disabled paging and swap (run: systempropertiesperformance), although that was more to make it through the next step.
Suck It In
Defragment/Optimize. So, even after you can theoretically fit, you’ve got to get all your bits packed at the beginning so that you can safely lop off the extra disk space for the move. I tried a product that claimed it could do the move without this step, but to no avail.
If you remove/disable everything I mentioned above, you probably just need to run the defragmenter (“Optimizer”) via the Properties of your drive, Tools tab, Optimize button.
Verify and investigate with Disk Management and Event Viewer. You can check to see if you’ve done it by running Disk Management (run: diskmgmt.msc) and selecting the Shrink option for the partition. I couldn’t actually shrink this way, but the reported new size told me whether I had done enough to fit.
When I was nowhere near small enough, I was able to open the Event Viewer (run: eventvwr.msc), go to the Application log, and filter for event ID “259”. This event would let me know what unmovable file was getting in my way.
Resize the source partition and create target partitions. I ran GParted via a live USB (the first of three needed). I shrank my source partition in no time. I also set up the target partitions on the SSD.
Here’s where I learned something (over many hours): I needed to copy over the 100MB “System” partition too. No joy without this, for whatever reason. Nobody told me.
Transplant and Recover
Create backup images where practical. Running Clonezilla from the second live USB was a little scary, but not a problem. I created images of the System partition and also HP’s restore partition (for Windows 7), just in case.
Copy the partitions via Clonezilla.
Run Startup Repair. I disconnected my source hard drive before booting with the Window’s recovery drive to perform startup repair. When I finally did this with the “System” partition in place, all was well.
Double check, then wipe old partitions. Once successfully booting, I shut down, reconnected the hard drive, and used GParted again to wipe the old partitions and create a new one.
Undo your temporary measures. With all as it should be, I closed my computer case, booted, and began undoing my drastic actions (as space became available) of disabling paging and swap, compressing the drive, disabling system protection, and disabling indexing.
Move libraries off the SSD. Find your various libraries (such as Documents, Downloads, Pictures, etc.), right click on one, choose Properties, then on the Location tab click on the Move… button. You can then choose to move the folder to reside on the old hard drive.
Move cloud-synced folders off the SSD. While Dropbox lets you move the folder through the Preferences (Account tab), Google Drive requires you to disconnect and reconnect your account in order to choose a new location. Each cloud-syncing service will have their own way.
Install fat programs to the hard drive. So far, the programs I’ve reinstalled have been happy enough to be told to install somewhere other than the default location.