SSD’s are a very popular upgrade and offer a huge performance improvement.  But even though their prices have come down, they are still fairly expensive.  Many laptops and desktops come with a 1 TB mechanical drive, but the user may feel that a 500 GB SSD would be adequate.  So how do you shrink the partitions, transfer to the new drive, and repair Windows 8/10 after all of the changes?

First of all you’ll need a way to attach the new SSD to your computer.  If you had a desktop you may be able to connect it to an internal SATA port.  But if you are on a laptop or your desktop is full, just get a USB to SATA adapter.  Here is an example:

Next, download EaseUS Backup Free.

Connect your drive to the computer using the USB port, and install EaseUS.  Once installed, you can clone all of your partitions from your mechanical drive and transfer to the SSD.  EaseUS is smart enough to resize your partitions so they will fit on the new drive.  There is a check box for “optimize for SSD” that should also be checked.

Once the partitions are transferred, power off your computer and swap the drives.  Chances are that when you try to boot Windows, it won’t load.  But don’t worry, this can be fixed.

First of all, you must have installation media for your Windows 8 or 10.  If you don’t have it you can get the Microsoft Media Creation Tool and make a DVD or USB flash drive.

Start up your dilapidated computer with the USB or DVD Windows 8 recovery media in the system.  You want to get to the Advanced options screen so you can open the beloved command prompt.

When the computer boots off the recovery media, pick the Troubleshoot option

Windows 8 Advanced Startup Troubleshoot

Then choose Advanced Options

Windows 8 Advanced Options

and head on over to the Command Prompt.

Windows 8 Advanced options Command Prompt

The computer should reboot and then ask you for the account.  Click your account to continue.

Windows 8 Command Prompt Account

Then login to get started

Windows 8 Command Prompt Account Login

We’re going to use the built in partitioning tool called diskpart to confirm that:

  1. We have all the right partitions
  2. EFI partition is formatted correctly.

In the black screen that looks like a dark abyss, type:


and enter this command:

sel disk 0

Now that the first disk is selected we need to view all the partitions

list vol

Windows 8 diskpart

Verify that the EFI partition is using the FAT32 file system then select the volume and assign a drive letter to it.

Since i’m using Windows 8 from a VirtualBox image you won’t see the FAT32 partition on the screenshot above; but on yours you can select it by noting the Volume Number.

1. Assign the Drive Letter

Let’s say your EFI partition is on Volume 3, the next thing you would type is:

sel vol 3

Then assign an arbitrary drive letter to the parition.  Let’s use v.

assign letter=v:

You should see a message saying: DiskPart successfully assigned the drive letter or mount point.

Exit the diskpart tool by typing:


You should still be in the command prompt but outside of the DISKPART> prompt.

2. Repair the Boot Record

We need to repair the boot record.  We can pull that off like so:

cd /d v:\EFI\Microsoft\Boot\
bootrec /fixboot

The CD command tells the command line interpreter to change the directory to the volume label that has the EFI boot record.

Then the bootrec /fixboot command attempts to repair the selected volume.

Alright, still with me?

3. Rebuild the BCD store

Now we need to recreate the Boot Configuration Data (BCD) store, so let’s backup the existing store first


ren BCD BCD.old

Now that we backed it up, let’s recreate the BCD store:

bcdboot c:\Windows /l en-us /s v: /f ALL

BCDBoot is little tool that lets you manage the system partition files.  In plain english, this command says:

Hey Windows, I’m going to use C:\Windows as the source for copying all my boot-environment files and I’m going to use the English locale and select the volume letter that begins with v:

The /f ALL thingy updates all the BIOS settings.

Now remove the recovery media and reboot and you should be all set.