So here's a weird issue: When you first turn on this desktop computer, it does not recognize that it has a hard drive in it. However, if you then press the reset button, or turn it off and back on quickly enough, the hard drive will be recognized. In all other aspects, the drive works perfectly, with a S.M.A.R.T test showing no errors. What could be the cause of this, and is there any way to fix it?
It could be that the BIOS is not waiting long enough for the hard drive to spin up before continuing to boot. Many BIOSes have an option for "hard drive spin up time" which can delay the boot process for a couple of seconds while the hard drive spins up.
If you can get into the BIOS then I would look for that option and see of you can extend the delay.
If this is a recent occurrence then it could be a sign that the hard drive motor is beginning to fail and can no longer spin up as quickly as it used to. This would be a bad indication as it may not be able to spin up at all soon.
This might be an effect of more power required than is available just when the disk spins up.
An already spinning disk (from an earlier start-up attempt) reduces the power requirement for that disk.
Check that the PSU has a good enough rating for the overall system.
One can also suspect the effect to be an indication of trouble with the PSU.