The other day my MacBook Pro (13-inch, Mid 2012) presented a flashing question mark during startup and was unable to boot to the OS. According to Apple docs this means that your Mac can’t find its system software. You gotta love pretty but vague error messages.
Resetting the NVRAM and holding down the safe mode/verbose boot keys did nothing to help, so I opened up the Mac to see if dust might be causing problems. After a blow out with some compressed air I tried booting again, with no success.
After digging out my external USB 3.0 caddy, I swapped in the SSD and to my surprise the system booted. This ruled out my initial suspicion that the SSD had died.
I let Disk Utility do its stuff checking the disk and OS, but didn’t report any issues apart from some minor permissions errors, nothing big enough to stop the OS booting though.
My focus turned to the MacBook’s internal HDD SATA connector, which is just a flimsy piece of thin metal with some embedded contacts. Luckily I had another MacBook Pro (13-inch, Late 2011) on hand and both HDD connectors looked very similar, so I swapped in the donor connector, popped the SSD back in and to my relief the Mac booted as normal.
The local authorised Apple service centre wanted to charge over £100 + VAT for the replacement part and labour costs. Not wanting to get ripped off I ordered a replacement part off eBay for ~£25 inc postage. The SATA connector part number for my MacBook Pro (13-inch, Mid 2012) is: 821-1480-A, just search that on eBay.
After reading online I can see people run into this problem for different reasons. In this particular case it happened to be a physical hardware fault, and not a software fault as most people seem to encounter.
After close examination I noticed the old cable connector was shiny on the underneath near the screw holes. My guess is that the back of the connector slowly rubbed against the chassis over time (caused by movement/vibrations) and was now creating a short of some kind, stopping the SSD from functioning normally.