OK, so my primary Hard Drive seems to be dying with a controller failure of some kind, as per my unhappy event log running up to a crash a few minutes ago. Additionally, the BIOS failed to detect the 1st HDD when I reset the computer (I had to completely cycle the power for it to reawaken).

To be fair, these crashes have been happening regularly for maybe two weeks now (and it seems to only be when playing games, for some reason) and the first instance of these errors is apparently two months ago (!). I've spent the last two weeks elimnating every other possible source of the problem (drivers have been rolled back / updated, SMART is fine, chkdisk fine, surface scans on the disk are fine, can't find any malware).

So, what I'd like to do is move my C: to my second hard drive and just boot from there, without removing any data on the second drive. So, I'm going to remove a 50GB partition on the 2nd drive that I no longer use and shrink another, leaving 100GB free at the end of the drive for C: to be copied in to (while it's much bigger at the moment, it is mostly free space and will fit in 100GB).

Roughly as per this diagram (so I don't have to spell out my entire drive config):

Getting the partitions adjusted and the data copied is, frankly, the easy part.

What I want to know is, exactly how would I get then Windows to boot from the copied data?
Ideally, without having to open up my case (it's a real pig to get it out of the desk, etc), I'll just be disabling the first drive in the BIOS and pointing it at the second.

Update

Disk 1 in the image above is, thanks to me paying around several months ago if I recall, a windows Dynamic disk so copying partitions has proved more taxing than expected. The plan (already half way done) is to shrink the C drive, then copy D to the end of that drive before rebuilding disk 1 as a Basic disc and copying both partitions back.

As you can see — because Disc Manager is telling you — the volume that you are transplanting is a combined system and boot volume. Therefore, you must ensure that after moving it, it is still a combined system and boot volume.

Moving a Poor Man's equivalent for a system volume.

Your volume is not a true system partition, but a Poor Man's equivalent. A true system partition is marked in the partition table with a special type code, and as long as it retains the same partition type it will be recognized as a system partition wherever it is transplanted. A Poor Man's system partition is detected by an unreliable heuristic, by contrast. You must ensure that after transplanting, and removal of the original hard disc unit, the heuristic still works. So the partition must be …

… a primary partition;

… on a non-"dynamic" disc;

… marked as an MS Data partition; and

… flagged as a "startable" (a.k.a. "active") partition.

Moving a boot volume.

Although the situation is different for old operating systems like OS/2 and the DOS family of operating systems, to a modern operating system like Windows NT 6.1 a boot volume isn't a boot volume by dint of anything in the partition table. It's the boot volume because the operating system loader was told it is the boot volume. That information ultimately comes from what's in the BCD database employed by Microsoft's Boot Manager.

The BCD database lives in one's system volume. Ironically, in this case, that is the very same volume that you are moving, which makes things harder then they would otherwise be. You must, after you have moved the boot volume, update the BCD database so that it records the new location, on the other disc unit, of the boot volume. You can either genericize the relevant BCD entry (in which case Microsoft's Boot Manager will simply assume the boot and system volumes to be coterminous) or explicitly write the new location into it.

First, I deleted the R partition at the end of Disk 0 and compressed the C down to about 100GB (I used an old bootable GParted Live CD I had lying about, which could move fixed system files). I then compressed D down to ~360GB. Then I copied D on to the end of Disk 0, after C.

This allowed me to wipe Disk 1 so it could be rebuilt as a normal "basic" disk. From here I simply cloned Disk 0 over Disk 1 and then disabled Disk 0 in the BIOS.

Everything now seems to be working now it's all based on Disk 1. At some point I'll get round to removing the defective disk from my case and replacing it.