This also works for older OSes but if you have something like a server motherboard die and need to move the drives to dissimilar hardware it might save your bacon!

Also, these instructions are mostly plagiarized from from this post and this one. I’ve complied it here so I can find it easily the next time, and because the combination is what worked for the specific scenario above. Hope it helps you!

  1. Boot to a recovery command prompt. You can do this by booting from a current Windows 10 boot image -> Recover Your Computer -> Recovery Console. Similar from Windows XP or newer boot disks.
  2. From the command prompt, type regedit
  3. Navigate down to the HKEY_LOCAL_MACHINE key
  4. Go to the File menu and click “Load Hive”
  5. Navigate to C:\windows\system32\config\system (or other drive letter if your boot drive isn’t C:)
  6. Give the key a name like “Repair”
  7. This will add a “Repair” key under the HKLM key, expand it
  8. Expand the REPAIR\SYSTEM\CONTROL SET001\SERVICES\msahci branch
  9. Set the value of the DWORD “Start” to 0 (zero)
  10. Expand the REPAIR\SYSTEM\CONTROL SET001\SERVICES\pciide branch
  11. Set the value of the DWORD “Start” to 0 (zero)
  12. *If you are using RAID, also reset the start value to 0 in REPAIR\SYSTEM\CurrentControlSet\services\iaStorV

That’s it! Close the registry editor and restart your computer. Basically what you did is enable the default hard drive controller drivers so the OS can boot on the new motherboard/controller.