As the title suggests, replacing the boot drive with SSD is
always a recommended approach for some times and becoming a norm these days
with new computers where you can get older SATA III (6 Gbps – gigabits per
second) drives or newer PCIe NVMe (32 GBps - gigabytes per second) drives. The devil’s
in the detail when the time comes to replace your old drive, whether to install
fresh operating system or clone the existing drive over to the new drive. There
are various routes to choose for successful upgrade depending on the support
from the SSD vendors’ tool or third party software. Although installing a new
OS usually provides better results, this may not always be the case if you have
plenty of software and files to transfer, leaving with the only choice to
clone.
Let’s dig in. It all started when I first considered
replacing my backup Windows laptop hard disk in 2013. Back then, the upgrade
was from 5400rpm 500GB HDD to 128GB SSD (Samsung 840 Pro) and I chose to
install new OS, moved data manually afterwards thus no cloning was involved. That
laptop was about 1 year old at the time of SSD replacement and I had enjoyed
the speed improvement.
Second time was when I upgraded 7200rpm 750GB HDD from my main
Windows laptop to 500GB SSD (Samsung 840 EVO @ USD 265) in 2014. This round I decided
to clone (rather migrate) since I have gathered sufficient technical know-how
to get myself out of a jam should things has gone sideways. Here, Samsung
Data Migration software did all the heavy lifting; especially the source was
obviously bigger than the target and the whole experience couldn’t be smoother
than that. Well, those were easier times compared to what’s about to follow.
From this point on, things can get little complicated due to
encryption; yes, all kinds full disk encryption like Microsoft BitLocker,
McAfee Drive Encryption, Symantec Endpoint Encryption (PGP), etc. Apparently,
most SSD vendor tools will not support encrypted drive (HDD or SSD). That is,
end of story? Luckily, there are some viable methods and they can be found on
the Internet with detailed procedure. AOMEI Partition
Assistant and EaseUS Partition
Master have the lead in this category and they will get you across half the
journey. This is true literally with limitations such as source must be smaller
than target and the target capacity will become the same as source. Wait, what?
The bigger target drive becomes same capacity as smaller source drive. It is a
bummer. Again, this is something SSD manufacturers’ tool can assist by removing
(unconfigure/unset) Over Provisioning to reclaim full capacity. As usual, Samsung
Magician software can save the day, if you use Samsung or Crucial Storage
Executive software for Crucial SSDs. It was 2015 and I was rocking a 256GB
SSD (Samsung 850 Pro @ USD 160) for encrypted drive.
Fast forward to 2019, it was time to go through hardware
refresh again and my main laptop was to get 1TB SSD (Crucial MX500) upgrade
from 500GB of 2014. Simple enough, EaseUS was used for migration and everything
was fine. This was accompanied by downstream upgrade wherever applicable and
256GB SSD was replaced with 500GB SSD and suddenly I had an available 256GB SSD
that could be used in the customized Linux server which is also a router. You might
have guessed; its boot drive was the 750GB HDD, repurposed from the main
laptop. I didn’t want to install new OS and transfer the data so the struggle
began.
Start with old HDD running on Linux. It was in UEFI mode,
had 3 partitions: EFI, root and swap and remember it’s a 750GB drive. As the
target had only 256GB and source was Linux, Samsung Data Migration software was
out of question. Next to go was EaseUS running off Windows and connected to
source Linux HDD and target SSD via USB3.0 external enclosures. EaseUS just
gave up showing Destination disk too small message despite its website claims
this method is a possible solution. Just by sheer luck, the actual data usage
on source disk was less than 100GB so it was the opportunity to take less
charted route with GParted. I
downloaded the GParted Live ISO and used Rufus
to create a bootable USB drive.
I started up the Linux server with GParted and let it map
all disks attached. After that, I reduced the root partition size to 200GB that
made the total formatted capacity of HDD to below 256GB of target SSD. Thing to
note here is GParted can take quite long time to resize the partitions. Once resize
operation completed, I was ready to give EaseUS another try for cloning and (un)surprisingly
it did not complain about the destination disk size, but not without another
scarier message that the cloned disk may not be bootable. Now what? As stubborn
as I could be, I proceeded the cloning and waited.
And it’s done. I connected the new drive to the server,
checked in BIOS that UEFI was detected successfully and continued with boot up
process… 10 seconds too long or I’d say ‘only 10 seconds’ I saw the login
screen instead of usual 40 to 60 seconds boot up. Everything works as it should
be and just faster. So what were the assumed advantages of doing this way, at
least to me?
- No need to install OS and apply updates
- All services and settings intact
- Avoid some mundane tasks like copying files (cp or rsync without messing up permissions), editing fstab to match new drive/partition UUIDs
- No need to reinstall GRUB to EFI partition
- Above all, I knew exactly what to expect if I followed usual way so I had to venture the new method
That’s it. Hope you have some ideas to try next time when
you get a newer bigger SSD. As I published this post, Samsung 860 EVO 4TB is
USD 580 on Amazon right now which is the lowest price since its launch.