How to migrate data between two hard drives?
Use CloneZilla!
Recently I decided to switch HDDs - currently my PC's OS (Win10) resided on 500GB drive, which is in a very good condition (despite it's age), but quite loud and slow. I decided to migrate all the data to a 1TB drive, and I've found a magnificient tool for this - the CloneZilla! It has quite a lot of features, for example disk-to-disk cloning, which I've used here, but also PXE boot and many industrial-grade features.
I've burned CloneZilla image onto mini DVD-RW (I love those old-shool media), hooked the new drive up, and following this guide I've successfully cloned the 500G disk to the 1T one. The beginner mode was very straightforward and did the job perfectly! The highlight of this process was the possibility for proportional partitioning of the new drive: while you can choose 1:1 cloning, you can scale your new partitions to new drive's size. That way, in my case, 100G partition became a 200G one (because new drive was 2x larger), and so on.
After a short while (I didn't have much data in there) I've booted up the OS on the new drive without any problems (of course had to select the new drive in BIOS, but that's normal) - but now I could enjoy more space and less noise!