Upgrading to a smaller SSD with more than one OS

Published on  • 📖 3 min. read Edit on GitHub

For the last two years, I've used an SSD in my 15" MacBook Pro with Retina Display, and for the last ten months or so, I've used a Samsung 840 Pro SSD for OS X in my Hackintosh. I've become quite accustomed to the speed and reliability of solid state drives. Last April, I tri-booted my Hackintosh and installed Windows 8.1 and Ubuntu 14.04. I had an extra 500 GB WD Scorpio Blue hard drive lying around, so I put the operating systems on there. Performance was pretty good, I have an Intel 4770K and NVIDIA GTX 760, so things move pretty quickly, but both operating systems crawled a little at boot and could be a bit slow at times. I decided that it was time for an upgrade.

The Upgrade

I purchased a Crucial MX100 256 GB SSD from Amazon and a few days later, I was all set to go. I also bought a USB 3 SATA docking station, which was really handy for the migration/upgrade. I couldn't just clone the HDD to the SSD because it the SSD was half the capacity, which meant this was going to be extra fun!


I decided to move Windows over first because I figured it'd be easier. I used this lifehacker guide as a rough guide. I started by opening up the disk manager and shrinking C:\ down from 250 GB to around 150 GB. As I have a somewhat limited experience with Windows, and I've never cloned partitions from Windows, I followed Lifehackers's suggestion and used EaseUS Todo Backup Free to clone the System Reserved and C:\ partitions. The cloning went without issue (although the interface on the software wasn't super great), and I was able to boot into it when it was done. Windows automatically repaired things on the first boot as I'm assuming it wanted to put its bootloader onto the MBR of the SSD. Windows even detected the SSD and enabled TRIM automatically.


I was having troubles with X after doing some updates to my Ubuntu install on the 500 GB HDD, so I booted into recovery and got a root shell and did a "quick" cp -pr on my /home partition to a flash drive. I also ran

sudo dpkg --get-selections | sed "s/.*deinstall//" | sed "s/install$//g" > ~/pkglist.txt

(props to this guide for the regex on dpkg --get-selections) to dump what packages I had installed. Then I copied that to the flash drive as well. I booted into the Ubunutu installer from a flash drive and went into the manual install section. I had 100 GB left on the SSD after cloning windows, so I partitioned 16 GB for /, 16 GB for swap (I have 16 GB of RAM, so I probably didn't need that much swap, but whatever), and the remaining 78 GB for /home. I then booted into Ubuntu and copied my home folder from the flash drive onto the SSD. I the rebooted and installed updates. I added back a few PPA's from my older install and then ran

sudo aptitude update && cat pkglist.txt | xargs sudo aptitude install -y

to get my packages back (again, props to the guide above). After a reboot and a bit of tweaking, I had everything back to how it was!

Notable Issues/Problems

Windows Update was broken after I cloned the partitions to the SSD. I searched and found an official Microsoft Windows Update troubleshooting piece of software that fixed things and after a reboot, it was working well.

When installing a mass group of packages with aptitude, I couldn't select "ok" for a text based installed for one particular package. After manually installing that, the rest of the packages installed without error.


Windows 8.1 boots up in 8 seconds from the beep of my motherboard to showing the desktop. I want to say that this is about three times faster than on the HDD. Ubuntu also boots up much quicker. I don't know the exact time, as I don't want to hide GRUB, but I believe it's also two to three times faster. I would have hoped that iTunes on Windows would have loaded much faster, but it still takes way too long to open. It is iTunes on Windows, so really, what can I expect. I boot to Chimera on my OS X SSD as my main bootloader, and unlike installing Windows and Ubuntu in April, it thankfully detected the operating systems right off the bat and with no issues.