My scenario

Move all data from old 500GB HDD HP 250 g3 notebook (year 2014) to the new SSD  disk WD 240GB. Important notice: there has been 400GB of unused space on the 500GB old HDD! So I need to copy only 100GB of files to 240GB SSD.

Problems

  • old HDD is bigger than new one
  • bad sectors on old HDD
  • need correct software to migrate and shrink big partitions to smaller sizes
AOMEI Partition Assistant - Bad corrupted HDD sector, on that all copy programs failed to transfer data

Hardware needed

  • another Notebook with Windows 10
  • at least one external USB BOX (in my case I needed USB 2.0 BOX from Kingston because USB 3.0 from ORICO disconnects disk when tried to copy from bad sector)
  • some external USB flash disk 1GB+ for Recovery boot
  • extra external USB flash disk for create Bootable disk if you use tools like EASYUS Disk Copy Pro
Kingston USB 2.0 external HDD box vs Orico USB 3.0
EASEUS Disk Copy Pro - Create Bootable Disk

Create USB Recovery Drive (optional)

  • if your computer could not boot, use another computer and create Recovery USB flash disk. You will need this later, if your new SSD will not boot
  • insert your empty external USB flash disk to your working computer with Windows 10
  • open start menu and type: "create recovery drive" and open app
  • uncheck "backup system files" and click next
  • select your empty USB flash disk - all data on this flash disk will be deleted!!
  • click next
  • when finished, you can use this flash drive and boot from it and repair you computer from CMD console
open start menu and type: "create recovery drive" and open app
select your empty USB flash disk - all data on this flash disk will be deleted!!

Copy all data from old HDD to new SSD disk

In my scenarion I need to use EASEUS Disk Copy Pro software, because I need to move data from bigger disk to smaller one (500GB HDD -> 240GB SSD).

If your old HDD have bad sectors try to use external USB 2.0 HDD Box

  • Create Bootable Disk with EaseUS Disk Copy Pro and run this tool from USB Flash disk
  • Insert old HDD to USB 2.0 External BOX
  • Insert new SDD into your notebook or in another external USB BOX
  • Copy all data to new SDD disk

Unable to boot from new SDD

Now you have new SDD disk with all your data from old HDD but your computer will end on blue screen, with error message, that your computer could not boot.

  • use your Windows Recovery Flash disk from optional step (not your Bootable disk from EaseUS Disk Copy Pro!!)
  • start computer enter into bios
  • in boot section disable secure boot!!
  • setup boot sequence to boot firstly from external USB (your Recovery USB disk). You can try to press Enter when computer starts and select F12 to select booting from. Some computers have F8.
  • boot from Recovery disk, select you keyboard type if you will be asked
  • select Troubleshoot and Command Prompt
Windows Recovery Troubleshoot 
Windows Recovery Command Prompt

Run Diskpart and check you disk layout

  • in the Command Prompt run diskpart
  • list disk
  • sel disk 0
  • list vol
  • // find FAT32 volume (e.g. number 3) and assing letter if not assigned
  • sel vol 5
  • assign letter=l:
  • list part
  • // find recovery partition number (e.g. 5) and write this part number on the paper
  • exit
diskpart

Repair path to your system Recovery

  • reagentc /info
  • reagentc /setreimage /path \?\GLOBALROOT\device\harddisk0\partition5\Recovery\WindowsRE /target C:\Windows
  • // where harddisk0 is my hdd index (in my example 0, harddisk1 ... in your? run diskpart again and list disk and check this)
  • // where partition5 is my part number from diskpart from Recovery partition
Windows Recovery partition - reagentc

Repair BCD boot table

Note: disk C is where is your main Windows folder located. disk L is your FAT32 drive that you assigned via diskpart via assign letter=l:

  • disconnect your Recovery Flash Disk! Otherwise boot will be corrupted via param ALL in next commands
  • bcdboot c:\Windows /s L: /f ALL
  • bootsect /nt60 ALL /force
  • bootrec /fixboot
  • bootrec /rebuildbcd

Done

Other resources for advanced users