It still sounds like a disk interface operating mode issue.
If you could "re-arm" the drivers on the C: drive, it would
probably boot.
Basically, the methodology would be similar to this, only you'd
edit the registry on C:, with the copy of regedit on D: .
http://helpdeskgeek.com/windows-7/inaccessible_boot_device-windows-7-v
ista/
This article, gives the registry keys that control the drivers.
Setting the Start value to zero, "re-arms" the driver, so that
a change in BIOS disk operating mode can be resolved during boot.
http://www.ocztechnologyforum.com/forum/archive/index.php/t-57789.html
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\pciide\Start
<== 0
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci\Start
<== 0
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iaStorV\Start
<== 0
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iaStor\Start
<== 0
The first one there is for IDE mode. The second one for AHCI mode.
The third one re-arms the Intel Vista RAID driver. The fourth one
would be if you separately installed an Intel RAID driver. It uses
a different key.
Now, all you need, is instructions on editing the registry, while
running from another OS.
There is a Fixit here, but that only works if you're booted from C:,
and then it edits the registry on C: for you. Hardly a "big fix".
http://support.microsoft.com/kb/922976
This article shows how to edit a registry file on another partition.
Apparently, you use the "Load Hive" thing. But it would be a lot
easier to just change the BIOS setting, than take a chance with this.
At the very least, you'd back up copies of the registry files
on C:, so that if any of the edits go wrong, you can put the
original files back from D:.
http://4sysops.com/archives/regedit-as-offline-registry-editor/
Paul