It is not worth trying to restore a Windows partition using dd unless you restore it to *exactly* the same offset on the new drive. Even then it might not work. No amount of dicking around with bootrec fixmbr rebuildbcd etc. will solve this.

A fresh Windows install that complains that it is missing the "cd/dvd driver" actually means that there's a problem reading the DVD you've booted from. Do this by USB instead.

There's a cool piece of software called WinUSB that will create a Windows installation USB stick for you from inside Linux. You need to download the install media for this, but they're easy to find (and legally distributed).

Windows' partitioner isn't as aggressive as I'd feared, but it will overwrite grub and you need to go back in and use the chroot method to reinstall it.