Some ways
If you are sure HD is working, it's likely because the chipset of you current MB isn't the same with the one on which the OS of this HD was originally installed.
The solutions:
1. Change MB
This is not practical.
2. Reinstalled the OS
You don't want to do this, right?
3. Use another HD to install OS on it and make your current HD as the slave.