I found myself in this situation on site about a month ago. I had upgraded (well okay maybe downgraded) a drive from SCSI to SATA and Windows would no longer boot. Normally in this situation I do a repair install but this time I was feeling adventurous and wanted to try something I had thought about doing a while back. Besides repair installs are never any good on servers and always end up causing more problems than they solve.
Basically what needs to be done is you need to boot up the new system disk on a computer that will boot with it plugged in as a non system drive. From here you simply export the appropriate driver files and associated registry entries (located at:
Also export any associated services located at:
You then import them into the SYSTEM hive of the non booting server (located at WindowsSystem32config). To do this load up regedit on the working server, goto File -> Load Hive and load up the SYSTEM mentioned previously. You will need to edit the .reg files you exported so that they point to the right place (where you have loaded the hive into regedit). Obviously the driver files also need to be put in the right place on the new drive also.
Now you are ready to boot off the new drive.