Migrating Windows 10 To A New Hardrive

I am writing this mini-guide for my future reference and, as is so often the case, I’ve publicised in case somebody else may benefit. Over the years I’ve changed which hard drive my operating system (OS) resides on because I’ve typically upgraded the hard drive. Sometimes it’s been painful (and long-winded) but this recent occassion was smooth.

In fact, it’s often been so painful that I have foregone migrating the OS and just reinstalled Windows entirely. Although my Windows 10 install is 3 years old, I’ve kept it clutter free so it’s quite fresh so I decided to move it this time. It is best to read through this article once before undertaking the steps – it is primarily a reminder of steps for me and not a thorough step-by-step guide i.e. if you’re following it, some nerdiness (independent research) may be needed. The two main stages are:

  1. Clone the Windows partition
  2. Restart and Fix the Boot

Cloning the Windows Partition

Use the freely available (free for personal use only)software Macrium Reflect. The software is pretty intuitive if you are not phased by terms such as “partition” but there are plenty of guides to using Macrium Reflect either by the authors or third-parties. Essentially, choose the partition you want to clone (1) and then click on “Clone this disk…” (2), as illustrated below, to go through a wizard and clone the partition to the new drive.

My advice would be to remove additional hard drives that are not involved to minimise confusion (especially if they are all the same makes and sizes). Also, I had a few partitions on the original disc and only wanted the Windows parition copied across which meant I didn’t copy the boot parition (hence step 2 below). However, you may want to clone all the partitions across to the new disc (if it is equally-sized or larger).

Restart and Fix the Boot

The cloning process may cause some boot confusion if system identifiers were duplicated so it is best to remove the old drive. I suggest doing this, rather than simply wiping the old drive, in case the new disk does not work etc. On restarting the system, a boot error will be encountered because the new drive is does not have a boot partition (for UEFI boot rather than legacy).

I had a WIndows 10 Repair USB Drive available for the next step but you can always create one. If you need to creat one, perform this step first (i.e. before cloning your drive). I use an 8GB USB drive even though MS says at least 16GB is required in their guide. I think the guide at ubackup.com is more useful, with pics.

Ensure the repair USB is in the PC when it is restarted. You may need to tinker with BIOS settings to enable the PC to be booted from the USB or press a button (e.g. F12) during boot to choose the USB as a boot option. You will need to go via Advanced Options and Troubleshoot to get a DOS prompt in order to perform the next steps and create a boot partition.

Run diskpart, list the disks to select the correct disk and partition (in which the Windows installation resides) and shrink that partition by 1024MB:

shrink desired=1024

and then create an efi partition 260 MB big and formatted as FAT32:

create partition efi size=260
format quick fs=fat32

Exit diskpart and run the following command in the DOS prompt to recreate the necessary data in the boot partition:

bcdboot c:\windows

Restart the PC and Windows should now boot up. Further reading below.

Further Reading / Credits

Delia, 2022. How to Make Cloned Drive Bootable in Windows 11/10/8/7 (ubackup.com)

Anon, 2017. SOLUTION: “The requested system device cannot be found” on UEFI systems