I mostly use Arch Linux, but I have an older Windows XP computer that recently has had some blocks go bad on the C drive that has the OS and a lot the program files and settings. The drive still boots, but VERY slowly and gives a lot of weird errors because of the bad blocks. I think the bad blocks are not affecting anything critical because once it eventually boots up, it works.
I would like to copy the contents of the drive off the deteriorating HD onto a new one, but am not sure of the procedure to do this and maintain the drive's bootability. What is a reliable process for making the transplant?