I'm having a very similar issue that I think is related to this. My computer had a 128gb SSD that I'm trying to upgrade to a 240gb SSD. I've used Windows Home Server for backup and restore for years and never had an issue with it. Attempting to restore from WHS, I'm able to restore my primary C partition and the 100mb reserved system partition.
All of the data is there but when I boot with the new drive in the computer, I get "loading operating system... a disk read error occurred press ctrl+alt+del to restart" And that happens over and over again. I've restored 3-4 times now. I've plugged in the old SSD to the same cables, it works great. I plugged the new SSD into other cables, still works great. I think it's a problem with the boot configuration or a driver issue with the drive or something. I'm hoping someone a little more knowledgeable than me can push me in the right direction to resolve this.
With both drives plugged in, I can boot from my old drive and see the new drive just fine. It shows the reserved system partition and the OS partition on the new drive. The OS partition is not flagged as boot, though. And the reserved system partition is not flagged as system. These are two differences I see between the new drive and the old one. The problem is, I don't know how to change that. When I run through the automated repair steps (with just the new drive connected) it can see the OS partition. When I repair it, it tells me the repair was successful and it adds a second partition called recovery or something like that. When I reboot, I just continue to get the same error. I tried doing a repair on the second recovery partition that it created and it says that failed. The message is "boot configuration is corrupt."
And I've tried running bootrec with the 4 different switches. The middle 2 tell me they're successful. The first and last tell me no OS was found. But when booting to a command prompt, I can browse to both partitions, I can see all of the files there. I've run chkdsk /s /x /f (I think I remembered the switches correctly) as many have recommending. 0 bad sectors found, everything seems to be correct. But I can't get the darn thing to boot. And I've tried updating the BIOS as many have suggested. I even tried using the new drive to do a clean install of Windows but unfortunately I get the same behavior then too. It says it installs fine but when it reboots, I get the same error.
One thing of note is that when I do put in the old drive and the new one at the same time and boot from the old drive, it tells me it's detected a new drive and it says it is installing drivers. Both drives are SATA drives. I've plugged them into the same cable at different times. So I'm not sure why the OS thinks there's new hardware there that it needs to install drivers for. And I'm not sure if that's causing problems or what but given the comments on this thread, I thought it was worth calling out.
Any ideas from this group? I'd really appreciate any help or insight you can provide. Thanks!